public Map getMapFromReference ( final Reference ref , final Map defaults ) { if ( TraceComponent . isAnyTracingEnabled ( ) && TRACE . isEntryEnabled ( ) ) { SibTr . entry ( this , TRACE , "getMapFromReference" , new Object [ ] { ref , defaults } ) ; } Map extractedProps = null ; // Extract a Map of the properties from the Reference synchronized ( ref ) { Enumeration propsList = ref . getAll ( ) ; // This will be set up to contain a map representing all the // information that was previously stored in the Reference. final Map < String , String > encodedMap = new HashMap < String , String > ( ) ; // Look at each property in turn. while ( propsList . hasMoreElements ( ) ) { // Get the coded version of the name. This will start with one // of the prefix values. The codedName must have been non-null. StringRefAddr refAddr = ( StringRefAddr ) propsList . nextElement ( ) ; String codedName = refAddr . getType ( ) ; String val = ( String ) refAddr . getContent ( ) ; // Store the coded information in the map. encodedMap . put ( codedName , val ) ; } //while // Decode the encoded map. extractedProps = getStringDecodedMap ( encodedMap , defaults ) ; } //sync if ( TraceComponent . isAnyTracingEnabled ( ) && TRACE . isEntryEnabled ( ) ) { SibTr . exit ( this , TRACE , "getMapFromReference" , extractedProps ) ; } return extractedProps ; }
Uses the reference passed in to extract a map of properties which have been stored in this Reference .