@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap clonedMap = new HashMap( map.size() ); for ( Object o : map.entrySet() ) { final Entry e = (Entry) o; final Object copy = persister.getElementType().deepCopy( e.getValue(), persister.getFactory() ); clonedMap.put( e.getKey(), copy ); } return clonedMap; }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final ArrayList clonedList = new ArrayList( list.size() ); for ( Object element : list ) { final Object deepCopy = persister.getElementType().deepCopy( element, persister.getFactory() ); clonedList.add( deepCopy ); } return clonedList; }
@Override @SuppressWarnings("unchecked") public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final ArrayList clonedList = new ArrayList( bag.size() ); for ( Object item : bag ) { clonedList.add( persister.getElementType().deepCopy( item, persister.getFactory() ) ); } return clonedList; }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap clonedSet = new HashMap( set.size() ); for ( Object aSet : set ) { final Object copied = persister.getElementType().deepCopy( aSet, persister.getFactory() ); clonedSet.put( copied, copied ); } return clonedSet; }
@Override @SuppressWarnings("unchecked") public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap map = new HashMap( values.size() ); final Iterator iter = values.iterator(); int i=0; while ( iter.hasNext() ) { final Object value = iter.next(); map.put( identifiers.get( i++ ), persister.getElementType().deepCopy( value, persister.getFactory() ) ); } return map; }
@Override public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { // final int length = (array==null) ? tempList.size() : Array.getLength( array ); final int length = Array.getLength( array ); final Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { // final Object elt = (array==null) ? tempList.get( i ) : Array.get( array, i ); final Object elt = Array.get( array, i ); try { Array.set( result, i, persister.getElementType().deepCopy( elt, persister.getFactory() ) ); } catch (IllegalArgumentException iae) { LOG.invalidArrayElementType( iae.getMessage() ); throw new HibernateException( "Array element type error", iae ); } } return result; }
final CollectionReturn rootReturn = RootHelper.INSTANCE.extractRootReturn( loadPlan, CollectionReturn.class ); final AliasResolutionContextImpl aliasResolutionContext = new AliasResolutionContextImpl( collectionPersister.getFactory() ); return collectionPersister.isOneToMany() ? rootReturn, buildingParameters, collectionPersister.getFactory() ) : new BasicCollectionLoadQueryDetails( rootReturn, buildingParameters, collectionPersister.getFactory() );
private CollectionKey( String role, Serializable key, Type keyType, EntityMode entityMode, SessionFactoryImplementor factory) { this.role = role; this.key = key; this.keyType = keyType; this.entityMode = entityMode; this.factory = factory; //cache the hash-code this.hashCode = generateHashCode(); }
/** * Entry point into walking the model graph of a collection according to its defined metamodel. * * @param strategy The semantics strategy * @param persister The persister describing the collection to start walking from */ public static void visitCollection(AssociationVisitationStrategy strategy, CollectionPersister persister) { strategy.start(); try { new MetamodelGraphWalker( strategy, persister.getFactory() ) .visitCollectionDefinition( persister ); } finally { strategy.finish(); } }
public CollectionKey(CollectionPersister persister, Serializable key) { this( persister.getRole(), key, persister.getKeyType(), persister.getOwnerEntityPersister().getEntityMetamodel().getEntityMode(), persister.getFactory() ); }
id, ce.getLoadedKey(), collectionPersister.getFactory() );
required, (CollectionType) attributeDefinition.getType(), fetchedPersister.getFactory() ); lhsQuerySpace.addJoin( join );
if ( type.isAssociationType() ) { if ( type.isEntityType() ) { final EntityPersister elementPersister = persister.getFactory().getEntityPersister( ( (EntityType) type ).getAssociatedEntityName() );
if ( type.isAssociationType() ) { if ( type.isEntityType() ) { final EntityPersister indexPersister = persister.getFactory().getEntityPersister( ( (EntityType) type ).getAssociatedEntityName() );
public Iterator entries(CollectionPersister persister) { final Type elementType = persister.getElementType(); List elements = element.elements( persister.getElementNodeName() ); int length = elements.size(); List result = new ArrayList(length); for ( int i=0; i<length; i++ ) { Element elem = (Element) elements.get(i); Object object = elementType.fromXMLNode( elem, persister.getFactory() ); result.add(object); } return result.iterator(); }
protected Serializable snapshot(CollectionPersister persister) throws HibernateException { EntityMode entityMode = getSession().getEntityMode(); ArrayList clonedList = new ArrayList( list.size() ); Iterator iter = list.iterator(); while ( iter.hasNext() ) { clonedList.add( persister.getElementType().deepCopy( iter.next(), entityMode, persister.getFactory() ) ); } return clonedList; }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { EntityMode entityMode = getSession().getEntityMode(); ArrayList clonedList = new ArrayList( bag.size() ); Iterator iter = bag.iterator(); while ( iter.hasNext() ) { clonedList.add( persister.getElementType().deepCopy( iter.next(), entityMode, persister.getFactory() ) ); } return clonedList; }
public Serializable disassemble(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); List elements = element.elements( persister.getElementNodeName() ); int length = elements.size(); Serializable[] result = new Serializable[length]; for ( int i=0; i<length; i++ ) { Element elem = (Element) elements.get(i); Object object = elementType.fromXMLNode( elem, persister.getFactory() ); result[i] = elementType.disassemble( object, getSession(), null ); } return result; }
public Object readFrom(ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object object = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); final Type elementType = persister.getElementType(); Element subelement = element.addElement( persister.getElementNodeName() ); elementType.setToXMLNode( subelement, object, persister.getFactory() ); return object; }
public Object readFrom(ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object object = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); final Type elementType = persister.getElementType(); Element subelement = element.addElement( persister.getElementNodeName() ); elementType.setToXMLNode( subelement, object, persister.getFactory() ); return object; }