private String getHierarchyTable ( ClassDescriptorDef classDef ) { ArrayList queue = new ArrayList ( ) ; String tableName = null ; queue . add ( classDef ) ; while ( ! queue . isEmpty ( ) ) { ClassDescriptorDef curClassDef = ( ClassDescriptorDef ) queue . get ( 0 ) ; queue . remove ( 0 ) ; if ( curClassDef . getBooleanProperty ( PropertyHelper . OJB_PROPERTY_GENERATE_TABLE_INFO , true ) ) { if ( tableName != null ) { if ( ! tableName . equals ( curClassDef . getProperty ( PropertyHelper . OJB_PROPERTY_TABLE ) ) ) { return null ; } } else { tableName = curClassDef . getProperty ( PropertyHelper . OJB_PROPERTY_TABLE ) ; } } for ( Iterator it = curClassDef . getExtentClasses ( ) ; it . hasNext ( ) ; ) { curClassDef = ( ClassDescriptorDef ) it . next ( ) ; if ( curClassDef . getReference ( "super" ) == null ) { queue . add ( curClassDef ) ; } } } return tableName ; }
Tries to return the single table to which all classes in the hierarchy with the given class as the root map .