@Override @SuppressWarnings({"unchecked"}) public List<PersistentClass> getNeighbours(PersistentClass pc) { final List<PersistentClass> neighbours = new ArrayList<>(); addNeighbours( neighbours, (Iterator<PersistentClass>) pc.getSubclassIterator() ); return neighbours; }
@SuppressWarnings({"unchecked"}) private void addNeighbours(List<PersistentClass> neighbours, Iterator<PersistentClass> subclassIterator) { while ( subclassIterator.hasNext() ) { final PersistentClass subclass = subclassIterator.next(); neighbours.add( subclass ); addNeighbours( neighbours, (Iterator<PersistentClass>) subclass.getSubclassIterator() ); } }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator( this ) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator( iters ); }
@SuppressWarnings("unchecked") private boolean determineCanReadFromCache(PersistentClass persistentClass, EntityDataAccess cacheAccessStrategy) { if ( cacheAccessStrategy == null ) { return false; } if ( persistentClass.isCached() ) { return true; } final Iterator<Subclass> subclassIterator = persistentClass.getSubclassIterator(); while ( subclassIterator.hasNext() ) { final Subclass subclass = subclassIterator.next(); if ( subclass.isCached() ) { return true; } } return false; }
/** * @param pc The class for which to get the inheritance type. * * @return The inheritance type of this class. NONE, if this class does not inherit from * another persistent class. */ public static InheritanceType get(PersistentClass pc) { final PersistentClass superclass = pc.getSuperclass(); if ( superclass == null ) { return InheritanceType.NONE; } // We assume that every subclass is of the same type. final Subclass subclass = (Subclass) superclass.getSubclassIterator().next(); if ( subclass instanceof SingleTableSubclass ) { return InheritanceType.SINGLE; } else if ( subclass instanceof JoinedSubclass ) { return InheritanceType.JOINED; } else if ( subclass instanceof UnionSubclass ) { return InheritanceType.TABLE_PER_CLASS; } throw new MappingException( "Unknown subclass class: " + subclass.getClass() ); } }
Iterator<Subclass> subclasses = persistentClass.getSubclassIterator(); while ( subclasses.hasNext() ) { final Subclass subclass = subclasses.next();
); if ( persistentClass.isPolymorphic() ) { Iterator iter = persistentClass.getSubclassIterator(); int k = 1; while ( iter.hasNext() ) {
iter = persistentClass.getSubclassIterator(); int k = 0; while ( iter.hasNext() ) {
iter = persistentClass.getSubclassIterator(); int k = 1; while ( iter.hasNext() ) {
hasMutableProperties = foundMutable; iter = persistentClass.getSubclassIterator(); while ( iter.hasNext() ) { subclassEntityNames.add( ( (PersistentClass) iter.next() ).getEntityName() ); iter = persistentClass.getSubclassIterator(); while ( iter.hasNext() ) { final PersistentClass pc = ( PersistentClass ) iter.next();
@SuppressWarnings({"unchecked"}) private void addNeighbours(Collection<PersistentClass> neighbours, Iterator<PersistentClass> subclassIterator) { while ( subclassIterator.hasNext() ) { final PersistentClass subclass = subclassIterator.next(); neighbours.add( subclass ); addNeighbours( neighbours, (Iterator<PersistentClass>) subclass.getSubclassIterator() ); } }
@Override @SuppressWarnings({"unchecked"}) public Collection<PersistentClass> getNeighbours(PersistentClass pc) { final List<PersistentClass> neighbours = new ArrayList<>(); addNeighbours( neighbours, (Iterator<PersistentClass>) pc.getSubclassIterator() ); return neighbours; }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator(this) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator(iters); }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator(this) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator(iters); }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator(this) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator(iters); }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator(this) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator(iters); }
public Iterator getSubclassClosureIterator() { ArrayList iters = new ArrayList(); iters.add( new SingletonIterator( this ) ); Iterator iter = getSubclassIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); iters.add( clazz.getSubclassClosureIterator() ); } return new JoinedIterator( iters ); }
private static Map<Object, String> subclassesByValue(final PersistentClass persistentClass, Object value, Type type) { Map<Object, String> subclassesByDsicriminator = new HashMap<Object, String>(); subclassesByDsicriminator.put( value, persistentClass.getEntityName() ); if ( persistentClass.isPolymorphic() ) { @SuppressWarnings("unchecked") Iterator<Subclass> iter = persistentClass.getSubclassIterator(); while ( iter.hasNext() ) { Subclass sc = iter.next(); subclassesByDsicriminator.put( value( sc, type ), sc.getEntityName() ); } } return subclassesByDsicriminator; }
private static Map<Object, String> subclassesByValue(final PersistentClass persistentClass, Object value) { Map<Object, String> subclassesByDiscriminator = new HashMap<Object, String>(); subclassesByDiscriminator.put( persistentClass.getSubclassId(), persistentClass.getEntityName() ); if ( persistentClass.isPolymorphic() ) { @SuppressWarnings("unchecked") Iterator<Subclass> iter = persistentClass.getSubclassIterator(); while ( iter.hasNext() ) { Subclass sc = iter.next(); subclassesByDiscriminator.put( sc.getSubclassId(), sc.getEntityName() ); } } return subclassesByDiscriminator; }