public void setEntryClasses ( Class < ? > ... entryClasses ) { int numEntries = entryClasses . length ; HashMap < String , Class < ? > > kindToEntryClassMap = this . kindToEntryClassMap ; for ( int i = 0 ; i < numEntries ; i ++ ) { Class < ? > entryClass = entryClasses [ i ] ; ClassInfo typeInfo = ClassInfo . of ( entryClass ) ; Field field = typeInfo . getField ( "@gd:kind" ) ; if ( field == null ) { throw new IllegalArgumentException ( "missing @gd:kind field for " + entryClass . getName ( ) ) ; } Object entry = Types . newInstance ( entryClass ) ; String kind = ( String ) FieldInfo . getFieldValue ( field , entry ) ; if ( kind == null ) { throw new IllegalArgumentException ( "missing value for @gd:kind field in " + entryClass . getName ( ) ) ; } kindToEntryClassMap . put ( kind , entryClass ) ; } }
Sets the entry classes to use when parsing .