org.apache.openjpa.jdbc.meta.strats
Class ClassNameDiscriminatorStrategy

java.lang.Object
  extended by org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
      extended by org.apache.openjpa.jdbc.meta.strats.AbstractDiscriminatorStrategy
          extended by org.apache.openjpa.jdbc.meta.strats.InValueDiscriminatorStrategy
              extended by org.apache.openjpa.jdbc.meta.strats.ClassNameDiscriminatorStrategy
All Implemented Interfaces:
Serializable, DiscriminatorStrategy, Strategy

public class ClassNameDiscriminatorStrategy
extends InValueDiscriminatorStrategy

Stores the class name along with each database object record.

Author:
Abe White
See Also:
Serialized Form

Field Summary
static String ALIAS
           
 
Fields inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractDiscriminatorStrategy
disc, isFinal
 
Constructor Summary
ClassNameDiscriminatorStrategy()
           
 
Method Summary
 String getAlias()
          Return the alias of this strategy.
protected  Class getClass(Object val, JDBCStore store)
          Convert the given discriminator value to the corresponding class.
protected  Object getDiscriminatorValue(ClassMapping cls)
          Return the discriminator value for the given type.
protected  int getJavaType()
          Return the Java type code from JavaTypes for the discriminator values.
 void loadSubclasses(JDBCStore store)
          By default, logs a warning that this discriminator cannot calculate its list of subclasses on its own.
 
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.InValueDiscriminatorStrategy
getClass, getClassConditions, hasClassConditions, insert, map, select
 
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractDiscriminatorStrategy
setDiscriminator
 
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
customDelete, customInsert, customUpdate, delete, initialize, isCustomDelete, isCustomInsert, isCustomUpdate, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.jdbc.meta.Strategy
customDelete, customInsert, customUpdate, delete, initialize, isCustomDelete, isCustomInsert, isCustomUpdate, update
 

Field Detail

ALIAS

public static final String ALIAS
See Also:
Constant Field Values
Constructor Detail

ClassNameDiscriminatorStrategy

public ClassNameDiscriminatorStrategy()
Method Detail

getAlias

public String getAlias()
Description copied from interface: Strategy
Return the alias of this strategy. For custom strategies, return the full class name.

Specified by:
getAlias in interface Strategy
Overrides:
getAlias in class AbstractStrategy

getJavaType

protected int getJavaType()
Description copied from class: InValueDiscriminatorStrategy
Return the Java type code from JavaTypes for the discriminator values. This method is only used during mapping installation.

Specified by:
getJavaType in class InValueDiscriminatorStrategy

getDiscriminatorValue

protected Object getDiscriminatorValue(ClassMapping cls)
Description copied from class: InValueDiscriminatorStrategy
Return the discriminator value for the given type.

Specified by:
getDiscriminatorValue in class InValueDiscriminatorStrategy

getClass

protected Class getClass(Object val,
                         JDBCStore store)
                  throws ClassNotFoundException
Description copied from class: InValueDiscriminatorStrategy
Convert the given discriminator value to the corresponding class.

Specified by:
getClass in class InValueDiscriminatorStrategy
Throws:
ClassNotFoundException

loadSubclasses

public void loadSubclasses(JDBCStore store)
                    throws SQLException,
                           ClassNotFoundException
Description copied from class: AbstractDiscriminatorStrategy
By default, logs a warning that this discriminator cannot calculate its list of subclasses on its own.

Specified by:
loadSubclasses in interface DiscriminatorStrategy
Overrides:
loadSubclasses in class AbstractDiscriminatorStrategy
Throws:
SQLException
ClassNotFoundException


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