Class AbstractNucleusContext

java.lang.Object
org.datanucleus.AbstractNucleusContext
All Implemented Interfaces:
NucleusContext
Direct Known Subclasses:
EnhancementNucleusContextImpl, PersistenceNucleusContextImpl

public abstract class AbstractNucleusContext extends Object implements NucleusContext
Base implementation of a NucleusContext, providing configuration, metadata management, type management, plugin management and ClassLoader services.
  • Field Details

    • config

      protected final Configuration config
      Configuration for this context.
    • pluginManager

      protected final PluginManager pluginManager
      Manager for plug-ins.
    • metaDataManager

      protected MetaDataManager metaDataManager
      MetaDataManager for handling the MetaData.
    • apiAdapter

      protected final ApiAdapter apiAdapter
      API adapter used by the context.
    • typeManager

      protected TypeManager typeManager
      Manager for java types.
    • classLoaderResolverClassName

      protected final String classLoaderResolverClassName
      Name of the class providing the ClassLoaderResolver.
    • classLoaderResolverMap

      protected transient Map<String,ClassLoaderResolver> classLoaderResolverMap
      Map of the ClassLoaderResolver, keyed by the clr class and the primaryLoader name.
    • defaultCLR

      protected ClassLoaderResolver defaultCLR
      Default ClassLoaderResolver, when no primaryLoader is specified.
    • STARTUP_PROPERTIES

      public static final Set<String> STARTUP_PROPERTIES
  • Constructor Details

    • AbstractNucleusContext

      public AbstractNucleusContext(String apiName, Map startupProps, PluginManager pluginMgr)
  • Method Details

    • applyDefaultProperties

      public void applyDefaultProperties(Configuration conf)
      Description copied from interface: NucleusContext
      Method called when initialising the Configuration to load up defaults for the properties appropriate for this NucleusContext.
      Specified by:
      applyDefaultProperties in interface NucleusContext
      Parameters:
      conf - The configuration
    • initialise

      public void initialise()
      Description copied from interface: NucleusContext
      Method to initialise the context for use. If any services are considered essential for operation then they will be enabled here, otherwise left for lazy initialisation.
      Specified by:
      initialise in interface NucleusContext
    • close

      public void close()
      Description copied from interface: NucleusContext
      Clear out resources for the supported services.
      Specified by:
      close in interface NucleusContext
    • getApiAdapter

      public ApiAdapter getApiAdapter()
      Specified by:
      getApiAdapter in interface NucleusContext
    • getApiName

      public String getApiName()
      Description copied from interface: NucleusContext
      Accessor for the name of the API (JDO, JPA, etc).
      Specified by:
      getApiName in interface NucleusContext
      Returns:
      the api
    • getConfiguration

      public Configuration getConfiguration()
      Description copied from interface: NucleusContext
      Accessor for the overall configuration for DataNucleus.
      Specified by:
      getConfiguration in interface NucleusContext
      Returns:
      The Configuration
    • getPluginManager

      public PluginManager getPluginManager()
      Description copied from interface: NucleusContext
      Accessor for the manager for DataNucleus plugins.
      Specified by:
      getPluginManager in interface NucleusContext
      Returns:
      The PluginManager
    • getMetaDataManager

      public MetaDataManager getMetaDataManager()
      Description copied from interface: NucleusContext
      Accessor for the manager for persistence metadata information.
      Specified by:
      getMetaDataManager in interface NucleusContext
      Returns:
      The MetaDataManager
    • supportsORMMetaData

      public boolean supportsORMMetaData()
      Specified by:
      supportsORMMetaData in interface NucleusContext
    • getTypeManager

      public TypeManager getTypeManager()
      Description copied from interface: NucleusContext
      Accessor for manager for java types.
      Specified by:
      getTypeManager in interface NucleusContext
      Returns:
      The TypeManager
    • getClassLoaderResolver

      public ClassLoaderResolver getClassLoaderResolver(ClassLoader primaryLoader)
      Description copied from interface: NucleusContext
      Accessor for a ClassLoaderResolver to use in resolving classes. Caches the resolver for the specified primary loader, and hands it out if present.
      Specified by:
      getClassLoaderResolver in interface NucleusContext
      Parameters:
      primaryLoader - Loader to use as the primary loader (or null)
      Returns:
      The ClassLoader resolver
    • logConfiguration

      protected void logConfiguration()
      Method to log the configuration of this context.
    • logConfigurationDetails

      protected abstract void logConfigurationDetails()
      Convenience method so that extending implementations can log their own configuration.