org.apache.openjpa.lib.conf
Interface ProductDerivation

All Known Subinterfaces:
OpenJPAProductDerivation
All Known Implementing Classes:
AbstractProductDerivation, JDBCPersistenceProductDerivation, JDBCProductDerivation, PersistenceProductDerivation, ProductDerivation

public interface ProductDerivation

Hooks for deriving products with additional functionality. Parses configuration information from global, default or explictly-specified resources. All implementations of this interface will have a chance to mutate a Configuration both before and after the user-specified configuration data is loaded. The order in which the product derivations are evaluated is determined by the specificity of the derivation type.

Since:
0.4.1
Author:
Abe White, Pinaki Poddar

Field Summary
static int TYPE_FEATURE
           
static int TYPE_PRODUCT
           
 
Method Summary
 boolean afterSpecificationSet(Configuration conf)
          Called after the specification has been set.
 void beforeConfigurationClose(Configuration conf)
          Called before the given Configuration is closed.
 boolean beforeConfigurationConstruct(ConfigurationProvider cp)
          Provides the instance with a callback to mutate the initial properties of the ConfigurationProvider.
 boolean beforeConfigurationLoad(Configuration conf)
          Provides the instance with the opportunity to mutate conf before the user configuration is applied.
 List<String> getAnchorsInFile(File file)
          Return a List of all the anchors defined in file.
 List<String> getAnchorsInResource(String resource)
          Return a List of all the anchors defined in resource.
 String getConfigurationPrefix()
          Return the configuration prefix for properties of this product.
 String getDefaultResourceLocation()
          Return a string identifying the default resource location for this product derivation, if one exists.
 Set<String> getSupportedQueryHints()
          Return set of Query hint keys recognized by this receiver.
 int getType()
          Return the type of derivation.
 ConfigurationProvider load(File file, String anchor)
          Load given file, or return null if it is not a file this receiver understands.
 ConfigurationProvider load(String resource, String anchor, ClassLoader loader)
          Load the given given resource into the returned ConfigurationProvider, or return null if it is not a resource this receiver understands.
 ConfigurationProvider loadDefaults(ClassLoader loader)
          Load defaults into the returned ConfigurationProvider, or return null if no defaults are found.
 ConfigurationProvider loadGlobals(ClassLoader loader)
          Load globals into the returned ConfigurationProvider, or return null if no globals are found.
 void validate()
          Ensure that this derivation is valid.
 

Field Detail

TYPE_PRODUCT

static final int TYPE_PRODUCT
See Also:
Constant Field Values

TYPE_FEATURE

static final int TYPE_FEATURE
See Also:
Constant Field Values
Method Detail

getType

int getType()
Return the type of derivation.


getConfigurationPrefix

String getConfigurationPrefix()
Return the configuration prefix for properties of this product.


validate

void validate()
              throws Exception
Ensure that this derivation is valid. This action might consist of loading classes for the product this derivation represents to be sure they exist. Throw any throwable to indicate an invalid derivation. Invalid derivations will not be used.

Throws:
Exception

loadGlobals

ConfigurationProvider loadGlobals(ClassLoader loader)
                                  throws Exception
Load globals into the returned ConfigurationProvider, or return null if no globals are found.

Throws:
Exception

loadDefaults

ConfigurationProvider loadDefaults(ClassLoader loader)
                                   throws Exception
Load defaults into the returned ConfigurationProvider, or return null if no defaults are found.

Throws:
Exception

load

ConfigurationProvider load(String resource,
                           String anchor,
                           ClassLoader loader)
                           throws Exception
Load the given given resource into the returned ConfigurationProvider, or return null if it is not a resource this receiver understands. The given class loader may be null.

Parameters:
anchor - optional named anchor within a multiple-configuration resource
Throws:
Exception

load

ConfigurationProvider load(File file,
                           String anchor)
                           throws Exception
Load given file, or return null if it is not a file this receiver understands.

Parameters:
anchor - optional named anchor within a multiple-configuration file
Throws:
Exception

getDefaultResourceLocation

String getDefaultResourceLocation()
Return a string identifying the default resource location for this product derivation, if one exists. If there is no default location, returns null.

Since:
1.1.0

getAnchorsInFile

List<String> getAnchorsInFile(File file)
                              throws IOException,
                                     Exception
Return a List of all the anchors defined in file. The returned names are not fully-qualified, so must be used in conjunction with file in calls to load(java.io.File, String). Returns null or an empty list if no anchors could be found.

Throws:
IOException
Exception
Since:
1.1.0

getAnchorsInResource

List<String> getAnchorsInResource(String resource)
                                  throws Exception
Return a List of all the anchors defined in resource. The returned names are not fully-qualified, so must be used in conjunction with resource in calls to load(java.io.File, String). Returns null or an empty list if no anchors could be found.

Throws:
Exception
Since:
1.1.0

beforeConfigurationConstruct

boolean beforeConfigurationConstruct(ConfigurationProvider cp)
Provides the instance with a callback to mutate the initial properties of the ConfigurationProvider. This is primarily to alter or add properties that determine what type of configuration is constructed, and therefore is typically used at runtime only.

Returns:
true if given ConfigurationProvider has been mutated.

beforeConfigurationLoad

boolean beforeConfigurationLoad(Configuration conf)
Provides the instance with the opportunity to mutate conf before the user configuration is applied.

Returns:
true if given Configuration has been mutated.

afterSpecificationSet

boolean afterSpecificationSet(Configuration conf)
Called after the specification has been set.

Returns:
true if given Configuration has been mutated.

beforeConfigurationClose

void beforeConfigurationClose(Configuration conf)
Called before the given Configuration is closed.

Since:
0.9.7

getSupportedQueryHints

Set<String> getSupportedQueryHints()
Return set of Query hint keys recognized by this receiver.

Since:
2.0.0


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.