java.lang.Object
org.eclipse.persistence.jpa.jpql.tools.resolver.Resolver
org.eclipse.persistence.jpa.jpql.tools.resolver.TreatResolver

public class TreatResolver extends Resolver
This Resolver resolves a path and casts it as another entity type.
Since:
2.3
Version:
2.5
  • Constructor Details

    • TreatResolver

      public TreatResolver(Resolver parent, String entityTypeName)
      Creates a new TreatResolver.
      Parameters:
      parent - The parent of this resolver, which is never null
      entityTypeName - The entity type name used to downcast the collection-valued field
  • Method Details

    • buildTypeDeclaration

      protected ITypeDeclaration buildTypeDeclaration()
      Description copied from class: Resolver
      Resolves the ITypeDeclaration of the property handled by this Resolver.
      Specified by:
      buildTypeDeclaration in class Resolver
      Returns:
      Either the ITypeDeclaration that was resolved by this Resolver or the ITypeDeclaration for IType.UNRESOLVABLE_TYPE if it could not be resolved
    • getEntityTypeName

      public String getEntityTypeName()
      Returns the entity type name used to downcast the path expression.
      Returns:
      The entity type name used to downcast the path expression
    • getManagedType

      public IManagedType getManagedType()
      Description copied from class: Resolver
      Returns the IManagedType associated with the field handled by this Resolver. If this Resolver does not handle a field that has a IManagedType, then null should be returned.

      For example: "SELECT e FROM Employee e", the Resolver for e would be returning the IManagedType for Employee.

      Overrides:
      getManagedType in class Resolver
      Returns:
      Either the IManagedType, if it could be resolved; null otherwise
    • setNullAllowed

      public void setNullAllowed(boolean nullAllowed)
      Description copied from class: Resolver
      Sets whether the Expression to be created, which wraps the attribute or query key name allows the target of the 1:1 relationship to be null if there is no corresponding relationship in the database.
      Overrides:
      setNullAllowed in class Resolver
      Parameters:
      nullAllowed - true to allow null if the corresponding relationship in the database does not exists; false otherwise
    • toString

      public String toString()
      Overrides:
      toString in class Object