private InheritanceModel buildInheritenceModel ( ) { InheritanceModel model = null ; if ( superClazzType != null ) { // means there is a super class // scan for inheritence model. if ( superClazzType . getPersistenceType ( ) . equals ( PersistenceType . ENTITY ) && superClazzType . getJavaType ( ) . isAnnotationPresent ( Inheritance . class ) ) { Inheritance inheritenceAnn = superClazzType . getJavaType ( ) . getAnnotation ( Inheritance . class ) ; InheritanceType strategyType = inheritenceAnn . strategy ( ) ; String descriminator = null ; String descriminatorValue = null ; String tableName = null ; String schemaName = null ; tableName = superClazzType . getJavaType ( ) . getSimpleName ( ) ; if ( superClazzType . getJavaType ( ) . isAnnotationPresent ( Table . class ) ) { tableName = superClazzType . getJavaType ( ) . getAnnotation ( Table . class ) . name ( ) ; schemaName = superClazzType . getJavaType ( ) . getAnnotation ( Table . class ) . schema ( ) ; } model = onStrategyType ( model , strategyType , descriminator , descriminatorValue , tableName , schemaName ) ; } } return model ; }
Build inheritance model .