Interface PersistenceUnitUtil

  • All Superinterfaces:
    PersistenceUtil

    public interface PersistenceUnitUtil
    extends PersistenceUtil
    Utility interface between the application and the persistence provider managing the persistence unit.

    The methods of this interface should only be invoked on entity instances obtained from or managed by entity managers for this persistence unit or on new entity instances.

    Since:
    2.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <T> java.lang.Class<? extends T> getClass​(T entity)
      Return the concrete entity class if the given entity belonging to the persistence unit and to an open persistence context.
      java.lang.Object getIdentifier​(java.lang.Object entity)
      Return the id of the entity.
      java.lang.Object getVersion​(java.lang.Object entity)
      Return the version of the entity.
      boolean isInstance​(java.lang.Object entity, java.lang.Class<?> entityClass)
      Return true if the given entity belonging to the persistence unit and to an open persistence context is an instance of the given entity class, or false otherwise.
      <E> boolean isLoaded​(E entity, Attribute<? super E,​?> attribute)
      Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
      boolean isLoaded​(java.lang.Object entity)
      Determine the load state of an entity belonging to the persistence unit.
      boolean isLoaded​(java.lang.Object entity, java.lang.String attributeName)
      Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
      <E> void load​(E entity, Attribute<? super E,​?> attribute)
      Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context.
      void load​(java.lang.Object entity)
      Load the persistent state of an entity belonging to the persistence unit and to an open persistence context.
      void load​(java.lang.Object entity, java.lang.String attributeName)
      Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context.
    • Method Detail

      • isLoaded

        boolean isLoaded​(java.lang.Object entity,
                         java.lang.String attributeName)
        Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
        Specified by:
        isLoaded in interface PersistenceUtil
        Parameters:
        entity - entity instance containing the attribute
        attributeName - name of attribute whose load state is to be determined
        Returns:
        false if entity's state has not been loaded or if the attribute state has not been loaded, else true
      • isLoaded

        <E> boolean isLoaded​(E entity,
                             Attribute<? super E,​?> attribute)
        Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
        Parameters:
        entity - entity instance containing the attribute
        attribute - attribute whose load state is to be determined
        Returns:
        false if entity's state has not been loaded or if the attribute state has not been loaded, else true
        Since:
        3.2
      • isLoaded

        boolean isLoaded​(java.lang.Object entity)
        Determine the load state of an entity belonging to the persistence unit. This method can be used to determine the load state of an entity passed as a reference. An entity is considered loaded if all attributes for which FetchType.EAGER has been specified have been loaded.

        The isLoaded(Object, String) method should be used to determine the load state of an attribute. Not doing so might lead to unintended loading of state.

        Specified by:
        isLoaded in interface PersistenceUtil
        Parameters:
        entity - entity instance whose load state is to be determined
        Returns:
        false if the entity has not been loaded, else true
      • load

        void load​(java.lang.Object entity,
                  java.lang.String attributeName)
        Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context. After this method returns, isLoaded(Object,String) must return true with the given entity instance and attribute.
        Parameters:
        entity - entity instance
        attributeName - the name of the attribute to be loaded
        Throws:
        java.lang.IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
        PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
        Since:
        3.2
      • load

        <E> void load​(E entity,
                      Attribute<? super E,​?> attribute)
        Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context. After this method returns, isLoaded(Object,Attribute) must return true with the given entity instance and attribute.
        Parameters:
        entity - entity instance to be loaded
        attribute - the attribute to be loaded
        Throws:
        java.lang.IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
        PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
        Since:
        3.2
      • load

        void load​(java.lang.Object entity)
        Load the persistent state of an entity belonging to the persistence unit and to an open persistence context. After this method returns, isLoaded(Object) must return true with the given entity instance.
        Parameters:
        entity - entity instance to be loaded
        Throws:
        java.lang.IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
        PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
        Since:
        3.2
      • isInstance

        boolean isInstance​(java.lang.Object entity,
                           java.lang.Class<?> entityClass)
        Return true if the given entity belonging to the persistence unit and to an open persistence context is an instance of the given entity class, or false otherwise. This method may, but is not required to, load the given entity by side effect.
        Parameters:
        entity - entity instance
        entityClass - an entity class belonging to the persistence unit
        Throws:
        java.lang.IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit or if the given class is not an entity class belonging to the persistence unit
        PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
        Since:
        3.2
      • getClass

        <T> java.lang.Class<? extends T> getClass​(T entity)
        Return the concrete entity class if the given entity belonging to the persistence unit and to an open persistence context. This method may, but is not required to, load the given entity by side effect.
        Parameters:
        entity - entity instance
        Returns:
        an entity class belonging to the persistence unit
        Throws:
        java.lang.IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
        PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
        Since:
        3.2
      • getIdentifier

        java.lang.Object getIdentifier​(java.lang.Object entity)
        Return the id of the entity. A generated id is not guaranteed to be available until after the database insert has occurred. Returns null if the entity does not yet have an id.
        Parameters:
        entity - entity instance
        Returns:
        id of the entity
        Throws:
        java.lang.IllegalArgumentException - if the object is found not to be an entity
      • getVersion

        java.lang.Object getVersion​(java.lang.Object entity)
        Return the version of the entity. A generated version is not guaranteed to be available until after the database insert has occurred. Returns null if the entity does not yet have an id.
        Parameters:
        entity - entity instance
        Returns:
        id of the entity
        Throws:
        java.lang.IllegalArgumentException - if the object is found not to be an entity
        Since:
        3.2