javax.persistence.spi

## Interface PersistenceUnitInfo

-     public interface PersistenceUnitInfo

  Interface implemented by the container and used by the persistence provider when creating an `EntityManagerFactory`.
  Since:
    Java Persistence 1.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTransformer(ClassTransformer transformer)` Add a transformer supplied by the provider that will be called for every new class definition or class redefinition that gets loaded by the loader returned by the `getClassLoader()` method.
    `boolean` | `excludeUnlistedClasses()` Returns whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes.
    `ClassLoader` | `getClassLoader()` Returns ClassLoader that the provider may use to load any classes, resources, or open URLs.
    `List<URL>` | `getJarFileUrls()` Returns a list of URLs for the jar files or exploded jar file directories that the persistence provider must examine for managed classes of the persistence unit.
    `DataSource` | `getJtaDataSource()` Returns the JTA-enabled data source to be used by the persistence provider.
    `List<String>` | `getManagedClassNames()` Returns the list of the names of the classes that the persistence provider must add to its set of managed classes.
    `List<String>` | `getMappingFileNames()` Returns the list of the names of the mapping files that the persistence provider must load to determine the mappings for the entity classes.
    `ClassLoader` | `getNewTempClassLoader()` Return a new instance of a ClassLoader that the provider may use to temporarily load any classes, resources, or open URLs.
    `DataSource` | `getNonJtaDataSource()` Returns the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction.
    `String` | `getPersistenceProviderClassName()` Returns the fully qualified name of the persistence provider implementation class.
    `String` | `getPersistenceUnitName()` Returns the name of the persistence unit.
    `URL` | `getPersistenceUnitRootUrl()` Returns the URL for the jar file or directory that is the root of the persistence unit.
    `String` | `getPersistenceXMLSchemaVersion()` Returns the schema version of the `persistence.xml` file.
    `Properties` | `getProperties()` Returns a properties object.
    `SharedCacheMode` | `getSharedCacheMode()` Returns the specification of how the provider must use a second-level cache for the persistence unit.
    `PersistenceUnitTransactionType` | `getTransactionType()` Returns the transaction type of the entity managers created by the `EntityManagerFactory`.
    `ValidationMode` | `getValidationMode()` Returns the validation mode to be used by the persistence provider for the persistence unit.

- - ### Method Detail

    - #### getPersistenceUnitName

          String getPersistenceUnitName()

      Returns the name of the persistence unit. Corresponds to the `name` attribute in the `persistence.xml`file.``
      Returns:
        the name of the persistence unit

    - #### getPersistenceProviderClassName

          String getPersistenceProviderClassName()

      Returns the fully qualified name of the persistence provider implementation class. Corresponds to the `provider` element in the `persistence.xml` file.
      Returns:
        the fully qualified name of the persistence provider implementation class

    - #### getTransactionType

          PersistenceUnitTransactionType getTransactionType()

      Returns the transaction type of the entity managers created by the `EntityManagerFactory`. The transaction type corresponds to the `transaction-type` attribute in the `persistence.xml` file.
      Returns:
        transaction type of the entity managers created by the EntityManagerFactory

    - #### getJtaDataSource

          DataSource getJtaDataSource()

      Returns the JTA-enabled data source to be used by the persistence provider. The data source corresponds to the `jta-data-source` element in the `persistence.xml` file or is provided at deployment or by the container.
      Returns:
        the JTA-enabled data source to be used by the persistence provider

    - #### getNonJtaDataSource

          DataSource getNonJtaDataSource()

      Returns the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction. The data source corresponds to the named `non-jta-data-source` element in the `persistence.xml` file or provided at deployment or by the container.
      Returns:
        the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction

    - #### getMappingFileNames

          List<String> getMappingFileNames()

      Returns the list of the names of the mapping files that the persistence provider must load to determine the mappings for the entity classes. The mapping files must be in the standard XML mapping format, be uniquely named and be resource-loadable from the application classpath. Each mapping file name corresponds to a `mapping-file` element in the `persistence.xml` file.
      Returns:
        the list of mapping file names that the persistence provider must load to determine the mappings for the entity classes

    - #### getJarFileUrls

          List<URL> getJarFileUrls()

      Returns a list of URLs for the jar files or exploded jar file directories that the persistence provider must examine for managed classes of the persistence unit. Each URL corresponds to a `jar-file` element in the `persistence.xml` file. A URL will either be a file: URL referring to a jar file or referring to a directory that contains an exploded jar file, or some other URL from which an InputStream in jar format can be obtained.
      Returns:
        a list of URL objects referring to jar files or directories

    - #### getPersistenceUnitRootUrl

          URL getPersistenceUnitRootUrl()

      Returns the URL for the jar file or directory that is the root of the persistence unit. (If the persistence unit is rooted in the WEB-INF/classes directory, this will be the URL of that directory.) The URL will either be a file: URL referring to a jar file or referring to a directory that contains an exploded jar file, or some other URL from which an InputStream in jar format can be obtained.
      Returns:
        a URL referring to a jar file or directory

    - #### getManagedClassNames

          List<String> getManagedClassNames()

      Returns the list of the names of the classes that the persistence provider must add to its set of managed classes. Each name corresponds to a named `class` element in the `persistence.xml` file.
      Returns:
        the list of the names of the classes that the persistence provider must add to its set of managed classes

    - #### excludeUnlistedClasses

          boolean excludeUnlistedClasses()

      Returns whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes. This value corresponds to the `exclude-unlisted-classes` element in the `persistence.xml` file.
      Returns:
        whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes

    - #### getSharedCacheMode

          SharedCacheMode getSharedCacheMode()

      Returns the specification of how the provider must use a second-level cache for the persistence unit. The result of this method corresponds to the `shared-cache-mode` element in the `persistence.xml` file.
      Returns:
        the second-level cache mode that must be used by the provider for the persistence unit
      Since:
        Java Persistence 2.0

    - #### getValidationMode

          ValidationMode getValidationMode()

      Returns the validation mode to be used by the persistence provider for the persistence unit. The validation mode corresponds to the `validation-mode` element in the `persistence.xml` file.
      Returns:
        the validation mode to be used by the persistence provider for the persistence unit
      Since:
        Java Persistence 2.0

    - #### getProperties

          Properties getProperties()

      Returns a properties object. Each property corresponds to a `property` element in the `persistence.xml` file or to a property set by the container.
      Returns:
        Properties object

    - #### getPersistenceXMLSchemaVersion

          String getPersistenceXMLSchemaVersion()

      Returns the schema version of the `persistence.xml` file.
      Returns:
        persistence.xml schema version
      Since:
        Java Persistence 2.0

    - #### getClassLoader

          ClassLoader getClassLoader()

      Returns ClassLoader that the provider may use to load any classes, resources, or open URLs.
      Returns:
        ClassLoader that the provider may use to load any classes, resources, or open URLs

    - #### addTransformer

          void addTransformer(ClassTransformer transformer)

      Add a transformer supplied by the provider that will be called for every new class definition or class redefinition that gets loaded by the loader returned by the `getClassLoader()` method. The transformer has no effect on the result returned by the `getNewTempClassLoader()` method. Classes are only transformed once within the same classloading scope, regardless of how many persistence units they may be a part of.
      Parameters:
        `transformer` - provider-supplied transformer that the container invokes at class-(re)definition time

    - #### getNewTempClassLoader

          ClassLoader getNewTempClassLoader()

      Return a new instance of a ClassLoader that the provider may use to temporarily load any classes, resources, or open URLs. The scope and classpath of this loader is exactly the same as that of the loader returned by `getClassLoader()`. None of the classes loaded by this class loader will be visible to application components. The provider may only use this ClassLoader within the scope of the `PersistenceProvider.createContainerEntityManagerFactory(javax.persistence.spi.PersistenceUnitInfo, java.util.Map)` call.
      Returns:
        temporary ClassLoader with same visibility as current loader

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.