test_class.declarator: scoped
test_class.modifier: @Mock
test_class.original_string: @Mock Scoped scoped;
test_class.type: Scoped
test_class.var_name: scoped
test_class.declarator: scopeBuilder
test_class.original_string: MortarScope.Builder scopeBuilder;
test_class.type: MortarScope.Builder
test_class.var_name: scopeBuilder
test_class.file: mortar/src/test/java/mortar/MortarScopeTest.java
test_class.identifier: MortarScopeTest
test_case.body: @Test public void hasService() {
      String foo = "FOO";
      MortarScope root = scopeBuilder
          .withService("FOO", foo)
          .build("root");
      assertThat(root.hasService("FOO")).isTrue();
      assertThat(root.hasService("BAR")).isFalse();
    }
test_case.class_method_signature: MortarScopeTest.hasService()
test_case.full_signature: @Test public void hasService()
test_case.identifier: hasService
test_case.invocations: build withService isTrue assertThat hasService isFalse assertThat hasService
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void hasService()
focal_class.declarator: DIVIDER = ">>>"
focal_class.modifier: public static final
focal_class.original_string: public static final String DIVIDER = ">>>";
focal_class.type: String
focal_class.var_name: DIVIDER
focal_class.declarator: MORTAR_SERVICE = MortarScope.class.getName()
focal_class.modifier: private static final
focal_class.original_string: private static final String MORTAR_SERVICE = MortarScope.class.getName();
focal_class.type: String
focal_class.var_name: MORTAR_SERVICE
focal_class.declarator: children = new LinkedHashMap<>()
focal_class.modifier: final
focal_class.original_string: final Map<String, MortarScope> children = new LinkedHashMap<>();
focal_class.type: Map<String, MortarScope>
focal_class.var_name: children
focal_class.declarator: dead
focal_class.modifier: private
focal_class.original_string: private boolean dead;
focal_class.type: boolean
focal_class.var_name: dead
focal_class.declarator: tearDowns = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<Scoped> tearDowns = new HashSet<>();
focal_class.type: Set<Scoped>
focal_class.var_name: tearDowns
focal_class.declarator: parent
focal_class.modifier: final
focal_class.original_string: final MortarScope parent;
focal_class.type: MortarScope
focal_class.var_name: parent
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.declarator: services
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Object> services;
focal_class.type: Map<String, Object>
focal_class.var_name: services
focal_class.file: mortar/src/main/java/mortar/MortarScope.java
focal_class.identifier: MortarScope
focal_class.class_method_signature: MortarScope.getScope(Context context)
focal_class.full_signature: public static MortarScope getScope(Context context)
focal_class.identifier: getScope
focal_class.modifiers: public static
focal_class.parameters: (Context context)
focal_class.return: MortarScope
focal_class.signature: MortarScope getScope(Context context)
focal_class.class_method_signature: MortarScope.findChild(Context context, String name)
focal_class.full_signature: public static MortarScope findChild(Context context, String name)
focal_class.identifier: findChild
focal_class.modifiers: public static
focal_class.parameters: (Context context, String name)
focal_class.return: MortarScope
focal_class.signature: MortarScope findChild(Context context, String name)
focal_class.class_method_signature: MortarScope.buildChild(Context context)
focal_class.full_signature: public static Builder buildChild(Context context)
focal_class.identifier: buildChild
focal_class.modifiers: public static
focal_class.parameters: (Context context)
focal_class.return: Builder
focal_class.signature: Builder buildChild(Context context)
focal_class.class_method_signature: MortarScope.isDestroyed(Context context)
focal_class.full_signature: public static boolean isDestroyed(Context context)
focal_class.identifier: isDestroyed
focal_class.modifiers: public static
focal_class.parameters: (Context context)
focal_class.return: boolean
focal_class.signature: boolean isDestroyed(Context context)
focal_class.class_method_signature: MortarScope.buildRootScope()
focal_class.full_signature: public static Builder buildRootScope()
focal_class.identifier: buildRootScope
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Builder
focal_class.signature: Builder buildRootScope()
focal_class.class_method_signature: MortarScope.MortarScope(String name, MortarScope parent, Map<String, Object> services)
focal_class.full_signature:   MortarScope(String name, MortarScope parent, Map<String, Object> services)
focal_class.identifier: MortarScope
focal_class.parameters: (String name, MortarScope parent, Map<String, Object> services)
focal_class.signature:  MortarScope(String name, MortarScope parent, Map<String, Object> services)
focal_class.class_method_signature: MortarScope.getName()
focal_class.full_signature: public final String getName()
focal_class.identifier: getName
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: MortarScope.getPath()
focal_class.full_signature: public String getPath()
focal_class.identifier: getPath
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPath()
focal_class.class_method_signature: MortarScope.hasService(String serviceName)
focal_class.full_signature: public boolean hasService(String serviceName)
focal_class.identifier: hasService
focal_class.modifiers: public
focal_class.parameters: (String serviceName)
focal_class.return: boolean
focal_class.signature: boolean hasService(String serviceName)
focal_class.class_method_signature: MortarScope.getService(String serviceName)
focal_class.full_signature: public T getService(String serviceName)
focal_class.identifier: getService
focal_class.modifiers: public
focal_class.parameters: (String serviceName)
focal_class.return: T
focal_class.signature: T getService(String serviceName)
focal_class.class_method_signature: MortarScope.findService(String serviceName, boolean strict)
focal_class.full_signature: @SuppressWarnings("unchecked") // private T findService(String serviceName, boolean strict)
focal_class.identifier: findService
focal_class.modifiers: @SuppressWarnings("unchecked") // private
focal_class.parameters: (String serviceName, boolean strict)
focal_class.return: T
focal_class.signature: T findService(String serviceName, boolean strict)
focal_class.class_method_signature: MortarScope.searchFromRoot(Scoped scoped)
focal_class.full_signature: private MortarScope searchFromRoot(Scoped scoped)
focal_class.identifier: searchFromRoot
focal_class.modifiers: private
focal_class.parameters: (Scoped scoped)
focal_class.return: MortarScope
focal_class.signature: MortarScope searchFromRoot(Scoped scoped)
focal_class.class_method_signature: MortarScope.register(Scoped scoped)
focal_class.full_signature: public void register(Scoped scoped)
focal_class.identifier: register
focal_class.modifiers: public
focal_class.parameters: (Scoped scoped)
focal_class.return: void
focal_class.signature: void register(Scoped scoped)
focal_class.class_method_signature: MortarScope.findChild(String childName)
focal_class.full_signature: public MortarScope findChild(String childName)
focal_class.identifier: findChild
focal_class.modifiers: public
focal_class.parameters: (String childName)
focal_class.return: MortarScope
focal_class.signature: MortarScope findChild(String childName)
focal_class.class_method_signature: MortarScope.buildChild()
focal_class.full_signature: public Builder buildChild()
focal_class.identifier: buildChild
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Builder
focal_class.signature: Builder buildChild()
focal_class.class_method_signature: MortarScope.createContext(Context parentContext)
focal_class.full_signature: public Context createContext(Context parentContext)
focal_class.identifier: createContext
focal_class.modifiers: public
focal_class.parameters: (Context parentContext)
focal_class.return: Context
focal_class.signature: Context createContext(Context parentContext)
focal_class.class_method_signature: MortarScope.isDestroyed()
focal_class.full_signature: public boolean isDestroyed()
focal_class.identifier: isDestroyed
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDestroyed()
focal_class.class_method_signature: MortarScope.destroy()
focal_class.full_signature: public void destroy()
focal_class.identifier: destroy
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void destroy()
focal_class.class_method_signature: MortarScope.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: MortarScope.assertNotDead()
focal_class.full_signature:  void assertNotDead()
focal_class.identifier: assertNotDead
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void assertNotDead()
focal_method.body: public boolean hasService(String serviceName) {
      return serviceName.equals(MORTAR_SERVICE) || findService(serviceName, false) != null;
    }
focal_method.class_method_signature: MortarScope.hasService(String serviceName)
focal_method.full_signature: public boolean hasService(String serviceName)
focal_method.identifier: hasService
focal_method.invocations: equals findService
focal_method.modifiers: public
focal_method.parameters: (String serviceName)
focal_method.return: boolean
focal_method.signature: boolean hasService(String serviceName)