Class DynamicHelper

java.lang.Object
org.eclipse.persistence.dynamic.DynamicHelper
Direct Known Subclasses:
JPADynamicHelper

public class DynamicHelper extends Object
A DynamicHelper provides some utility methods to simplify application development with dynamic types. Since the application does not have static references to the dynamic types it must use entity names. This helper provides simplified access to methods that would typically require the static classes.
Since:
EclipseLink 1.2
  • Field Details

  • Constructor Details

  • Method Details

    • getSession

      public DatabaseSession getSession()
    • getType

      public DynamicType getType(String typeName)
      Lookup the dynamic type for an alias. This is required to get the type for factory creation but can also be used to provide the application with access to the meta model (type and properties) allowing for dynamic use as well as optimized data value retrieval from an entity.
    • getType

      public static DynamicType getType(ClassDescriptor descriptor)
    • getType

      public static DynamicType getType(DynamicEntity entity) throws ClassCastException
      Provide access to the entity's type.
      Throws:
      ClassCastException - if entity is not an instance of DynamicEntityImpl
    • removeType

      public void removeType(String typeName)
      Remove a dynamic type from the system. This implementation assumes that the dynamic type has no relationships to it and that it is not involved in an inheritance relationship. If there are concurrent processes using this type when it is removed some exceptions may occur.
    • newDynamicEntity

      public DynamicEntity newDynamicEntity(String typeName)
    • newReadAllQuery

      public ReadAllQuery newReadAllQuery(String typeName)
      Helper method to simplify creating a native ReadAllQuery using the entity type name (descriptor alias)
    • newReadObjectQuery

      public ReadObjectQuery newReadObjectQuery(String typeName)
      Helper method to simplify creating a native ReadObjectQuery using the entity type name (descriptor alias)
    • newReportQuery

      public ReportQuery newReportQuery(String typeName, ExpressionBuilder builder)
      Helper method to simplify creating a native ReportQuery using the entity type name (descriptor alias)
    • getDynamicClassLoader

      public DynamicClassLoader getDynamicClassLoader()
    • addTypes

      public void addTypes(boolean createMissingTables, boolean generateFKConstraints, DynamicType... types)
      Add one or more EntityType instances to a session and optionally generate needed tables with or without FK constraints.