/** * Apply the {@link Type#assemble} operation across a series of values. * * @param row The values * @param types The value types * @param session The originating session * @param owner The entity "owning" the values * @return The assembled state */ public static Object[] assemble( final Serializable[] row, final Type[] types, final SharedSessionContractImplementor session, final Object owner) { Object[] assembled = new Object[row.length]; for ( int i = 0; i < types.length; i++ ) { if ( row[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || row[i] == PropertyAccessStrategyBackRefImpl.UNKNOWN ) { assembled[i] = row[i]; } else { assembled[i] = types[i].assemble( row[i], session, owner ); } } return assembled; }
private Serializable assembleId(Serializable oid, SharedSessionContractImplementor session) { //the owner of the association is not the owner of the id return ( Serializable ) getIdentifierType( session ).assemble( oid, session, null ); }
@Override public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
@SuppressWarnings("unchecked") private List assembleCachedResult( final QueryKey key, final List cached, boolean singleResult, final Type[] returnTypes, final SharedSessionContractImplementor session) throws HibernateException { final List result = new ArrayList( cached.size() ); if ( singleResult ) { for ( Object aCached : cached ) { result.add( returnTypes[0].assemble( (Serializable) aCached, session, null ) ); } } else { for ( int i = 0; i < cached.size(); i++ ) { result.add( TypeHelper.assemble( (Serializable[]) cached.get( i ), returnTypes, session, null ) ); if ( TRACING ) { logCachedResultRowDetails( returnTypes, result.get( i ) ); } } } return result; }
@Override public Object assemble(Serializable oid, SharedSessionContractImplementor session, Object owner) throws HibernateException { //TODO: currently broken for unique-key references (does not detect // change to unique key property of the associated object) Serializable id = (Serializable) getIdentifierType(session).assemble(oid, session, null); //the owner of the association is not the owner of the id if (id==null) { return null; } else { return resolveIdentifier(id, session); } }
@Override public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( int i = 0; i < size; i+=2 ) { identifiers.put( (i/2), persister.getIdentifierType().assemble( array[i], getSession(), owner ) ); values.add( persister.getElementType().assemble( array[i+1], getSession(), owner ) ); } }
@Override @SuppressWarnings("unchecked") public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( Serializable arrayElement : array ) { list.add( persister.getElementType().assemble( arrayElement, getSession(), owner ) ); } }
@Override @SuppressWarnings("unchecked") public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( int i = 0; i < size; i+=2 ) { map.put( persister.getIndexType().assemble( array[i], getSession(), owner ), persister.getElementType().assemble( array[i+1], getSession(), owner ) ); } }
@Override @SuppressWarnings("unchecked") public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( Serializable arrayElement : array ) { final Object assembledArrayElement = persister.getElementType().assemble( arrayElement, getSession(), owner ); if ( assembledArrayElement != null ) { set.add( assembledArrayElement ); } } }
@Override public Object assemble(Serializable object, SharedSessionContractImplementor session, Object owner) throws HibernateException { if ( object == null ) { return null; } else { Object[] values = (Object[]) object; Object[] assembled = new Object[values.length]; for ( int i = 0; i < propertyTypes.length; i++ ) { assembled[i] = propertyTypes[i].assemble( (Serializable) values[i], session, owner ); } Object result = instantiate( owner, session ); setPropertyValues( result, assembled, entityMode ); return result; } }
@Override @SuppressWarnings("unchecked") public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( Serializable item : array ) { final Object element = persister.getElementType().assemble( item, getSession(), owner ); if ( element != null ) { bag.add( element ); } } }
@Override public Object assemble(Serializable cached, SharedSessionContractImplementor session, Object owner) throws HibernateException { //we must use the "remembered" uk value, since it is //not available from the EntityEntry during assembly if (cached==null) { return null; } else { final Serializable key = (Serializable) getPersister(session) .getKeyType() .assemble( cached, session, owner); return resolveKey( key, session, owner, null ); } }
final Object propValue = lazyPropertyType.assemble( cachedValue, session,
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] array = ( Serializable[] ) disassembled; int size = array.length; beforeInitialize( persister, size ); for ( int i = 0; i < size; i++ ) { list.add( persister.getElementType().assemble( array[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] array = (Serializable[]) disassembled; int size = array.length; beforeInitialize( persister, size ); for ( int i = 0; i < size; i++ ) { Object element = persister.getElementType().assemble( array[i], getSession(), owner ); if ( element!=null ) { bag.add( element ); } } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] array = ( Serializable[] ) disassembled; int size = array.length; beforeInitialize( persister, size ); for ( int i = 0; i < size; i++ ) { list.add( persister.getElementType().assemble( array[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Type elementType = persister.getElementType(); final String indexNodeName = getIndexAttributeName(persister); Serializable[] cached = (Serializable[]) disassembled; for ( int i=0; i<cached.length; i++ ) { Object object = elementType.assemble( cached[i], getSession(), owner ); Element subelement = element.addElement( persister.getElementNodeName() ); elementType.setToXMLNode( subelement, object, persister.getFactory() ); setIndex( subelement, indexNodeName, Integer.toString(i) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Type elementType = persister.getElementType(); Serializable[] cached = (Serializable[]) disassembled; for ( int i=0; i<cached.length; i++ ) { Object object = elementType.assemble( cached[i], getSession(), owner ); Element subelement = element.addElement( persister.getElementNodeName() ); elementType.setToXMLNode( subelement, object, persister.getFactory() ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Type elementType = persister.getElementType(); Serializable[] cached = (Serializable[]) disassembled; for ( int i=0; i<cached.length; i++ ) { Object object = elementType.assemble( cached[i], getSession(), owner ); Element subelement = element.addElement( persister.getElementNodeName() ); elementType.setToXMLNode( subelement, object, persister.getFactory() ); } }