Module eclipselink

Interface DynamicEntity


  • public interface DynamicEntity
    DynamicEntity is the public interface for dealing with dynamic persistent objects.

    The purpose of dynamic persistent objects is to enable (simple) data access when only mapping information is available
    and no concrete Java model is present (specifically, no .class files .)

    Applications using DynamicEntity's can access the persistent state using property names which correspond
    to the mapped attributes in the underlying EclipseLink descriptors. For properties mapped to containers (Collection,
    Map, etc.), the property is retrieved then the resulting container can be manipulated.

         ...
         DynamicEntity de = ...; // retrieve from database
         Collection<String> myListOfGroups = de.<Collection<String>>get("myListOfGroups");
         if (!myListOfGroups.isEmpty()) {
            myListOfGroups.add("FabFour");
         }
     
    To discover meta-data about a DynamicEntity's properties, see the DynamicHelper class
    Author:
    dclarke, mnorman
    Since:
    EclipseLink 1.2
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <T> T get​(String propertyName)
      Return the persistence value for the given property as the specified type.
      boolean isSet​(String propertyName)
      Discover if a property has a persistent value
      DynamicEntity set​(String propertyName, Object value)
      Set the persistence value for the given property to the specified value
    • Method Detail

      • get

        <T> T get​(String propertyName)
           throws DynamicException
        Return the persistence value for the given property as the specified type. In the case of relationships, this call will populate lazy-loaded relationships
        Type Parameters:
        T - generic type of the property (if not provided, assume Object). If the property cannot be cast to the specific type, a DynamicExceptionwill be thrown.
        Parameters:
        propertyName - the name of a mapped property If the property cannot be found, a DynamicException will be thrown.
        Returns:
        persistent value or relationship container of the specified type
        Throws:
        DynamicException
      • set

        DynamicEntity set​(String propertyName,
                          Object value)
                   throws DynamicException
        Set the persistence value for the given property to the specified value
        Parameters:
        propertyName - the name of a mapped property If the property cannot be found, a DynamicException will be thrown.
        value - the specified object
        Returns:
        the same DynamicEntity instance
        Throws:
        DynamicException
      • isSet

        boolean isSet​(String propertyName)
               throws DynamicException
        Discover if a property has a persistent value
        Parameters:
        propertyName - the name of a mapped property If the property cannot be found, a DynamicException will be thrown.
        Returns:
        true if the property has been set
        Throws:
        DynamicException