Package com.orchestranetworks.schema.relationships

# Interface ExplicitRelationship

All Superinterfaces:
  `Relationship`

public interface ExplicitRelationship extends Relationship
Represents an explicit relationship defined in a resolved data model. An explicit relationship is either a foreign key constraint, a selection link or an association link.

Since:
  5.7.1
See Also:
  - `SchemaNode.getRelationships(Adaptation, com.orchestranetworks.service.Session)`
  - `SchemaNodeRelationships.getExplicitRelationships()`
  - `SchemaNodeExplicitRelationship.getExplicitRelationship(Adaptation, com.orchestranetworks.service.Session)`
  - `SchemaNodeExplicitRelationship.getExplicitRelationship(Adaptation, com.orchestranetworks.service.Session)`
  - `SchemaNodeExplicitRelationship.getExplicitRelationship(Adaptation, com.orchestranetworks.service.Session)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SchemaNode`
  `getOwnerNode()`
  Returns the node that defines the foreign key constraint, the selection link or the association link.
  `RequestResult`
  `getResult(Adaptation aRecord)`
  Returns the result of the relationship, in the context of the specified record.
  `SchemaNodeExplicitRelationship`
  `getSchemaNodeExplicitRelationship()`
  Returns the foreign key constraint, the selection link or the association link associated with this explicit relationship.

  ### Methods inherited from interface com.orchestranetworks.schema.relationships.Relationship

  `isExplicit`

- ## Method Details

  - ### getOwnerNode

    SchemaNode getOwnerNode()
    Returns the node that defines the foreign key constraint, the selection link or the association link.

  - ### getResult

    RequestResult getResult(Adaptation aRecord) throws QueryPermissionException
    Returns the result of the relationship, in the context of the specified record. Permissions are applied on the resulting records if this relationship has been retrieved using a 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.

  - ### getSchemaNodeExplicitRelationship

    SchemaNodeExplicitRelationship getSchemaNodeExplicitRelationship()
    Returns the foreign key constraint, the selection link or the association link associated with this explicit relationship.
    See Also:
      - `SchemaFacetTableRef`
      - `AssociationLink`
      - `SelectionLink`