test_class.file: rosjava/nrosjava_bootstrap/src/test/java/org/ros/namespace/GraphNameTest.java
test_class.identifier: GraphNameTest
test_case.body: @Test
    public void testNewAnonymous() throws InterruptedException {
      Executor executor = Executors.newFixedThreadPool(10);
      int sampleSize = 10000;
      final CountDownLatch latch = new CountDownLatch(sampleSize);
      final Set<GraphName> anonymousGraphNames =
          Collections.synchronizedSet(new HashSet<GraphName>());
      for (int i = 0; i < sampleSize; i++) {
        executor.execute(new Runnable() {
          @Override
          public void run() {
            GraphName name = GraphName.newAnonymous();
            assertTrue(name.toString().startsWith(GraphName.ANONYMOUS_PREFIX));
            anonymousGraphNames.add(name);
            latch.countDown();
          }
        });
      }
      assertTrue(latch.await(1, TimeUnit.SECONDS));
      assertEquals(sampleSize, anonymousGraphNames.size());
    }
test_case.class_method_signature: GraphNameTest.testNewAnonymous()
test_case.full_signature: @Test public void testNewAnonymous()
test_case.identifier: testNewAnonymous
test_case.invocations: newFixedThreadPool synchronizedSet execute newAnonymous assertTrue startsWith toString add countDown assertTrue await assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testNewAnonymous()
focal_class.declarator: ANONYMOUS_PREFIX = "anonymous_"
focal_class.modifier: @VisibleForTesting
    static final
focal_class.original_string: @VisibleForTesting
    static final String ANONYMOUS_PREFIX = "anonymous_";
focal_class.type: String
focal_class.var_name: ANONYMOUS_PREFIX
focal_class.declarator: ROOT = "/"
focal_class.modifier: private static final
focal_class.original_string: private static final String ROOT = "/";
focal_class.type: String
focal_class.var_name: ROOT
focal_class.declarator: SEPARATOR = "/"
focal_class.modifier: private static final
focal_class.original_string: private static final String SEPARATOR = "/";
focal_class.type: String
focal_class.var_name: SEPARATOR
focal_class.declarator: VALID_GRAPH_NAME_REGEXP = "^([\\~\\/A-Za-z][\\w_\\/]*)?$"
focal_class.modifier: public static final
focal_class.original_string: public static final String VALID_GRAPH_NAME_REGEXP = "^([\\~\\/A-Za-z][\\w_\\/]*)?$";
focal_class.type: String
focal_class.var_name: VALID_GRAPH_NAME_REGEXP
focal_class.declarator: VALID_GRAPH_NAME_PATTERN = Pattern
        .compile(VALID_GRAPH_NAME_REGEXP)
focal_class.modifier: public static final
focal_class.original_string: public static final Pattern VALID_GRAPH_NAME_PATTERN = Pattern
        .compile(VALID_GRAPH_NAME_REGEXP);
focal_class.type: Pattern
focal_class.var_name: VALID_GRAPH_NAME_PATTERN
focal_class.declarator: anonymousCounter = new AtomicInteger()
focal_class.modifier: private static
focal_class.original_string: private static AtomicInteger anonymousCounter = new AtomicInteger();
focal_class.type: AtomicInteger
focal_class.var_name: anonymousCounter
focal_class.declarator: name
focal_class.modifier: private final
focal_class.original_string: private final String name;
focal_class.type: String
focal_class.var_name: name
focal_class.file: rosjava/nrosjava_bootstrap/src/main/java/org/ros/namespace/GraphName.java
focal_class.identifier: GraphName
focal_class.class_method_signature: GraphName.newAnonymous()
focal_class.full_signature: public static GraphName newAnonymous()
focal_class.identifier: newAnonymous
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName newAnonymous()
focal_class.class_method_signature: GraphName.root()
focal_class.full_signature: public static GraphName root()
focal_class.identifier: root
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName root()
focal_class.class_method_signature: GraphName.empty()
focal_class.full_signature: public static GraphName empty()
focal_class.identifier: empty
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName empty()
focal_class.class_method_signature: GraphName.of(String name)
focal_class.full_signature: public static GraphName of(String name)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: GraphName
focal_class.signature: GraphName of(String name)
focal_class.class_method_signature: GraphName.GraphName(String name)
focal_class.full_signature: private  GraphName(String name)
focal_class.identifier: GraphName
focal_class.modifiers: private
focal_class.parameters: (String name)
focal_class.signature:  GraphName(String name)
focal_class.class_method_signature: GraphName.canonicalize(String name)
focal_class.full_signature: private static String canonicalize(String name)
focal_class.identifier: canonicalize
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String canonicalize(String name)
focal_class.class_method_signature: GraphName.isGlobal()
focal_class.full_signature: public boolean isGlobal()
focal_class.identifier: isGlobal
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isGlobal()
focal_class.class_method_signature: GraphName.isRoot()
focal_class.full_signature: public boolean isRoot()
focal_class.identifier: isRoot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isRoot()
focal_class.class_method_signature: GraphName.isEmpty()
focal_class.full_signature: public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: GraphName.isPrivate()
focal_class.full_signature: public boolean isPrivate()
focal_class.identifier: isPrivate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isPrivate()
focal_class.class_method_signature: GraphName.isRelative()
focal_class.full_signature: public boolean isRelative()
focal_class.identifier: isRelative
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isRelative()
focal_class.class_method_signature: GraphName.getParent()
focal_class.full_signature: public GraphName getParent()
focal_class.identifier: getParent
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName getParent()
focal_class.class_method_signature: GraphName.getBasename()
focal_class.full_signature: public GraphName getBasename()
focal_class.identifier: getBasename
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName getBasename()
focal_class.class_method_signature: GraphName.toRelative()
focal_class.full_signature: public GraphName toRelative()
focal_class.identifier: toRelative
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName toRelative()
focal_class.class_method_signature: GraphName.toGlobal()
focal_class.full_signature: public GraphName toGlobal()
focal_class.identifier: toGlobal
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GraphName
focal_class.signature: GraphName toGlobal()
focal_class.class_method_signature: GraphName.join(GraphName other)
focal_class.full_signature: public GraphName join(GraphName other)
focal_class.identifier: join
focal_class.modifiers: public
focal_class.parameters: (GraphName other)
focal_class.return: GraphName
focal_class.signature: GraphName join(GraphName other)
focal_class.class_method_signature: GraphName.join(String other)
focal_class.full_signature: public GraphName join(String other)
focal_class.identifier: join
focal_class.modifiers: public
focal_class.parameters: (String other)
focal_class.return: GraphName
focal_class.signature: GraphName join(String other)
focal_class.class_method_signature: GraphName.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: GraphName.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: GraphName.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_method.body: public static GraphName newAnonymous() {
      return new GraphName(ANONYMOUS_PREFIX + anonymousCounter.incrementAndGet());
    }
focal_method.class_method_signature: GraphName.newAnonymous()
focal_method.full_signature: public static GraphName newAnonymous()
focal_method.identifier: newAnonymous
focal_method.invocations: incrementAndGet
focal_method.modifiers: public static
focal_method.parameters: ()
focal_method.return: GraphName
focal_method.signature: GraphName newAnonymous()