Class EntityResolver

java.lang.Object
org.apache.cayenne.map.EntityResolver
All Implemented Interfaces:
MappingNamespace

public class EntityResolver extends Object implements MappingNamespace
Represents a virtual shared namespace for zero or more DataMaps. Unlike DataMap, EntityResolver is intended to work as a runtime container of mapping. DataMaps can be added or removed dynamically at runtime.

EntityResolver is thread-safe.

Since:
1.1
  • Field Details

  • Constructor Details

    • EntityResolver

      public EntityResolver()
      Creates new empty EntityResolver.
    • EntityResolver

      public EntityResolver(Collection<DataMap> dataMaps)
      Creates new EntityResolver that indexes a collection of DataMaps.
  • Method Details

    • applyDBLayerDefaults

      public void applyDBLayerDefaults()
      Updates missing mapping artifacts that can be guessed from other mapping information. This implementation creates missing reverse relationships, marking newly created relationships as "runtime".
      Since:
      3.0
    • getCallbackRegistry

      public LifecycleCallbackRegistry getCallbackRegistry()
      Returns a LifecycleCallbackRegistry for handling callbacks. Registry is lazily initialized on first call.
      Since:
      3.0
    • setCallbackRegistry

      public void setCallbackRegistry(LifecycleCallbackRegistry callbackRegistry)
      Sets a lifecycle callbacks registry of the EntityResolver. Users rarely if ever need to call this method as Cayenne would instantiate a registry itself as needed based on mapped configuration.
      Since:
      3.0
    • getDbEntities

      public Collection<DbEntity> getDbEntities()
      Returns all DbEntities.
      Specified by:
      getDbEntities in interface MappingNamespace
    • getObjEntities

      public Collection<ObjEntity> getObjEntities()
      Description copied from interface: MappingNamespace
      Returns all ObjEntities in the namespace.
      Specified by:
      getObjEntities in interface MappingNamespace
    • getEmbeddables

      public Collection<Embeddable> getEmbeddables()
      Specified by:
      getEmbeddables in interface MappingNamespace
      Since:
      3.0
    • getProcedures

      public Collection<Procedure> getProcedures()
      Description copied from interface: MappingNamespace
      Returns all Procedures in the namespace.
      Specified by:
      getProcedures in interface MappingNamespace
    • getQueryDescriptors

      public Collection<QueryDescriptor> getQueryDescriptors()
      Description copied from interface: MappingNamespace
      Returns all Queries in the namespace.
      Specified by:
      getQueryDescriptors in interface MappingNamespace
    • getDbEntity

      public DbEntity getDbEntity(String name)
      Description copied from interface: MappingNamespace
      Returns DbEntity for a given name, or null if no such DbEntity is found in the MappingNamespace.
      Specified by:
      getDbEntity in interface MappingNamespace
    • getObjEntity

      public ObjEntity getObjEntity(String name)
      Description copied from interface: MappingNamespace
      Returns ObjEntity for a given name, or null if no such ObjEntity is found in the MappingNamespace.
      Specified by:
      getObjEntity in interface MappingNamespace
    • getProcedure

      public Procedure getProcedure(String procedureName)
      Description copied from interface: MappingNamespace
      Returns Procedure for a given name, or null if no such Procedure is found in the MappingNamespace.
      Specified by:
      getProcedure in interface MappingNamespace
    • getQueryDescriptor

      public QueryDescriptor getQueryDescriptor(String name)
      Returns a named query or null if no query exists for a given name.
      Specified by:
      getQueryDescriptor in interface MappingNamespace
    • getEmbeddable

      public Embeddable getEmbeddable(String className)
      Description copied from interface: MappingNamespace
      Returns an Embeddable matching class name or null if such Embeddable is not mapped.
      Specified by:
      getEmbeddable in interface MappingNamespace
      Since:
      3.0
    • getClassDescriptor

      public ClassDescriptor getClassDescriptor(String entityName)
      Returns ClassDescriptor for the ObjEntity matching the name. Returns null if no matching entity exists.
      Since:
      1.2
    • addDataMap

      public void addDataMap(DataMap map)
    • refreshMappingCache

      public void refreshMappingCache()
      Refreshes entity cache to reflect the current state of the DataMaps in the EntityResolver.
      Since:
      4.0
    • getDataMap

      public DataMap getDataMap(String mapName)
      Returns a DataMap matching the name.
    • setDataMaps

      public void setDataMaps(Collection<DataMap> maps)
    • getDataMaps

      public Collection<DataMap> getDataMaps()
      Returns an unmodifiable collection of DataMaps.
    • getInheritanceTree

      public EntityInheritanceTree getInheritanceTree(String entityName)
      Specified by:
      getInheritanceTree in interface MappingNamespace
      Since:
      4.0
    • getObjEntity

      public ObjEntity getObjEntity(Class<?> entityClass)
      Looks in the DataMap's that this object was created with for the ObjEntity that maps to the services the specified class
      Specified by:
      getObjEntity in interface MappingNamespace
      Returns:
      the required ObjEntity or null if there is none that matches the specifier
      Since:
      4.0
    • getObjEntity

      public ObjEntity getObjEntity(Persistent object)
      Specified by:
      getObjEntity in interface MappingNamespace
    • removeDataMap

      public void removeDataMap(DataMap map)
    • getClassDescriptorMap

      public ClassDescriptorMap getClassDescriptorMap()
      Returns an object that compiles and stores ClassDescriptor instances for all entities.
      Since:
      3.0
    • getValueObjectTypeRegistry

      public ValueObjectTypeRegistry getValueObjectTypeRegistry()
    • setValueObjectTypeRegistry

      public void setValueObjectTypeRegistry(ValueObjectTypeRegistry valueObjectTypeRegistry)
    • setValueComparisonStrategyFactory

      public void setValueComparisonStrategyFactory(ValueComparisonStrategyFactory valueComparisonStrategyFactory)
      Since:
      4.2
    • setObjectFactory

      public void setObjectFactory(org.apache.cayenne.di.AdhocObjectFactory objectFactory)
      Since:
      5.0
    • getObjectFactory

      public org.apache.cayenne.di.AdhocObjectFactory getObjectFactory()
      Since:
      5.0