test_class.file: core/src/test/java/net/adamcin/oakpal/core/CheckSpecTest.java
test_class.identifier: CheckSpecTest
test_case.body: @Test
      public void testOverrides() {
          CheckSpec left = new CheckSpec();
          CheckSpec right = new CheckSpec();
          assertFalse("left should not override right if either is unnamed", left.overrides(right));
          assertFalse("right should not override left if either is unnamed", left.isOverriddenBy(right));
          left.setName("base");
          right.setName("base");
          left.setTemplate("inheriting");
          assertFalse("left and right should not override each other when left must inherit", left.overrides(right));
          assertFalse("right and left should not override each other when left must inherit", left.isOverriddenBy(right));
          left.setTemplate(null);
          right.setTemplate("inheriting");
          assertFalse("left and right should not override each other when right must inherit", left.overrides(right));
          assertFalse("right and left should not override each other when right must inherit", left.isOverriddenBy(right));
          right.setTemplate(null);
  
          assertTrue("left and right should override each other with same name", left.overrides(right));
          assertTrue("right and left should override each other with same name", left.isOverriddenBy(right));
          left.setName("main/base");
          assertFalse("left should not override right if left name is not same or suffix of right name", left.overrides(right));
          assertTrue("right should override left if right is suffix of left name", left.isOverriddenBy(right));
          right.setName("core/base");
          assertFalse("right should not override left if right name is not same or suffix of left name", left.isOverriddenBy(right));
      }
test_case.class_method_signature: CheckSpecTest.testOverrides()
test_case.full_signature: @Test public void testOverrides()
test_case.identifier: testOverrides
test_case.invocations: assertFalse overrides assertFalse isOverriddenBy setName setName setTemplate assertFalse overrides assertFalse isOverriddenBy setTemplate setTemplate assertFalse overrides assertFalse isOverriddenBy setTemplate assertTrue overrides assertTrue isOverriddenBy setName assertFalse overrides assertTrue isOverriddenBy setName assertFalse isOverriddenBy
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testOverrides()
focal_class.declarator: KEYS = new JsonKeys() {
          @Override
          public String impl() {
              return "impl";
          }
  
          @Override
          public String inlineScript() {
              return "inlineScript";
          }
  
          @Override
          public String inlineEngine() {
              return "inlineEngine";
          }
  
          @Override
          public String name() {
              return "name";
          }
  
          @Override
          public String template() {
              return "template";
          }
  
          @Override
          public String skip() {
              return "skip";
          }
  
          @Override
          public String config() {
              return "config";
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final JsonKeys KEYS = new JsonKeys() {
          @Override
          public String impl() {
              return "impl";
          }
  
          @Override
          public String inlineScript() {
              return "inlineScript";
          }
  
          @Override
          public String inlineEngine() {
              return "inlineEngine";
          }
  
          @Override
          public String name() {
              return "name";
          }
  
          @Override
          public String template() {
              return "template";
          }
  
          @Override
          public String skip() {
              return "skip";
          }
  
          @Override
          public String config() {
              return "config";
          }
      };
focal_class.type: JsonKeys
focal_class.var_name: KEYS
focal_class.declarator: impl
focal_class.modifier: private
focal_class.original_string: private String impl;
focal_class.type: String
focal_class.var_name: impl
focal_class.declarator: inlineScript
focal_class.modifier: private
focal_class.original_string: private String inlineScript;
focal_class.type: String
focal_class.var_name: inlineScript
focal_class.declarator: inlineEngine
focal_class.modifier: private
focal_class.original_string: private String inlineEngine;
focal_class.type: String
focal_class.var_name: inlineEngine
focal_class.declarator: name
focal_class.modifier: private
focal_class.original_string: private String name;
focal_class.type: String
focal_class.var_name: name
focal_class.declarator: template
focal_class.modifier: private
focal_class.original_string: private String template;
focal_class.type: String
focal_class.var_name: template
focal_class.declarator: skip
focal_class.modifier: private
focal_class.original_string: private boolean skip;
focal_class.type: boolean
focal_class.var_name: skip
focal_class.declarator: config
focal_class.modifier: private
focal_class.original_string: private JsonObject config;
focal_class.type: JsonObject
focal_class.var_name: config
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/CheckSpec.java
focal_class.identifier: CheckSpec
focal_class.interfaces: implements JsonObjectConvertible
focal_class.class_method_signature: CheckSpec.keys()
focal_class.full_signature: @NotNull public static CheckSpec.JsonKeys keys()
focal_class.identifier: keys
focal_class.modifiers: @NotNull public static
focal_class.parameters: ()
focal_class.return: CheckSpec.JsonKeys
focal_class.signature: CheckSpec.JsonKeys keys()
focal_class.class_method_signature: CheckSpec.getImpl()
focal_class.full_signature: public String getImpl()
focal_class.identifier: getImpl
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getImpl()
focal_class.class_method_signature: CheckSpec.setImpl(final String impl)
focal_class.full_signature: public void setImpl(final String impl)
focal_class.identifier: setImpl
focal_class.modifiers: public
focal_class.parameters: (final String impl)
focal_class.return: void
focal_class.signature: void setImpl(final String impl)
focal_class.class_method_signature: CheckSpec.getInlineScript()
focal_class.full_signature: public String getInlineScript()
focal_class.identifier: getInlineScript
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getInlineScript()
focal_class.class_method_signature: CheckSpec.setInlineScript(final String inlineScript)
focal_class.full_signature: public void setInlineScript(final String inlineScript)
focal_class.identifier: setInlineScript
focal_class.modifiers: public
focal_class.parameters: (final String inlineScript)
focal_class.return: void
focal_class.signature: void setInlineScript(final String inlineScript)
focal_class.class_method_signature: CheckSpec.getInlineEngine()
focal_class.full_signature: public String getInlineEngine()
focal_class.identifier: getInlineEngine
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getInlineEngine()
focal_class.class_method_signature: CheckSpec.setInlineEngine(final String inlineEngine)
focal_class.full_signature: public void setInlineEngine(final String inlineEngine)
focal_class.identifier: setInlineEngine
focal_class.modifiers: public
focal_class.parameters: (final String inlineEngine)
focal_class.return: void
focal_class.signature: void setInlineEngine(final String inlineEngine)
focal_class.class_method_signature: CheckSpec.isAbstract()
focal_class.full_signature: public final boolean isAbstract()
focal_class.identifier: isAbstract
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isAbstract()
focal_class.class_method_signature: CheckSpec.notAbstract()
focal_class.full_signature: public final boolean notAbstract()
focal_class.identifier: notAbstract
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean notAbstract()
focal_class.class_method_signature: CheckSpec.getName()
focal_class.full_signature: public String getName()
focal_class.identifier: getName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: CheckSpec.setName(final String name)
focal_class.full_signature: public void setName(final String name)
focal_class.identifier: setName
focal_class.modifiers: public
focal_class.parameters: (final String name)
focal_class.return: void
focal_class.signature: void setName(final String name)
focal_class.class_method_signature: CheckSpec.getTemplate()
focal_class.full_signature: public String getTemplate()
focal_class.identifier: getTemplate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getTemplate()
focal_class.class_method_signature: CheckSpec.setTemplate(final String template)
focal_class.full_signature: public void setTemplate(final String template)
focal_class.identifier: setTemplate
focal_class.modifiers: public
focal_class.parameters: (final String template)
focal_class.return: void
focal_class.signature: void setTemplate(final String template)
focal_class.class_method_signature: CheckSpec.mustInherit()
focal_class.full_signature: final boolean mustInherit()
focal_class.identifier: mustInherit
focal_class.modifiers: final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean mustInherit()
focal_class.class_method_signature: CheckSpec.isSkip()
focal_class.full_signature: public boolean isSkip()
focal_class.identifier: isSkip
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSkip()
focal_class.class_method_signature: CheckSpec.setSkip(final boolean skip)
focal_class.full_signature: public void setSkip(final boolean skip)
focal_class.identifier: setSkip
focal_class.modifiers: public
focal_class.parameters: (final boolean skip)
focal_class.return: void
focal_class.signature: void setSkip(final boolean skip)
focal_class.class_method_signature: CheckSpec.notSkipped()
focal_class.full_signature: public final boolean notSkipped()
focal_class.identifier: notSkipped
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean notSkipped()
focal_class.class_method_signature: CheckSpec.getConfig()
focal_class.full_signature: public JsonObject getConfig()
focal_class.identifier: getConfig
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject getConfig()
focal_class.class_method_signature: CheckSpec.setConfig(final JsonObject config)
focal_class.full_signature: public void setConfig(final JsonObject config)
focal_class.identifier: setConfig
focal_class.modifiers: public
focal_class.parameters: (final JsonObject config)
focal_class.return: void
focal_class.signature: void setConfig(final JsonObject config)
focal_class.class_method_signature: CheckSpec.overrides(final @NotNull CheckSpec that)
focal_class.full_signature: public final boolean overrides(final @NotNull CheckSpec that)
focal_class.identifier: overrides
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: boolean
focal_class.signature: boolean overrides(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.notUnnamed()
focal_class.full_signature: final boolean notUnnamed()
focal_class.identifier: notUnnamed
focal_class.modifiers: final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean notUnnamed()
focal_class.class_method_signature: CheckSpec.isOverriddenBy(final @NotNull CheckSpec that)
focal_class.full_signature: public final boolean isOverriddenBy(final @NotNull CheckSpec that)
focal_class.identifier: isOverriddenBy
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: boolean
focal_class.signature: boolean isOverriddenBy(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.baseCompositeOver(final @NotNull CheckSpec that)
focal_class.full_signature: final CheckSpec baseCompositeOver(final @NotNull CheckSpec that)
focal_class.identifier: baseCompositeOver
focal_class.modifiers: final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec baseCompositeOver(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.overlay(final @NotNull CheckSpec that)
focal_class.full_signature: public final CheckSpec overlay(final @NotNull CheckSpec that)
focal_class.identifier: overlay
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec overlay(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.inherits(final @NotNull CheckSpec that)
focal_class.full_signature: public final boolean inherits(final @NotNull CheckSpec that)
focal_class.identifier: inherits
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: boolean
focal_class.signature: boolean inherits(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.isInheritedBy(final @NotNull CheckSpec that)
focal_class.full_signature: public final boolean isInheritedBy(final @NotNull CheckSpec that)
focal_class.identifier: isInheritedBy
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: boolean
focal_class.signature: boolean isInheritedBy(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.inherit(final @NotNull CheckSpec that)
focal_class.full_signature: public final CheckSpec inherit(final @NotNull CheckSpec that)
focal_class.identifier: inherit
focal_class.modifiers: public final
focal_class.parameters: (final @NotNull CheckSpec that)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec inherit(final @NotNull CheckSpec that)
focal_class.class_method_signature: CheckSpec.fromJson(final @NotNull JsonObject json)
focal_class.full_signature: public static CheckSpec fromJson(final @NotNull JsonObject json)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull JsonObject json)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec fromJson(final @NotNull JsonObject json)
focal_class.class_method_signature: CheckSpec.editJson(final JsonObjectBuilder builder)
focal_class.full_signature: @SuppressWarnings("UnusedParameter") protected void editJson(final JsonObjectBuilder builder)
focal_class.identifier: editJson
focal_class.modifiers: @SuppressWarnings("UnusedParameter") protected
focal_class.parameters: (final JsonObjectBuilder builder)
focal_class.return: void
focal_class.signature: void editJson(final JsonObjectBuilder builder)
focal_class.class_method_signature: CheckSpec.toJson()
focal_class.full_signature: @Override public final JsonObject toJson()
focal_class.identifier: toJson
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson()
focal_class.class_method_signature: CheckSpec.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: CheckSpec.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: CheckSpec.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: CheckSpec.copyOf(final @NotNull CheckSpec original)
focal_class.full_signature: public static CheckSpec copyOf(final @NotNull CheckSpec original)
focal_class.identifier: copyOf
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull CheckSpec original)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec copyOf(final @NotNull CheckSpec original)
focal_class.class_method_signature: CheckSpec.immutableCopyOf(final @NotNull CheckSpec original)
focal_class.full_signature: public static ImmutableSpec immutableCopyOf(final @NotNull CheckSpec original)
focal_class.identifier: immutableCopyOf
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull CheckSpec original)
focal_class.return: ImmutableSpec
focal_class.signature: ImmutableSpec immutableCopyOf(final @NotNull CheckSpec original)
focal_method.body: public final boolean overrides(final @NotNull CheckSpec that) {
          return this.notUnnamed() && that.notUnnamed()
                  && !this.mustInherit() && !that.mustInherit()
                  && (that.getName().equals(this.getName())
                  || (this.isAbstract() && that.getName().endsWith("/" + this.getName())));
      }
focal_method.class_method_signature: CheckSpec.overrides(final @NotNull CheckSpec that)
focal_method.full_signature: public final boolean overrides(final @NotNull CheckSpec that)
focal_method.identifier: overrides
focal_method.invocations: notUnnamed notUnnamed mustInherit mustInherit equals getName getName isAbstract endsWith getName getName
focal_method.modifiers: public final
focal_method.parameters: (final @NotNull CheckSpec that)
focal_method.return: boolean
focal_method.signature: boolean overrides(final @NotNull CheckSpec that)