if ( mappedEntity.getTuplizerMap() != null ) {
userSuppliedTuplizerImpls.putAll( mappedEntity.getTuplizerMap() );
}
// Build the dynamic-map tuplizer...
Tuplizer dynamicMapTuplizer = null;
String tuplizerImpl = ( String ) userSuppliedTuplizerImpls.remove( EntityMode.MAP );
if ( tuplizerImpl == null ) {
dynamicMapTuplizer = new DynamicMapEntityTuplizer( em, mappedEntity );
}
else {
dynamicMapTuplizer = buildEntityTuplizer( tuplizerImpl, mappedEntity, em );
}
// then the pojo tuplizer, using the dynamic-map tuplizer if no pojo representation is available
Tuplizer pojoTuplizer = null;
tuplizerImpl = ( String ) userSuppliedTuplizerImpls.remove( EntityMode.POJO );
if ( mappedEntity.hasPojoRepresentation() ) {
if ( tuplizerImpl == null ) {
pojoTuplizer = new PojoEntityTuplizer( em, mappedEntity );
}
else {
pojoTuplizer = buildEntityTuplizer( tuplizerImpl, mappedEntity, em );
}
}
else {
pojoTuplizer = dynamicMapTuplizer;
}
// then dom4j tuplizer, if dom4j representation is available
Tuplizer dom4jTuplizer = null;
tuplizerImpl = ( String ) userSuppliedTuplizerImpls.remove( EntityMode.DOM4J );
if ( mappedEntity.hasDom4jRepresentation() ) {
if ( tuplizerImpl == null ) {
dom4jTuplizer = new Dom4jEntityTuplizer( em, mappedEntity );
}