public String processNested ( Properties attributes ) throws XDocletException { String name = OjbMemberTagsHandler . getMemberName ( ) ; XClass type = OjbMemberTagsHandler . getMemberType ( ) ; int dim = OjbMemberTagsHandler . getMemberDimension ( ) ; NestedDef nestedDef = _curClassDef . getNested ( name ) ; if ( type == null ) { throw new XDocletException ( Translator . getString ( XDocletModulesOjbMessages . class , XDocletModulesOjbMessages . COULD_NOT_DETERMINE_TYPE_OF_MEMBER , new String [ ] { name } ) ) ; } if ( dim > 0 ) { throw new XDocletException ( Translator . getString ( XDocletModulesOjbMessages . class , XDocletModulesOjbMessages . MEMBER_CANNOT_BE_NESTED , new String [ ] { name , _curClassDef . getName ( ) } ) ) ; } ClassDescriptorDef nestedTypeDef = _model . getClass ( type . getQualifiedName ( ) ) ; if ( nestedTypeDef == null ) { throw new XDocletException ( Translator . getString ( XDocletModulesOjbMessages . class , XDocletModulesOjbMessages . COULD_NOT_DETERMINE_TYPE_OF_MEMBER , new String [ ] { name } ) ) ; } if ( nestedDef == null ) { nestedDef = new NestedDef ( name , nestedTypeDef ) ; _curClassDef . addNested ( nestedDef ) ; } LogHelper . debug ( false , OjbTagsHandler . class , "processNested" , " Processing nested object " + nestedDef . getName ( ) + " of type " + nestedTypeDef . getName ( ) ) ; String attrName ; for ( Enumeration attrNames = attributes . propertyNames ( ) ; attrNames . hasMoreElements ( ) ; ) { attrName = ( String ) attrNames . nextElement ( ) ; nestedDef . setProperty ( attrName , attributes . getProperty ( attrName ) ) ; } return "" ; }
Addes the current member as a nested object .