test_class.file: agent/core/src/test/java/org/glowroot/agent/weaving/ClassLoadersTest.java
test_class.identifier: ClassLoadersTest
test_case.body: @Test
      public void shouldCreateDirectory() throws IOException {
          // given
          File file = File.createTempFile("glowroot-unit-test-", "");
          file.delete();
          // when
          ClassLoaders.createDirectoryOrCleanPreviousContentsWithPrefix(file, "abc");
          // then
          assertThat(file.isDirectory()).isTrue();
      }
test_case.class_method_signature: ClassLoadersTest.shouldCreateDirectory()
test_case.full_signature: @Test public void shouldCreateDirectory()
test_case.identifier: shouldCreateDirectory
test_case.invocations: createTempFile delete createDirectoryOrCleanPreviousContentsWithPrefix isTrue assertThat isDirectory
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCreateDirectory()
focal_class.declarator: logger = LoggerFactory.getLogger(ClassLoaders.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(ClassLoaders.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: lock = new Object()
focal_class.modifier: private static final
focal_class.original_string: private static final Object lock = new Object();
focal_class.type: Object
focal_class.var_name: lock
focal_class.file: agent/core/src/main/java/org/glowroot/agent/weaving/ClassLoaders.java
focal_class.identifier: ClassLoaders
focal_class.class_method_signature: ClassLoaders.ClassLoaders()
focal_class.full_signature: private  ClassLoaders()
focal_class.identifier: ClassLoaders
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  ClassLoaders()
focal_class.class_method_signature: ClassLoaders.defineClassesInBootstrapClassLoader(Collection<LazyDefinedClass> lazyDefinedClasses,
              Instrumentation instrumentation, File generatedJarFile)
focal_class.full_signature: static void defineClassesInBootstrapClassLoader(Collection<LazyDefinedClass> lazyDefinedClasses,
              Instrumentation instrumentation, File generatedJarFile)
focal_class.identifier: defineClassesInBootstrapClassLoader
focal_class.modifiers: static
focal_class.parameters: (Collection<LazyDefinedClass> lazyDefinedClasses,
              Instrumentation instrumentation, File generatedJarFile)
focal_class.return: void
focal_class.signature: void defineClassesInBootstrapClassLoader(Collection<LazyDefinedClass> lazyDefinedClasses,
              Instrumentation instrumentation, File generatedJarFile)
focal_class.class_method_signature: ClassLoaders.defineClasses(Collection<LazyDefinedClass> lazyDefinedClasses, ClassLoader loader)
focal_class.full_signature: static void defineClasses(Collection<LazyDefinedClass> lazyDefinedClasses, ClassLoader loader)
focal_class.identifier: defineClasses
focal_class.modifiers: static
focal_class.parameters: (Collection<LazyDefinedClass> lazyDefinedClasses, ClassLoader loader)
focal_class.return: void
focal_class.signature: void defineClasses(Collection<LazyDefinedClass> lazyDefinedClasses, ClassLoader loader)
focal_class.class_method_signature: ClassLoaders.defineClassIfNotExists(LazyDefinedClass lazyDefinedClass, ClassLoader loader)
focal_class.full_signature: static void defineClassIfNotExists(LazyDefinedClass lazyDefinedClass, ClassLoader loader)
focal_class.identifier: defineClassIfNotExists
focal_class.modifiers: static
focal_class.parameters: (LazyDefinedClass lazyDefinedClass, ClassLoader loader)
focal_class.return: void
focal_class.signature: void defineClassIfNotExists(LazyDefinedClass lazyDefinedClass, ClassLoader loader)
focal_class.class_method_signature: ClassLoaders.defineClass(String name, byte[] bytes, ClassLoader loader)
focal_class.full_signature: static void defineClass(String name, byte[] bytes, ClassLoader loader)
focal_class.identifier: defineClass
focal_class.modifiers: static
focal_class.parameters: (String name, byte[] bytes, ClassLoader loader)
focal_class.return: void
focal_class.signature: void defineClass(String name, byte[] bytes, ClassLoader loader)
focal_class.class_method_signature: ClassLoaders.createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
focal_class.full_signature: static void createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
focal_class.identifier: createDirectoryOrCleanPreviousContentsWithPrefix
focal_class.modifiers: static
focal_class.parameters: (File dir, String prefix)
focal_class.return: void
focal_class.signature: void createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
focal_class.class_method_signature: ClassLoaders.defineClass(LazyDefinedClass lazyDefinedClass, ClassLoader loader,
              boolean ifNotExists)
focal_class.full_signature: private static void defineClass(LazyDefinedClass lazyDefinedClass, ClassLoader loader,
              boolean ifNotExists)
focal_class.identifier: defineClass
focal_class.modifiers: private static
focal_class.parameters: (LazyDefinedClass lazyDefinedClass, ClassLoader loader,
              boolean ifNotExists)
focal_class.return: void
focal_class.signature: void defineClass(LazyDefinedClass lazyDefinedClass, ClassLoader loader,
              boolean ifNotExists)
focal_class.class_method_signature: ClassLoaders.classExists(String name, ClassLoader loader)
focal_class.full_signature: private static boolean classExists(String name, ClassLoader loader)
focal_class.identifier: classExists
focal_class.modifiers: private static
focal_class.parameters: (String name, ClassLoader loader)
focal_class.return: boolean
focal_class.signature: boolean classExists(String name, ClassLoader loader)
focal_class.class_method_signature: ClassLoaders.generate(Collection<LazyDefinedClass> lazyDefinedClasses,
              JarOutputStream jarOut)
focal_class.full_signature: private static void generate(Collection<LazyDefinedClass> lazyDefinedClasses,
              JarOutputStream jarOut)
focal_class.identifier: generate
focal_class.modifiers: private static
focal_class.parameters: (Collection<LazyDefinedClass> lazyDefinedClasses,
              JarOutputStream jarOut)
focal_class.return: void
focal_class.signature: void generate(Collection<LazyDefinedClass> lazyDefinedClasses,
              JarOutputStream jarOut)
focal_class.class_method_signature: ClassLoaders.deleteIfRegularFile(File file)
focal_class.full_signature: private static void deleteIfRegularFile(File file)
focal_class.identifier: deleteIfRegularFile
focal_class.modifiers: private static
focal_class.parameters: (File file)
focal_class.return: void
focal_class.signature: void deleteIfRegularFile(File file)
focal_class.class_method_signature: ClassLoaders.deleteFilesWithPrefix(File dir, String prefix)
focal_class.full_signature: private static void deleteFilesWithPrefix(File dir, String prefix)
focal_class.identifier: deleteFilesWithPrefix
focal_class.modifiers: private static
focal_class.parameters: (File dir, String prefix)
focal_class.return: void
focal_class.signature: void deleteFilesWithPrefix(File dir, String prefix)
focal_class.class_method_signature: ClassLoaders.createDirectory(File dir)
focal_class.full_signature: private static void createDirectory(File dir)
focal_class.identifier: createDirectory
focal_class.modifiers: private static
focal_class.parameters: (File dir)
focal_class.return: void
focal_class.signature: void createDirectory(File dir)
focal_class.class_method_signature: ClassLoaders.appendToBootstrapResourcePath(File generatedJarFile)
focal_class.full_signature: private static void appendToBootstrapResourcePath(File generatedJarFile)
focal_class.identifier: appendToBootstrapResourcePath
focal_class.modifiers: private static
focal_class.parameters: (File generatedJarFile)
focal_class.return: void
focal_class.signature: void appendToBootstrapResourcePath(File generatedJarFile)
focal_method.body: static void createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
              throws IOException {
          deleteIfRegularFile(dir);
          if (dir.exists()) {
              deleteFilesWithPrefix(dir, prefix);
          } else {
              createDirectory(dir);
          }
      }
focal_method.class_method_signature: ClassLoaders.createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
focal_method.full_signature: static void createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)
focal_method.identifier: createDirectoryOrCleanPreviousContentsWithPrefix
focal_method.invocations: deleteIfRegularFile exists deleteFilesWithPrefix createDirectory
focal_method.modifiers: static
focal_method.parameters: (File dir, String prefix)
focal_method.return: void
focal_method.signature: void createDirectoryOrCleanPreviousContentsWithPrefix(File dir, String prefix)