public void printRelations ( ClassDoc c ) { Options opt = optionProvider . getOptionsFor ( c ) ; if ( hidden ( c ) || c . name ( ) . equals ( "" ) ) // avoid phantom classes, they may pop up when the source uses annotations return ; // Print generalization (through the Java superclass) Type s = c . superclassType ( ) ; ClassDoc sc = s != null && ! s . qualifiedTypeName ( ) . equals ( Object . class . getName ( ) ) ? s . asClassDoc ( ) : null ; if ( sc != null && ! c . isEnum ( ) && ! hidden ( sc ) ) relation ( opt , RelationType . EXTENDS , c , sc , null , null , null ) ; // Print generalizations (through @extends tags) for ( Tag tag : c . tags ( "extends" ) ) if ( ! hidden ( tag . text ( ) ) ) relation ( opt , RelationType . EXTENDS , c , c . findClass ( tag . text ( ) ) , null , null , null ) ; // Print realizations (Java interfaces) for ( Type iface : c . interfaceTypes ( ) ) { ClassDoc ic = iface . asClassDoc ( ) ; if ( ! hidden ( ic ) ) relation ( opt , RelationType . IMPLEMENTS , c , ic , null , null , null ) ; } // Print other associations allRelation ( opt , RelationType . COMPOSED , c ) ; allRelation ( opt , RelationType . NAVCOMPOSED , c ) ; allRelation ( opt , RelationType . HAS , c ) ; allRelation ( opt , RelationType . NAVHAS , c ) ; allRelation ( opt , RelationType . ASSOC , c ) ; allRelation ( opt , RelationType . NAVASSOC , c ) ; allRelation ( opt , RelationType . DEPEND , c ) ; }
Print a class s relations