public abstract class MappingDerivationStrategy extends Object
Pluggable strategy determines whether introspection or bind time typing should be used when finding mappings. The type of a property is determined at introspection time but the actual type of the instance can differ at bind time (when the xml is actually being processed). This strategy is used to set (at a per-element level) whether the bind or introspection time type should be used to calculate the mapping to be used.
Note: this strategy is intentionally course. Typically, the best approach is to use a custom strategy to set coursely grained rules (for example: all implemetations of 'IAnimal' use bind time type mapping) and then dot betwixt files to provide refinements.
Modifier and Type | Field and Description |
---|---|
static MappingDerivationStrategy |
DEFAULT
The default Betwixt strategy.
|
static MappingDerivationStrategy |
USE_BIND_TIME_TYPE
Implementation that always uses bind time type mapping
|
static MappingDerivationStrategy |
USE_INTROSPECTION_TIME_TYPE
Implementation that always uses introspection time type mapping
|
Constructor and Description |
---|
MappingDerivationStrategy() |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
useBindTimeTypeForMapping(Class propertyType,
Class singluarPropertyType)
Should bind time type be used for all elements of the given property type?
|
public static final MappingDerivationStrategy USE_BIND_TIME_TYPE
public static final MappingDerivationStrategy USE_INTROSPECTION_TIME_TYPE
public static final MappingDerivationStrategy DEFAULT
public abstract boolean useBindTimeTypeForMapping(Class propertyType, Class singluarPropertyType)
propertyType
- Class
typing the property, not nullsingluarPropertyType
- Class
composing the collective
or null if the property is not collectiveCopyright © 2002-2013 Apache Software Foundation. All Rights Reserved.