protected void registerEditorsWithSubClasses ( PropertyEditor editor , Class < ? extends BioPAXElement > domain ) { for ( Class < ? extends BioPAXElement > c : classToEditorMap . keySet ( ) ) { if ( domain . isAssignableFrom ( c ) ) { //workaround for participants - can be replaced w/ a general // annotation based system. For the time being, I am just handling it //as a special case if ( ( editor . getProperty ( ) . equals ( "PARTICIPANTS" ) && ( conversion . class . isAssignableFrom ( c ) || control . class . isAssignableFrom ( c ) ) ) || ( editor . getProperty ( ) . equals ( "participant" ) && ( Conversion . class . isAssignableFrom ( c ) || Control . class . isAssignableFrom ( c ) ) ) ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "skipping restricted participant property" ) ; } } else { classToEditorMap . get ( c ) . put ( editor . getProperty ( ) , editor ) ; } } } if ( editor instanceof ObjectPropertyEditor ) { registerInverseEditors ( ( ObjectPropertyEditor ) editor ) ; } }
This method registers an editor with sub classes - i . e . inserts the editor to the proper value in editor maps .