test_class.file: webapp/impl/src/test/java/cloud/piranha/webapp/impl/DefaultWebApplicationExtensionContextTest.java
test_class.identifier: DefaultWebApplicationExtensionContextTest
test_case.body: @Test
      void testAdd() {
          DefaultWebApplicationExtensionContext context = new DefaultWebApplicationExtensionContext();
          DefaultWebApplication webApplication = new DefaultWebApplication();
          context.add(TestExtension.class);
          context.configure(webApplication);
          webApplication.initialize();
          assertNotNull(webApplication.getAttribute(TestInitializer.class.getName()));
      }
test_case.class_method_signature: DefaultWebApplicationExtensionContextTest.testAdd()
test_case.full_signature: @Test void testAdd()
test_case.identifier: testAdd
test_case.invocations: add configure initialize assertNotNull getAttribute getName
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAdd()
focal_class.declarator: extensions
focal_class.modifier: private final
focal_class.original_string: private final ArrayList<WebApplicationExtension> extensions;
focal_class.type: ArrayList<WebApplicationExtension>
focal_class.var_name: extensions
focal_class.declarator: extensionClasses
focal_class.modifier: private final
focal_class.original_string: private final ArrayList<Class<? extends WebApplicationExtension>> extensionClasses;
focal_class.type: ArrayList<Class<? extends WebApplicationExtension>>
focal_class.var_name: extensionClasses
focal_class.file: webapp/impl/src/main/java/cloud/piranha/webapp/impl/DefaultWebApplicationExtensionContext.java
focal_class.identifier: DefaultWebApplicationExtensionContext
focal_class.interfaces: implements WebApplicationExtensionContext
focal_class.class_method_signature: DefaultWebApplicationExtensionContext.DefaultWebApplicationExtensionContext()
focal_class.full_signature: public  DefaultWebApplicationExtensionContext()
focal_class.identifier: DefaultWebApplicationExtensionContext
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  DefaultWebApplicationExtensionContext()
focal_class.class_method_signature: DefaultWebApplicationExtensionContext.add(Class<? extends WebApplicationExtension> extension)
focal_class.full_signature: @Override public void add(Class<? extends WebApplicationExtension> extension)
focal_class.identifier: add
focal_class.modifiers: @Override public
focal_class.parameters: (Class<? extends WebApplicationExtension> extension)
focal_class.return: void
focal_class.signature: void add(Class<? extends WebApplicationExtension> extension)
focal_class.class_method_signature: DefaultWebApplicationExtensionContext.add(WebApplicationExtension extension)
focal_class.full_signature: @Override public void add(WebApplicationExtension extension)
focal_class.identifier: add
focal_class.modifiers: @Override public
focal_class.parameters: (WebApplicationExtension extension)
focal_class.return: void
focal_class.signature: void add(WebApplicationExtension extension)
focal_class.class_method_signature: DefaultWebApplicationExtensionContext.configure(WebApplication webApplication)
focal_class.full_signature: public void configure(WebApplication webApplication)
focal_class.identifier: configure
focal_class.modifiers: public
focal_class.parameters: (WebApplication webApplication)
focal_class.return: void
focal_class.signature: void configure(WebApplication webApplication)
focal_class.class_method_signature: DefaultWebApplicationExtensionContext.remove(Class<? extends WebApplicationExtension> extension)
focal_class.full_signature: @Override public void remove(Class<? extends WebApplicationExtension> extension)
focal_class.identifier: remove
focal_class.modifiers: @Override public
focal_class.parameters: (Class<? extends WebApplicationExtension> extension)
focal_class.return: void
focal_class.signature: void remove(Class<? extends WebApplicationExtension> extension)
focal_method.body: @Override
      public void add(Class<? extends WebApplicationExtension> extension) {
          try {
              WebApplicationExtension instance = extension.getDeclaredConstructor().newInstance();
              instance.extend(this);
              extensions.add(instance);
              extensionClasses.add(extension);
          } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException ex) {
              ex.printStackTrace();
          }
      }
focal_method.class_method_signature: DefaultWebApplicationExtensionContext.add(Class<? extends WebApplicationExtension> extension)
focal_method.full_signature: @Override public void add(Class<? extends WebApplicationExtension> extension)
focal_method.identifier: add
focal_method.invocations: newInstance getDeclaredConstructor extend add add printStackTrace
focal_method.modifiers: @Override public
focal_method.parameters: (Class<? extends WebApplicationExtension> extension)
focal_method.return: void
focal_method.signature: void add(Class<? extends WebApplicationExtension> extension)