public interface SelectionLink extends SchemaNodeExplicitRelationship
osd:select
property).
Note: From version 5.5.0, it is recommended to use associations instead of selection nodes. Associations provide more features than selection nodes and no more evolutions will be made on selection nodes. The only characteristic on selection nodes that is not supported by associations is the way to display the selection of records as a link.
To optimize the validation process of this selection link, dependencies are automatically determined from its definition.
The following explicit dependencies are automatically defined:
Dependencies upon the insertion, deletion and modification of the
nodes specified by the XPath predicate or of the constraint predicate
defined by this selection link.
For example, if this selection link defines the predicate
author_id = ${../author_id}
, a dependency
on the left side, author_id
will be defined.
This dependency is one of the following types, where the argument SchemaNode
is
${../author_id}
:
DependenciesDefinitionContext.addDependencyToInsertDeleteAndModify(SchemaNode)
,DependenciesDefinitionContext.addDependencyToInsertDeleteAndModifyInOtherInstance(SchemaNode, AdaptationReference)
,DependenciesDefinitionContext.addDependencyToInsertDeleteAndModifyInOtherInstance(SchemaNode, AdaptationReference, HomeKey)
.${../author_id}
. For this, the dependency is the
same as: DependenciesDefinitionContext.addDependencyToModify(SchemaNode)
,
where SchemaNode
is ${../author_id}
.
This implies that the validation result of this selection link depends only upon updates of the nodes that have been specified by these explicit dependencies. The validation result will not be affected by any external events except for changes to the local value.
The dependencies of this selection link are set to Unknown if this selection link defines a predicate with nodes that are not in the target table.
Attention:
In EBX® user interface, this selection link is always called when user input is submitted.
Modifier and Type | Method and Description |
---|---|
AdaptationReference |
getContainerReference()
Returns the reference of the container dataset of this selection link,
if an external container is defined in the data model
(property
container ), otherwise returns null . |
RequestResult |
getSelectionResult(Adaptation aRecord)
Returns the result of the selection link, in the context of
the specified record.
|
SchemaNode |
getTableNode()
Returns the table node referred to by this selection link.
|
String |
getXPathString()
Returns the XPath expression defined in the selection link.
|
getBreadcrumbProperties, getContainerHome, getExplicitRelationship, getExplicitRelationship, getOwnerNode, getResult, isAssociationLink, isSelectionLink, isTableRefLink
String getXPathString()
RequestResult getSelectionResult(Adaptation aRecord)
AdaptationReference getContainerReference()
container
), otherwise returns null
.getContainerReference
in interface SchemaNodeExplicitRelationship
SchemaNode getTableNode()
getTableNode
in interface SchemaNodeExplicitRelationship
SchemaNode.isTableNode()