Interface SchemaNodeRelationships
-
Method Summary
Modifier and TypeMethodDescriptionReturns the explicit relationships defined by the associated node.getExplicitRelationships
(boolean includeMetadata) Returns the explicit relationships defined by the associated node.Returns the reverse relationships held by the associated node corresponding to a foreign key constraint, a selection link or an association link that targets a table in another dataset.Returns the reverse relationships held by the associated node corresponding to a foreign key constraint, a selection link or an association link that targets a table in the same dataset.getNode()
Returns the node holding these relationships.Returns the reverse relationships held by the associated node.
-
Method Details
-
getNode
SchemaNode getNode()Returns the node holding these relationships. -
getExplicitRelationships
Iterable<ExplicitRelationship> getExplicitRelationships()Returns the explicit relationships defined by the associated node.This method is equivalent to:
SchemaNodeRelationships.getExplicitRelationships(false);
-
getExplicitRelationships
Returns the explicit relationships defined by the associated node. An explicit relationship is either a foreign key constraint, a selection link or an association link. This method returns all the explicit relationships defined under this node if it is a group or a table node.Permissions resolution
Explicit relationships and their results are filtered according to the permissions defined for an end-user if this object has been retrieved using a specific session.
An explicit relationship is not visible by an end-user if one of the following conditions is verified:
- The dataset containing the field that defines the explicit relationship is not visible;
- The field that defines the explicit relationship is not visible;
- The target dataspace of the explicit relationship is not visible;
- The target dataset of the explicit relationship is not visible;
- The target table of the explicit relationship is not visible.
Important:
-
Properties
osd:defaultView=Hidden
andosd:category=hidden
defined on the nodes involved in the associated relationship are ignored during the resolution of the permissions. As a consequence, these properties must be handled, if needed, explicitly by the callers of this method. - In the context of an association by link table, the permissions defined on the link table are ignored. So an end-user can view the explicit relationship corresponding to an association even if not allowed to view the link table involved in the relationship. However, the permissions defined on the records of the link table are applied when computing the result of the explicit relationship corresponding to an association by link table. That is, an end-user will not be allowed to view the records in the target table of the association if he is not allowed to view the related records in the link table that are used to link the records of the source and target tables of the association.
- Since:
- 6.1
- See Also:
-
getReverseRelationships
Iterable<ReverseRelationship> getReverseRelationships()Returns the reverse relationships held by the associated node. This method returns all the reverse relationships held under this node if it is a group.Permissions resolution
Reverse relationships and their results are filtered according to the permissions defined for an end-user if this object has been retrieved using a specific session.
A reverse relationship is not visible by an end-user if one of the following condition is verified:
- The target dataspace of the corresponding explicit relationship is not visible;
- The target dataset of the corresponding explicit relationship is not visible;
- The target table of the corresponding explicit relationship is not visible.
- None of the datasets using the datamodel that contains the corresponding explicit relationship is visible.
- The field that defines the corresponding explicit relationship is not visible in any of the datasets using the datamodel containing this field.
Important:
-
Properties
osd:defaultView=Hidden
andosd:category=hidden
defined on the nodes involved in the associated relationship are ignored during the resolution of the permissions. As a consequence, these properties must be handled, if needed, explicitly by the callers of this method. - In the context of an association by link table, the permissions defined on the link table are ignored. So an end-user can view the reverse relationship corresponding to an association even if it is not allowed to view the link table involved in the relationship. However, the permissions defined on the records of the link table are applied when computing the referring records from a reverse relationship of an association by link table. That is, an end-user won't be allowed to view the records in the target table of the association if he not allowed to view the related records in the link tables that are used to link the records of the source and target tables of the association.
- Throws:
IllegalStateException
- if the associated node is a field.- See Also:
-
getIntraDatasetReverseRelationships
Iterable<ReverseRelationshipIntraDataset> getIntraDatasetReverseRelationships()Returns the reverse relationships held by the associated node corresponding to a foreign key constraint, a selection link or an association link that targets a table in the same dataset. This method returns all the intra-dataset reverse relationships held under this node if it is a group.Permissions resolution
Reverse relationships and their results are filtered according to the rules defined by the method
getReverseRelationships()
.- Throws:
IllegalStateException
- if the associated node is a field.- See Also:
-
getInterDatasetReverseRelationships
Iterable<ReverseRelationshipInterDataset> getInterDatasetReverseRelationships()Returns the reverse relationships held by the associated node corresponding to a foreign key constraint, a selection link or an association link that targets a table in another dataset. This method returns all the inter-dataset reverse relationships held under this node if it is a group.Permissions resolution
Reverse relationships and their results are filtered according to the rules defined by the method
getReverseRelationships()
.- Throws:
IllegalStateException
- if the associated node is a field.- See Also:
-