Interface SchemaNodeExplicitRelationship
- All Known Subinterfaces:
AssociationLink,AssociationLinkByLinkTable,AssociationLinkByTableRefInverse,AssociationLinkByXPathLink,SchemaFacetTableRef,SelectionLink
- Since:
- 5.7.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the reference of the dataspace of this link, if an external dataset in another dataspace is defined by the data model, otherwise returnsnull.Returns the reference of the dataset of this link, if an external dataset is defined in the data model, otherwise returnsnull.Returns theExplicitRelationshipobject associated with this relationship.getExplicitRelationship(Adaptation aDataset, Session aSession) Returns theExplicitRelationshipobject associated with this relationship.Returns the node in the data model that defines the explicit relationship.getResult(Adaptation aRecord, Session aSessionOrNull) Returns the result of this relationship, in the context of the specified record.Returns the table node referred to by this link.booleanReturnstrueif this relationship is an association link.booleanReturnstrueif this relationship is a selection link.booleanReturnstrueif this relationship is a foreign key constraint.
-
Method Details
-
isTableRefLink
boolean isTableRefLink()Returnstrueif this relationship is a foreign key constraint.- See Also:
-
isAssociationLink
boolean isAssociationLink()Returnstrueif this relationship is an association link.- See Also:
-
isSelectionLink
boolean isSelectionLink()Returnstrueif this relationship is a selection link.- See Also:
-
getOwnerNode
SchemaNode getOwnerNode()Returns the node in the data model that defines the explicit relationship. -
getExplicitRelationship
Returns theExplicitRelationshipobject associated with this relationship.Permissions are resolved using this method. As a consequence, this method returns
nullif this relationship cannot be viewed by the end-user associated with the given session and in the context of the specified dataset. SeeSchemaNodeRelationships.getExplicitRelationships()for more information about the resolution of the permissions.- Throws:
IllegalArgumentException- if the specifiedAdaptationisnull.IllegalStateException- if the specifiedAdaptationis not a dataset.IllegalStateException- if the specifiedAdaptationhas a severe error.IllegalStateException- if the specified dataset is not an instance of the data model containing this node.IllegalArgumentException- if the specifiedSessionisnull.- See Also:
-
getExplicitRelationship
ExplicitRelationship getExplicitRelationship()Returns theExplicitRelationshipobject associated with this relationship. Permissions are not resolved using this method. -
getResult
Returns the result of this relationship, in the context of the specified record.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:
- The foreign key field is not visible.
- The target table of the foreign key constraint is not visible.
- In the context of an inverse foreign key constraint:
- The target table of the association is not visible.
- The foreign key field to the table that define the association is not visible.
- In the context of a link table:
- The link table of the association is not visible.
- The target table of the association is not visible.
- The foreign key field to source table in the link table is not visible.
- The foreign key field to target table in the link table is not visible.
- The records in the link table that link the records in the source and target tables are not visible.
- The fields involved in the selection link are not visible.
- The target table of the selection link is not visible.
-
In the context of a selection link, records in the target table
are not visible if:
-
getContainerReference
AdaptationReference getContainerReference()Returns the reference of the dataset of this link, if an external dataset is defined in the data model, otherwise returnsnull. -
getContainerHome
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 returnsnull. -
getTableNode
SchemaNode getTableNode()Returns the table node referred to by this link.- See Also:
-