test_class.declarator: junitBook
test_class.modifier: private
test_class.original_string: private Book junitBook;
test_class.type: Book
test_class.var_name: junitBook
test_class.declarator: csharpBook
test_class.modifier: private
test_class.original_string: private Book csharpBook;
test_class.type: Book
test_class.var_name: csharpBook
test_class.declarator: javaScriptBook
test_class.modifier: private
test_class.original_string: private Book javaScriptBook;
test_class.type: Book
test_class.var_name: javaScriptBook
test_class.declarator: assertionHelper
test_class.modifier: private
test_class.original_string: private JsonAssertionHelper assertionHelper;
test_class.type: JsonAssertionHelper
test_class.var_name: assertionHelper
test_class.declarator: groovyClassLoader = new GroovyClassLoader()
test_class.modifier: private
test_class.original_string: private GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
test_class.type: GroovyClassLoader
test_class.var_name: groovyClassLoader
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/provider/json/JsonGeneratorTest.java
test_class.identifier: JsonGeneratorTest
test_case.body: @Test
      public void ignoresFieldsAnnotatedWithJsonTransient() throws Exception {
          BeanWithTransientField bean = new BeanWithTransientField();
          JsonValue jsonValue = JsonGenerator.createJsonObject(bean);
          assertEquals("visible", jsonValue.getElement("field").getStringValue());
          assertNull(jsonValue.getElement("jsonTransientField"));
      }
test_case.class_method_signature: JsonGeneratorTest.ignoresFieldsAnnotatedWithJsonTransient()
test_case.full_signature: @Test public void ignoresFieldsAnnotatedWithJsonTransient()
test_case.identifier: ignoresFieldsAnnotatedWithJsonTransient
test_case.invocations: createJsonObject assertEquals getStringValue getElement assertNull getElement
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void ignoresFieldsAnnotatedWithJsonTransient()
focal_class.declarator: SKIP_METHODS = newHashSet("getClass", "getMetaClass")
focal_class.modifier: private static final
focal_class.original_string: private static final Collection<String> SKIP_METHODS = newHashSet("getClass", "getMetaClass");
focal_class.type: Collection<String>
focal_class.var_name: SKIP_METHODS
focal_class.declarator: methodsCache = CacheBuilder.newBuilder()
                                                                                     .concurrencyLevel(8)
                                                                                     .maximumSize(256)
                                                                                     .expireAfterAccess(10, MINUTES)
                                                                                     .build(new CacheLoader<Class<?>, JsonMethod[]>() {
                                                                                         @Override
                                                                                         public JsonMethod[] load(Class<?> aClass)
                                                                                                 throws Exception {
                                                                                             return getGetters(aClass);
                                                                                         }
                                                                                     })
focal_class.modifier: private static
focal_class.original_string: private static LoadingCache<Class<?>, JsonMethod[]> methodsCache = CacheBuilder.newBuilder()
                                                                                     .concurrencyLevel(8)
                                                                                     .maximumSize(256)
                                                                                     .expireAfterAccess(10, MINUTES)
                                                                                     .build(new CacheLoader<Class<?>, JsonMethod[]>() {
                                                                                         @Override
                                                                                         public JsonMethod[] load(Class<?> aClass)
                                                                                                 throws Exception {
                                                                                             return getGetters(aClass);
                                                                                         }
                                                                                     });
focal_class.type: LoadingCache<Class<?>, JsonMethod[]>
focal_class.var_name: methodsCache
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/provider/json/JsonGenerator.java
focal_class.identifier: JsonGenerator
focal_class.class_method_signature: JsonGenerator.getGetters(Class<?> aClass)
focal_class.full_signature: private static JsonMethod[] getGetters(Class<?> aClass)
focal_class.identifier: getGetters
focal_class.modifiers: private static
focal_class.parameters: (Class<?> aClass)
focal_class.return: JsonMethod[]
focal_class.signature: JsonMethod[] getGetters(Class<?> aClass)
focal_class.class_method_signature: JsonGenerator.shouldBeProcessed(Method method)
focal_class.full_signature: private static boolean shouldBeProcessed(Method method)
focal_class.identifier: shouldBeProcessed
focal_class.modifiers: private static
focal_class.parameters: (Method method)
focal_class.return: boolean
focal_class.signature: boolean shouldBeProcessed(Method method)
focal_class.class_method_signature: JsonGenerator.isGetter(Method method)
focal_class.full_signature: private static boolean isGetter(Method method)
focal_class.identifier: isGetter
focal_class.modifiers: private static
focal_class.parameters: (Method method)
focal_class.return: boolean
focal_class.signature: boolean isGetter(Method method)
focal_class.class_method_signature: JsonGenerator.createJsonArray(Collection<?> collection)
focal_class.full_signature: public static JsonValue createJsonArray(Collection<?> collection)
focal_class.identifier: createJsonArray
focal_class.modifiers: public static
focal_class.parameters: (Collection<?> collection)
focal_class.return: JsonValue
focal_class.signature: JsonValue createJsonArray(Collection<?> collection)
focal_class.class_method_signature: JsonGenerator.createJsonArray(Object array)
focal_class.full_signature: public static JsonValue createJsonArray(Object array)
focal_class.identifier: createJsonArray
focal_class.modifiers: public static
focal_class.parameters: (Object array)
focal_class.return: JsonValue
focal_class.signature: JsonValue createJsonArray(Object array)
focal_class.class_method_signature: JsonGenerator.createJsonObjectFromMap(Map<String, ?> map)
focal_class.full_signature: public static JsonValue createJsonObjectFromMap(Map<String, ?> map)
focal_class.identifier: createJsonObjectFromMap
focal_class.modifiers: public static
focal_class.parameters: (Map<String, ?> map)
focal_class.return: JsonValue
focal_class.signature: JsonValue createJsonObjectFromMap(Map<String, ?> map)
focal_class.class_method_signature: JsonGenerator.createJsonObject(Object object)
focal_class.full_signature: public static JsonValue createJsonObject(Object object)
focal_class.identifier: createJsonObject
focal_class.modifiers: public static
focal_class.parameters: (Object object)
focal_class.return: JsonValue
focal_class.signature: JsonValue createJsonObject(Object object)
focal_class.class_method_signature: JsonGenerator.createJsonValue(Object object, Types type)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) private static JsonValue createJsonValue(Object object, Types type)
focal_class.identifier: createJsonValue
focal_class.modifiers: @SuppressWarnings({"unchecked"}) private static
focal_class.parameters: (Object object, Types type)
focal_class.return: JsonValue
focal_class.signature: JsonValue createJsonValue(Object object, Types type)
focal_method.body: public static JsonValue createJsonObject(Object object) throws JsonException {
          if (object == null) {
              return new NullValue();
          }
          Class<?> aClass = object.getClass();
          JsonValue jsonRootValue = new ObjectValue();
          JsonMethod[] getters;
          try {
              getters = methodsCache.get(aClass);
          } catch (ExecutionException e) {
              propagateIfPossible(e.getCause());
              throw new JsonException(e.getCause());
          }
          for (JsonMethod getter : getters) {
              try {
                  Object getterResult = getter.method.invoke(object);
                  Types getterResultType = JsonUtils.getType(getterResult);
                  if (getterResultType == null) {
                      jsonRootValue.addElement(getter.field, createJsonObject(getterResult));
                  } else {
                      jsonRootValue.addElement(getter.field, createJsonValue(getterResult, getterResultType));
                  }
              } catch (InvocationTargetException | IllegalAccessException e) {
                  throw new JsonException(e.getMessage(), e);
              }
          }
          return jsonRootValue;
      }
focal_method.class_method_signature: JsonGenerator.createJsonObject(Object object)
focal_method.full_signature: public static JsonValue createJsonObject(Object object)
focal_method.identifier: createJsonObject
focal_method.invocations: getClass get propagateIfPossible getCause getCause invoke getType addElement createJsonObject addElement createJsonValue getMessage
focal_method.modifiers: public static
focal_method.parameters: (Object object)
focal_method.return: JsonValue
focal_method.signature: JsonValue createJsonObject(Object object)