test_class.file: servers/media/core/server-impl/src/test/java/org/mobicents/media/server/impl/naming/NameParserTest.java
test_class.identifier: NameParserTest
test_case.body: @Test
      public void testParse() {
          String name = "/media/aap/[1..100]";
          NameParser parser = new NameParser();
          Collection<NameToken> tokens = parser.parse(name);
          assertEquals(3, tokens.size());
          
          Iterator<NameToken> it = tokens.iterator();
          NameToken t = it.next();
          
          assertEquals(true, t instanceof FixedToken);
          
          t = it.next();
          assertEquals(true, t instanceof FixedToken);
          
          t = it.next();
          assertEquals(true, t instanceof NumericRange);
      }
test_case.class_method_signature: NameParserTest.testParse()
test_case.full_signature: @Test public void testParse()
test_case.identifier: testParse
test_case.invocations: parse assertEquals size iterator next assertEquals next assertEquals next assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParse()
focal_class.file: servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/naming/NameParser.java
focal_class.identifier: NameParser
focal_class.class_method_signature: NameParser.parse(String name)
focal_class.full_signature: public Collection<NameToken> parse(String name)
focal_class.identifier: parse
focal_class.modifiers: public
focal_class.parameters: (String name)
focal_class.return: Collection<NameToken>
focal_class.signature: Collection<NameToken> parse(String name)
focal_method.body: public Collection<NameToken> parse(String name) {
          ArrayList<NameToken> list = new ArrayList();
          String[] parts = name.split("/");        
          for (String part: parts) {
              part = part.trim();
              
              if (part.length() == 0) {
                  continue;
              }
              
              if (part.startsWith("[")) {
                  list.add(new NumericRange(part));
              } else {
                  list.add(new FixedToken(part));
              }
              //FIXME: include text ranges
          }
          return list;
      }
focal_method.class_method_signature: NameParser.parse(String name)
focal_method.full_signature: public Collection<NameToken> parse(String name)
focal_method.identifier: parse
focal_method.invocations: split trim length startsWith add add
focal_method.modifiers: public
focal_method.parameters: (String name)
focal_method.return: Collection<NameToken>
focal_method.signature: Collection<NameToken> parse(String name)