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 theExplicitRelationship
object associated with this relationship.getExplicitRelationship
(Adaptation aDataset, Session aSession) Returns theExplicitRelationship
object 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.boolean
Returnstrue
if this relationship is an association link.boolean
Returnstrue
if this relationship refers to a dataset that is not statically defined in the data model.boolean
Returnstrue
if this relationship is a selection link.boolean
Returnstrue
if this relationship is a foreign key constraint.
-
Method Details
-
isTableRefLink
boolean isTableRefLink()Returnstrue
if this relationship is a foreign key constraint.- See Also:
-
isAssociationLink
boolean isAssociationLink()Returnstrue
if this relationship is an association link.- See Also:
-
isSelectionLink
boolean isSelectionLink()Returnstrue
if 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 theExplicitRelationship
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. SeeSchemaNodeRelationships.getExplicitRelationships()
for more information about the resolution of the permissions.- Throws:
IllegalArgumentException
- if the specifiedAdaptation
isnull
.IllegalArgumentException
- if the specifiedAdaptation
is not a dataset.IllegalStateException
- if the specifiedAdaptation
has a severe error.IllegalStateException
- if the specified dataset is not an instance of the data model containing this node.IllegalArgumentException
- if the specifiedSession
isnull
.- See Also:
-
getExplicitRelationship
ExplicitRelationship getExplicitRelationship()Returns theExplicitRelationship
object 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
QueryPermissionException
will 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
null
if 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 specifiedAdaptation
isnull
.IllegalArgumentException
- if the specifiedAdaptation
is not a dataset.IllegalStateException
- if the specifiedAdaptation
has a severe error.IllegalStateException
- if the specified dataset is not an instance of the data model containing this node.- See Also:
-
isDynamic
boolean isDynamic()Returnstrue
if 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
-