Class ContainerFieldStrategy
- java.lang.Object
-
- org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
-
- org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy
-
- org.apache.openjpa.jdbc.meta.strats.ContainerFieldStrategy
-
- All Implemented Interfaces:
java.io.Serializable
,FieldStrategy
,Strategy
- Direct Known Subclasses:
MapTableFieldStrategy
,StoreCollectionFieldStrategy
public abstract class ContainerFieldStrategy extends AbstractFieldStrategy
An abstract container mapping that handles traversing the join to examine the size of the relation.- Author:
- Marc Prud'hommeaux
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy
field
-
-
Constructor Summary
Constructors Constructor Description ContainerFieldStrategy()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
appendIndex(SQLBuffer sql, Select sel, Joins joins)
Append the ordered column alias to the given statement.void
appendIsEmpty(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is empty.void
appendIsNotEmpty(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is not empty.void
appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is not null.void
appendIsNull(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is null.protected static void
appendJoinCount(SQLBuffer sql, Select sel, Joins joins, DBDictionary dict, FieldMapping field, ForeignKey fk)
void
appendSize(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking the size of the value.static void
appendUnaliasedJoin(SQLBuffer sql, Select sel, Joins joins, DBDictionary dict, FieldMapping field, ForeignKey fk)
protected abstract ClassMapping[]
getIndependentElementMappings(boolean traverse)
Return all independent mappings to which this strategy must join in order to access collection elements, or empty array if none.abstract ForeignKey
getJoinForeignKey()
-
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy
appendType, assertNotMappedBy, isEagerSelectToMany, isVersionable, join, joinKey, joinKeyRelation, joinRelation, load, load, loadEagerJoin, loadEagerParallel, loadKeyProjection, loadProjection, select, selectEagerJoin, selectEagerParallel, setFieldMapping, supportsSelect, toDataStoreValue, toKeyDataStoreValue, where
-
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, 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, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, update
-
-
-
-
Method Detail
-
getIndependentElementMappings
protected abstract ClassMapping[] getIndependentElementMappings(boolean traverse)
Return all independent mappings to which this strategy must join in order to access collection elements, or empty array if none.- Parameters:
traverse
- whether we're traversing through to the related type- See Also:
ValueMapping.getIndependentTypeMappings()
,ClassMapping.EMPTY_MAPPINGS
-
appendIsEmpty
public void appendIsEmpty(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is empty. Appends impossible-to-satisfy SQL by default.- Specified by:
appendIsEmpty
in interfaceFieldStrategy
- Overrides:
appendIsEmpty
in classAbstractFieldStrategy
-
appendIsNotEmpty
public void appendIsNotEmpty(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is not empty. Appends always-satisfied SQL by default.- Specified by:
appendIsNotEmpty
in interfaceFieldStrategy
- Overrides:
appendIsNotEmpty
in classAbstractFieldStrategy
-
appendIsNull
public void appendIsNull(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is null.- Specified by:
appendIsNull
in interfaceFieldStrategy
- Overrides:
appendIsNull
in classAbstractFieldStrategy
-
appendIsNotNull
public void appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is not null.- Specified by:
appendIsNotNull
in interfaceFieldStrategy
- Overrides:
appendIsNotNull
in classAbstractFieldStrategy
-
getJoinForeignKey
public abstract ForeignKey getJoinForeignKey()
-
appendSize
public void appendSize(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking the size of the value.- Specified by:
appendSize
in interfaceFieldStrategy
- Overrides:
appendSize
in classAbstractFieldStrategy
-
appendIndex
public void appendIndex(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append the ordered column alias to the given statement.- Specified by:
appendIndex
in interfaceFieldStrategy
- Overrides:
appendIndex
in classAbstractFieldStrategy
-
appendJoinCount
protected static void appendJoinCount(SQLBuffer sql, Select sel, Joins joins, DBDictionary dict, FieldMapping field, ForeignKey fk)
-
appendUnaliasedJoin
public static void appendUnaliasedJoin(SQLBuffer sql, Select sel, Joins joins, DBDictionary dict, FieldMapping field, ForeignKey fk)
-
-