Package com.orchestranetworks.schema.businessObjects

# Interface Entity

All Superinterfaces:
  `ValidationReportItemSubject`, `ValueContext`

All Known Subinterfaces:
  `ChildEntity`, `MainEntity`

public interface Entity extends ValueContext, ValidationReportItemSubject
Provides a read-only access facade to a record of a business object.

Since:
  6.1.1
See Also:
  - `BusinessObjectModel`
  - `MainEntity`
  - `ChildEntity`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BusinessObjectModel`
  `getBusinessObjectModel()`
  Returns the business object model of this entity.
  `QueryResult<ChildEntity>`
  `getChildEntities(Path aPath)`
  Returns the child entities linked by the relationship defined by the node at the specified path.
  `QueryResult<ChildEntity>`
  `getChildEntities(SchemaNode aRelationshipNode)`
  Returns the child entities linked by the relationship defined by the specified node.
  `ChildEntity`
  `getChildEntity(Path aPath)`
  Returns the entities linked by the relationship defined by the node at the specified path.
  `ChildEntity`
  `getChildEntity(SchemaNode aRelationshipNode)`
  Returns the entity linked by the relationship defined by the specified node.
  `Adaptation`
  `getRecord()`
  Returns the record linked to this entity.
  `Session`
  `getSessionOrNull()`
  Returns the session used for creating this business object.

  ### Methods inherited from interface com.orchestranetworks.service.ValidationReportItemSubject

  `isDatasetOrRecordSubject, isTableSubject`

  ### Methods inherited from interface com.orchestranetworks.instance.ValueContext

  `getAdaptationInstance, getAdaptationTable, getHome, getNode, getNode, getValue, getValue, getValue`

- ## Method Details

  - ### getRecord

    Adaptation getRecord()
    Returns the record linked to this entity.

  - ### getBusinessObjectModel

    BusinessObjectModel getBusinessObjectModel()
    Returns the business object model of this entity.

  - ### getChildEntities

    QueryResult<ChildEntity> getChildEntities(SchemaNode aRelationshipNode)
    Returns the child entities linked by the relationship defined by the specified node.
    Throws:
      `IllegalArgumentException` - if the specified node does not exist.
      `IllegalArgumentException` - if the specified node is not associated to a direct child relationship of this entity.
    See Also:
      - `getChildEntities(Path)`
      - `getChildEntity(SchemaNode)`

  - ### getChildEntities

    QueryResult<ChildEntity> getChildEntities(Path aPath) throws PathAccessException
    Returns the child entities linked by the relationship defined by the node at the specified path.
    Throws:
      `PathAccessException` - if no node exist at the specified path.
      `IllegalArgumentException` - if the node targeted by the specified path does not define a `relationship`.
      `IllegalArgumentException` - if the node targeted by the specified path is not associated to a direct child relationship of this entity.
    See Also:
      - `getChildEntities(SchemaNode)`
      - `getChildEntity(Path)`

  - ### getChildEntity

    ChildEntity getChildEntity(SchemaNode aRelationshipNode)
    Returns the entity linked by the relationship defined by the specified node.
    Throws:
      `IllegalArgumentException` - if the specified node does not exist.
      `IllegalArgumentException` - if the specified node is not associated to a direct child relationship of this entity.
      `IllegalArgumentException` - if the related data model relationship is not an single valued relationship. That is, a record of the table that defines the relationship must refer to only one record in the target table of the relationship.

  - ### getChildEntity

    ChildEntity getChildEntity(Path aPath) throws PathAccessException
    Returns the entities linked by the relationship defined by the node at the specified path.
    Throws:
      `PathAccessException` - if no node exist at the specified path.
      `IllegalArgumentException` - if the node targeted by the specified path does not define a `relationship`.
      `IllegalArgumentException` - if the node targeted by the specified path is not associated to a direct child relationship of this entity.
      `IllegalArgumentException` - if the related data model relationship is not an single valued relationship. That is, a record of the table that defines the relationship must refer to only one record in the target table of the relationship.

  - ### getSessionOrNull

    Session getSessionOrNull()
    Returns the session used for creating this business object.