test_class.file: outland-feature-java/src/test/java/outland/feature/FeatureRecordTest.java
test_class.identifier: FeatureRecordTest
test_case.body: @Test
    public void testPrepare() {
      final Feature feature = TestSupport.loadFeature("json/feature-1.json");
      FeatureRecord record = FeatureRecord.build(feature);
  
      assertEquals(feature, record.feature());
  
      final FeatureOption controlFeatureOption = record.controlFeatureOption();
      assertNotNull(controlFeatureOption);
      assertEquals("option-green", controlFeatureOption.getKey());
      assertEquals("green", controlFeatureOption.getValue());
      assertEquals(3000, controlFeatureOption.getWeight());
  
      final NamespaceFeature staging = record.namespace("staging");
      assertNotNull(staging);
  
      final FeatureOption stagingControlOptionRecord = record.controlFeatureOption("staging");
      assertNotNull(stagingControlOptionRecord);
  
      FeatureOption stagingControlOptionData = null;
      final String control = staging.getFeature().getOptions().getControl();
      for (FeatureOption featureOption : staging.getFeature().getOptions().getItemsList()) {
  
        if (featureOption.getKey().equals(control)) {
          stagingControlOptionData = featureOption;
          break;
        }
      }
  
      assertEquals(stagingControlOptionData, stagingControlOptionRecord);
  
      assertNotNull(record.optionSelectorWeighted());
      assertNotNull(record.optionSelectorWeighted("staging"));
    }
test_case.class_method_signature: FeatureRecordTest.testPrepare()
test_case.full_signature: @Test public void testPrepare()
test_case.identifier: testPrepare
test_case.invocations: loadFeature build assertEquals feature controlFeatureOption assertNotNull assertEquals getKey assertEquals getValue assertEquals getWeight namespace assertNotNull controlFeatureOption assertNotNull getControl getOptions getFeature getItemsList getOptions getFeature equals getKey assertEquals assertNotNull optionSelectorWeighted assertNotNull optionSelectorWeighted
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPrepare()
focal_class.declarator: feature
focal_class.modifier: private final
focal_class.original_string: private final Feature feature;
focal_class.type: Feature
focal_class.var_name: feature
focal_class.declarator: namespaceFeatureMap = Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, NamespaceFeature> namespaceFeatureMap = Maps.newHashMap();
focal_class.type: Map<String, NamespaceFeature>
focal_class.var_name: namespaceFeatureMap
focal_class.declarator: namespaceControlFeatureOptionMap = Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, FeatureOption> namespaceControlFeatureOptionMap = Maps.newHashMap();
focal_class.type: Map<String, FeatureOption>
focal_class.var_name: namespaceControlFeatureOptionMap
focal_class.declarator: namespaceOptionSelectorWeightedMap =
        Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, OptionSelectorWeighted> namespaceOptionSelectorWeightedMap =
        Maps.newHashMap();
focal_class.type: Map<String, OptionSelectorWeighted>
focal_class.var_name: namespaceOptionSelectorWeightedMap
focal_class.declarator: optionSelectorWeighted
focal_class.modifier: private
focal_class.original_string: private OptionSelectorWeighted optionSelectorWeighted;
focal_class.type: OptionSelectorWeighted
focal_class.var_name: optionSelectorWeighted
focal_class.declarator: controlFeatureOption
focal_class.modifier: private
focal_class.original_string: private FeatureOption controlFeatureOption;
focal_class.type: FeatureOption
focal_class.var_name: controlFeatureOption
focal_class.file: outland-feature-java/src/main/java/outland/feature/FeatureRecord.java
focal_class.identifier: FeatureRecord
focal_class.class_method_signature: FeatureRecord.FeatureRecord(Feature feature)
focal_class.full_signature: private  FeatureRecord(Feature feature)
focal_class.identifier: FeatureRecord
focal_class.modifiers: private
focal_class.parameters: (Feature feature)
focal_class.signature:  FeatureRecord(Feature feature)
focal_class.class_method_signature: FeatureRecord.build(Feature feature)
focal_class.full_signature: static FeatureRecord build(Feature feature)
focal_class.identifier: build
focal_class.modifiers: static
focal_class.parameters: (Feature feature)
focal_class.return: FeatureRecord
focal_class.signature: FeatureRecord build(Feature feature)
focal_class.class_method_signature: FeatureRecord.feature()
focal_class.full_signature: public Feature feature()
focal_class.identifier: feature
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Feature
focal_class.signature: Feature feature()
focal_class.class_method_signature: FeatureRecord.namespace(String namespace)
focal_class.full_signature:  NamespaceFeature namespace(String namespace)
focal_class.identifier: namespace
focal_class.parameters: (String namespace)
focal_class.return: NamespaceFeature
focal_class.signature: NamespaceFeature namespace(String namespace)
focal_class.class_method_signature: FeatureRecord.controlFeatureOption()
focal_class.full_signature:  FeatureOption controlFeatureOption()
focal_class.identifier: controlFeatureOption
focal_class.parameters: ()
focal_class.return: FeatureOption
focal_class.signature: FeatureOption controlFeatureOption()
focal_class.class_method_signature: FeatureRecord.controlFeatureOption(String namespace)
focal_class.full_signature:  FeatureOption controlFeatureOption(String namespace)
focal_class.identifier: controlFeatureOption
focal_class.parameters: (String namespace)
focal_class.return: FeatureOption
focal_class.signature: FeatureOption controlFeatureOption(String namespace)
focal_class.class_method_signature: FeatureRecord.optionSelectorWeighted()
focal_class.full_signature:  OptionSelectorWeighted optionSelectorWeighted()
focal_class.identifier: optionSelectorWeighted
focal_class.parameters: ()
focal_class.return: OptionSelectorWeighted
focal_class.signature: OptionSelectorWeighted optionSelectorWeighted()
focal_class.class_method_signature: FeatureRecord.optionSelectorWeighted(String namespace)
focal_class.full_signature:  OptionSelectorWeighted optionSelectorWeighted(String namespace)
focal_class.identifier: optionSelectorWeighted
focal_class.parameters: (String namespace)
focal_class.return: OptionSelectorWeighted
focal_class.signature: OptionSelectorWeighted optionSelectorWeighted(String namespace)
focal_class.class_method_signature: FeatureRecord.enabled()
focal_class.full_signature:  boolean enabled()
focal_class.identifier: enabled
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean enabled()
focal_class.class_method_signature: FeatureRecord.enabled(String namespace)
focal_class.full_signature:  boolean enabled(String namespace)
focal_class.identifier: enabled
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean enabled(String namespace)
focal_class.class_method_signature: FeatureRecord.select()
focal_class.full_signature:  String select()
focal_class.identifier: select
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String select()
focal_class.class_method_signature: FeatureRecord.select(String namespace)
focal_class.full_signature:  String select(String namespace)
focal_class.identifier: select
focal_class.parameters: (String namespace)
focal_class.return: String
focal_class.signature: String select(String namespace)
focal_class.class_method_signature: FeatureRecord.selectBoolean()
focal_class.full_signature:  boolean selectBoolean()
focal_class.identifier: selectBoolean
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean selectBoolean()
focal_class.class_method_signature: FeatureRecord.selectBoolean(String namespace)
focal_class.full_signature:  boolean selectBoolean(String namespace)
focal_class.identifier: selectBoolean
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean selectBoolean(String namespace)
focal_class.class_method_signature: FeatureRecord.selectControlOption(String namespace)
focal_class.full_signature: private String selectControlOption(String namespace)
focal_class.identifier: selectControlOption
focal_class.modifiers: private
focal_class.parameters: (String namespace)
focal_class.return: String
focal_class.signature: String selectControlOption(String namespace)
focal_class.class_method_signature: FeatureRecord.isDefaultNamespace(String namespace)
focal_class.full_signature: private boolean isDefaultNamespace(String namespace)
focal_class.identifier: isDefaultNamespace
focal_class.modifiers: private
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean isDefaultNamespace(String namespace)
focal_class.class_method_signature: FeatureRecord.prepare()
focal_class.full_signature: private void prepare()
focal_class.identifier: prepare
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepare()
focal_class.class_method_signature: FeatureRecord.prepareDefault()
focal_class.full_signature: private void prepareDefault()
focal_class.identifier: prepareDefault
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepareDefault()
focal_class.class_method_signature: FeatureRecord.prepareNamespaces()
focal_class.full_signature: private void prepareNamespaces()
focal_class.identifier: prepareNamespaces
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepareNamespaces()
focal_class.class_method_signature: FeatureRecord.matchesControlOption(String control, FeatureOption featureOption)
focal_class.full_signature: private boolean matchesControlOption(String control, FeatureOption featureOption)
focal_class.identifier: matchesControlOption
focal_class.modifiers: private
focal_class.parameters: (String control, FeatureOption featureOption)
focal_class.return: boolean
focal_class.signature: boolean matchesControlOption(String control, FeatureOption featureOption)
focal_class.class_method_signature: FeatureRecord.isOptionalType()
focal_class.full_signature: private boolean isOptionalType()
focal_class.identifier: isOptionalType
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isOptionalType()
focal_class.class_method_signature: FeatureRecord.isOptionalType(OptionCollection options)
focal_class.full_signature: private boolean isOptionalType(OptionCollection options)
focal_class.identifier: isOptionalType
focal_class.modifiers: private
focal_class.parameters: (OptionCollection options)
focal_class.return: boolean
focal_class.signature: boolean isOptionalType(OptionCollection options)
focal_class.class_method_signature: FeatureRecord.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: FeatureRecord.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: FeatureRecord.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_method.body: private void prepare() {
      prepareDefault();
      prepareNamespaces();
    }
focal_method.class_method_signature: FeatureRecord.prepare()
focal_method.full_signature: private void prepare()
focal_method.identifier: prepare
focal_method.invocations: prepareDefault prepareNamespaces
focal_method.modifiers: private
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void prepare()