private static void buildPath ( HashMap m , String p ) { boolean isEvent = false ; if ( p . contains ( "@" ) ) { String [ ] components = p . split ( "@" ) ; int cl = components . length ; buildNestedBuckets ( m , components [ 0 ] ) ; if ( cl == 2 ) { if ( p . contains ( "!" ) ) isEvent = true ; HashMap pointer = traverseToPoint ( m , components [ 0 ] ) ; String d ; if ( isEvent ) { String [ ] temp = components [ 1 ] . split ( "!" ) ; d = temp [ 0 ] ; } else { d = components [ 1 ] ; } if ( ! pointer . containsKey ( d ) ) pointer . put ( d , new ArrayList ( ) ) ; } } }
Creates a nested path if not already present in the map . This does not support multipath definitions . Please split prior to sending the path to this function .