All Superinterfaces:
StateObject
All Known Implementing Classes:
AbstractFromClauseStateObject, AbstractModifyClauseStateObject, DeleteClauseStateObject, FromClauseStateObject, SimpleFromClauseStateObject, UpdateClauseStateObject

public interface DeclarationStateObject extends StateObject
This defines the declaration portion of a query, which is the FROM clause of a query.
Since:
2.4
Version:
2.5
See Also:
  • Method Details

    • declarations

      ListIterable<? extends VariableDeclarationStateObject> declarations()
      Returns the list of declarations declared in the declaration clause of the current query.
      Returns:
      The list of VariableDeclarationStateObject that define the domain of the query
    • findManagedType

      IManagedType findManagedType(StateObject stateObject)
      Returns the IManagedType for the given identification variable. If the declaration is for a subquery and there is no managed type associated with the identification then the search will traverse up the query hierarchy.
      SELECT e FROM Department d JOIN KEY(d.employees).addresses a
      In the above query, the managed type associated with the identification variable:
      • d is "Department"
      • a is "Address"
      Parameters:
      stateObject - The StateObject that should be an simple identification variable or an encapsulated identification variable with the identifier KEY or VALUE
      Returns:
      The IManagedType representing the domain object declared by the given identification variable
      See Also:
    • getManagedType

      IManagedType getManagedType(StateObject stateObject)
      Returns the IManagedType for the given identification variable. The search does not traverse up the query hierarchy if this declaration is for a subquery.
      SELECT e FROM Department d JOIN KEY(d.employees).addresses a
      In the above query, the managed type associated with the identification variable:
      • d is "Department"
      • a is "Address"
      Parameters:
      stateObject - The StateObject that should be an simple identification variable or an encapsulated identification variable with the identifier KEY or VALUE
      Returns:
      The IManagedType representing the domain object declared by the given identification variable
      See Also: