public abstract class InValueDiscriminatorStrategy extends AbstractDiscriminatorStrategy
disc, isFinal
Constructor and Description |
---|
InValueDiscriminatorStrategy() |
Modifier and Type | Method and Description |
---|---|
Class |
getClass(JDBCStore store,
ClassMapping base,
Result res)
Return the class for the current result row.
|
protected abstract Class |
getClass(Object val,
JDBCStore store)
Convert the given discriminator value to the corresponding class.
|
SQLBuffer |
getClassConditions(Select sel,
Joins joins,
ClassMapping base,
boolean subclasses)
Return SQL to limit the classes selected as much as possible to the
given base class, and optionally its subclasses.
|
protected abstract Object |
getDiscriminatorValue(ClassMapping cls)
Return the discriminator value for the given type.
|
protected abstract int |
getJavaType()
Return the Java type code from
JavaTypes for the discriminator
values. |
boolean |
hasClassConditions(ClassMapping base,
boolean subclasses)
Whether any class conditions are necessary.
|
void |
insert(OpenJPAStateManager sm,
JDBCStore store,
RowManager rm)
Set values for the mapping into the proper rows.
|
void |
map(boolean adapt)
Map the owning mapping using this strategy.
|
boolean |
select(Select sel,
ClassMapping mapping)
Select the data for this Discriminator.
|
loadSubclasses, setDiscriminator
customDelete, customInsert, customUpdate, delete, getAlias, initialize, isCustomDelete, isCustomInsert, isCustomUpdate, update
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
customDelete, customInsert, customUpdate, delete, getAlias, initialize, isCustomDelete, isCustomInsert, isCustomUpdate, update
protected abstract int getJavaType()
JavaTypes
for the discriminator
values. This method is only used during mapping installation.protected abstract Object getDiscriminatorValue(ClassMapping cls)
protected abstract Class getClass(Object val, JDBCStore store) throws ClassNotFoundException
ClassNotFoundException
public void map(boolean adapt)
Strategy
map
in interface Strategy
map
in class AbstractStrategy
adapt
- if true, use the owning mapping's raw mapping info
to set its ORM data; if false, ORM data will already be setpublic void insert(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException
Strategy
insert
in interface Strategy
insert
in class AbstractStrategy
SQLException
public boolean select(Select sel, ClassMapping mapping)
DiscriminatorStrategy
select
in interface DiscriminatorStrategy
select
in class AbstractDiscriminatorStrategy
mapping
- the known base class being selected; this may
not be the base class in the inheritance hierarchypublic Class getClass(JDBCStore store, ClassMapping base, Result res) throws SQLException, ClassNotFoundException
DiscriminatorStrategy
getClass
in interface DiscriminatorStrategy
getClass
in class AbstractDiscriminatorStrategy
SQLException
ClassNotFoundException
public boolean hasClassConditions(ClassMapping base, boolean subclasses)
DiscriminatorStrategy
hasClassConditions
in interface DiscriminatorStrategy
hasClassConditions
in class AbstractDiscriminatorStrategy
DiscriminatorStrategy.getClassConditions(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.sql.Joins, org.apache.openjpa.jdbc.meta.ClassMapping, boolean)
public SQLBuffer getClassConditions(Select sel, Joins joins, ClassMapping base, boolean subclasses)
DiscriminatorStrategy
getClassConditions
in interface DiscriminatorStrategy
getClassConditions
in class AbstractDiscriminatorStrategy
Copyright © 2006–2020 Apache Software Foundation. All rights reserved.