test_class.declarator: mapper = new Mapper()
test_class.modifier: private final
test_class.original_string: private final Mapper mapper = new Mapper();
test_class.type: Mapper
test_class.var_name: mapper
test_class.declarator: resolver = new MorphiaPropertyResolver(
              mapper)
test_class.modifier: private final
test_class.original_string: private final MorphiaPropertyResolver resolver = new MorphiaPropertyResolver(
              mapper);
test_class.type: MorphiaPropertyResolver
test_class.var_name: resolver
test_class.file: seeking-mongo/src/test/java/com/eharmony/matching/seeking/translator/mongodb/MorphiaPropertyResolverTest.java
test_class.identifier: MorphiaPropertyResolverTest
test_case.body: @Test
      public void resolve_t() {
          assertEquals("t", resolver.resolve("t", TestMappedClass.class));
          assertEquals("t.a", resolver.resolve("t.a", TestMappedClass.class));
          assertEquals("t.bee", resolver.resolve("t.b", TestMappedClass.class));
      }
test_case.class_method_signature: MorphiaPropertyResolverTest.resolve_t()
test_case.full_signature: @Test public void resolve_t()
test_case.identifier: resolve_t
test_case.invocations: assertEquals resolve assertEquals resolve assertEquals resolve
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void resolve_t()
focal_class.declarator: mapper
focal_class.modifier: private final
focal_class.original_string: private final Mapper mapper;
focal_class.type: Mapper
focal_class.var_name: mapper
focal_class.declarator: splitter = Splitter.on('.')
focal_class.modifier: private final
focal_class.original_string: private final Splitter splitter = Splitter.on('.');
focal_class.type: Splitter
focal_class.var_name: splitter
focal_class.declarator: joiner = Joiner.on('.')
focal_class.modifier: private final
focal_class.original_string: private final Joiner joiner = Joiner.on('.');
focal_class.type: Joiner
focal_class.var_name: joiner
focal_class.file: seeking-mongo/src/main/java/com/eharmony/matching/seeking/translator/mongodb/MorphiaPropertyResolver.java
focal_class.identifier: MorphiaPropertyResolver
focal_class.interfaces: implements PropertyResolver
focal_class.class_method_signature: MorphiaPropertyResolver.MorphiaPropertyResolver()
focal_class.full_signature: public  MorphiaPropertyResolver()
focal_class.identifier: MorphiaPropertyResolver
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  MorphiaPropertyResolver()
focal_class.class_method_signature: MorphiaPropertyResolver.MorphiaPropertyResolver(Mapper mapper)
focal_class.full_signature: public  MorphiaPropertyResolver(Mapper mapper)
focal_class.identifier: MorphiaPropertyResolver
focal_class.modifiers: public
focal_class.parameters: (Mapper mapper)
focal_class.signature:  MorphiaPropertyResolver(Mapper mapper)
focal_class.class_method_signature: MorphiaPropertyResolver.resolve(String fieldName, Class<?> entityClass)
focal_class.full_signature: @Override public String resolve(String fieldName, Class<?> entityClass)
focal_class.identifier: resolve
focal_class.modifiers: @Override public
focal_class.parameters: (String fieldName, Class<?> entityClass)
focal_class.return: String
focal_class.signature: String resolve(String fieldName, Class<?> entityClass)
focal_method.body: @Override
      public String resolve(String fieldName, Class<?> entityClass) {
          Iterable<String> fieldNames = splitter.split(fieldName);
          List<String> resolved = Lists.newArrayList();
          Class<?> lastClass = entityClass;
          for (String name : fieldNames) {
              MappedField mappedField = mapper.getMappedClass(lastClass)
                      .getMappedFieldByJavaField(name);
              if (mappedField != null) {
                  lastClass = mappedField.getConcreteType();
                  resolved.add(mappedField.getNameToStore());
              } else {
                  resolved.add(name);
              }
          }
          return joiner.join(resolved);
      }
focal_method.class_method_signature: MorphiaPropertyResolver.resolve(String fieldName, Class<?> entityClass)
focal_method.full_signature: @Override public String resolve(String fieldName, Class<?> entityClass)
focal_method.identifier: resolve
focal_method.invocations: split newArrayList getMappedFieldByJavaField getMappedClass getConcreteType add getNameToStore add join
focal_method.modifiers: @Override public
focal_method.parameters: (String fieldName, Class<?> entityClass)
focal_method.return: String
focal_method.signature: String resolve(String fieldName, Class<?> entityClass)