public interface SchemaNodeExplicitRelationship
getResult(Adaptation, Session)
Modifier and Type | Method and Description |
---|---|
HomeKey |
getContainerHome()
Returns the reference of the dataspace of this link,
if an external dataset in another dataspace is defined by the data model,
otherwise returns
null . |
AdaptationReference |
getContainerReference()
Returns the reference of the dataset of this link,
if an external dataset is defined in the data model,
otherwise returns
null . |
ExplicitRelationship |
getExplicitRelationship()
Returns the
ExplicitRelationship object
associated with this relationship. |
ExplicitRelationship |
getExplicitRelationship(Adaptation aDataset,
Session aSession)
Returns the
ExplicitRelationship object
associated with this relationship. |
SchemaNode |
getOwnerNode()
Returns the node in the data model
that defines the explicit relationship.
|
RequestResult |
getResult(Adaptation aRecord,
Session aSessionOrNull)
Returns the result of this relationship, in the context of
the specified record.
|
SchemaNode |
getTableNode()
Returns the table node referred to by this link.
|
boolean |
isAssociationLink()
Returns
true if this
relationship is an association link. |
boolean |
isSelectionLink()
Returns
true if this
relationship is a selection link. |
boolean |
isTableRefLink()
Returns
true if this
relationship is a foreign key constraint. |
boolean isTableRefLink()
true
if this
relationship is a foreign key constraint.SchemaFacetTableRef
boolean isAssociationLink()
true
if this
relationship is an association link.AssociationLink
boolean isSelectionLink()
true
if this
relationship is a selection link.SelectionLink
SchemaNode getOwnerNode()
ExplicitRelationship getExplicitRelationship(Adaptation aDataset, Session aSession)
ExplicitRelationship
object
associated with this relationship.
Permissions are resolved using this method. As a consequence,
this method returns null
if this relationship
cannot be viewed by the end-user associated with the given session and
in the context of the specified dataset.
See SchemaNodeRelationships.getExplicitRelationships()
for
more information about the resolution of the permissions.
IllegalArgumentException
- if the specified Adaptation
is null
.IllegalStateException
- if the specified Adaptation
is not a dataset.IllegalStateException
- if the specified Adaptation
has a severe error.IllegalStateException
- if the specified dataset is not
an instance of the data model containing this node.IllegalArgumentException
- if the specified Session
is null
.SchemaNodeRelationships.getExplicitRelationships()
ExplicitRelationship getExplicitRelationship()
ExplicitRelationship
object
associated with this relationship. Permissions are
not resolved using this method.RequestResult getResult(Adaptation aRecord, Session aSessionOrNull)
This method never returns null
,
even if it has no results in the context of the specified record.
Returned result does not contain duplicate records.
If a session is specified, then permission rules are applied on the resulting records. This means that records are not included in the result, either if they are themselves hidden or hidden through this relationship (for instance, the link is hidden). In the context of a foreign key constraint, records in the target table are not visible if:
AdaptationReference getContainerReference()
null
.HomeKey getContainerHome()
null
.SchemaNode getTableNode()
SchemaNode.isTableNode()