Interface SchemaNodeExplicitRelationship
- All Known Subinterfaces:
AssociationLink,AssociationLinkByLinkTable,AssociationLinkByTableRefInverse,AssociationLinkByXPathLink,SchemaFacetTableRef,SelectionLink
- Since:
- 5.7.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the properties defined in the data model (propertybreadcrumb) related to the breadcrumb displayed in the user interface.Returns 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.getTableNode(Adaptation aDataset) Returns the table node referred to by this link in the context of the specified dataset.booleanReturnstrueif this relationship is an association link.booleanReturnstrueif this relationship refers to a dataset that is not statically defined in the data model.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.IllegalArgumentException- 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, permissions are applied according to the specified session. As a consequence:
- the returned records will be filtered using the access rules on records if any;
- a
QueryPermissionExceptionwill be thrown on execution if at least one forbidden node is used in the request.
- Throws:
QueryPermissionException- if a Session is provided and at least one forbidden node is used in the request.- See Also:
-
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.Returns
nullif this link refers to a table in another dataset that is not statically defined in the data model. In this case the target table must be resolved in the context of a specific dataset.- See Also:
-
getTableNode
Returns the table node referred to by this link in the context of the specified dataset.- Throws:
IllegalArgumentException- if the specifiedAdaptationisnull.IllegalArgumentException- 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.- See Also:
-
isDynamic
boolean isDynamic()Returnstrueif this relationship refers to a dataset that is not statically defined in the data model. This kind of relationship can be added dynamically by a data model extension. -
getBreadcrumbProperties
SchemaNodeBreadcrumbProperties getBreadcrumbProperties()Returns the properties defined in the data model (propertybreadcrumb) related to the breadcrumb displayed in the user interface.- Since:
- 6.0
-