test_class.file: everrest-core/src/test/java/org/everrest/core/impl/provider/json/JsonUtilsTest.java
test_class.identifier: JsonUtilsTest
test_case.body: @Test
      public void createsProxyObjectForInterface() {
          IBook book = JsonUtils.createProxy(IBook.class);
          assertNotNull(book);
  
          assertEquals(null, book.getAuthor());
          assertEquals(null, book.getTitle());
          assertEquals(0, book.getPages());
          assertEquals(0.0, book.getPrice(), 0.01);
          assertEquals(0L, book.getIsdn());
          assertEquals(false, book.getAvailability());
          assertEquals(false, book.getDelivery());
  
          book.setAuthor("Vincent Massol");
          book.setTitle("JUnit in Action");
          book.setPages(386);
          book.setPrice(19.37);
          book.setIsdn(93011099534534L);
          book.setAvailability(true);
          book.setDelivery(false);
  
          assertEquals("Vincent Massol", book.getAuthor());
          assertEquals("JUnit in Action", book.getTitle());
          assertEquals(386, book.getPages());
          assertEquals(19.37, book.getPrice(), 0.01);
          assertEquals(93011099534534L, book.getIsdn());
          assertEquals(true, book.getAvailability());
          assertEquals(false, book.getDelivery());
  
          assertNotNull(book.toString());
      }
test_case.class_method_signature: JsonUtilsTest.createsProxyObjectForInterface()
test_case.full_signature: @Test public void createsProxyObjectForInterface()
test_case.identifier: createsProxyObjectForInterface
test_case.invocations: createProxy assertNotNull assertEquals getAuthor assertEquals getTitle assertEquals getPages assertEquals getPrice assertEquals getIsdn assertEquals getAvailability assertEquals getDelivery setAuthor setTitle setPages setPrice setIsdn setAvailability setDelivery assertEquals getAuthor assertEquals getTitle assertEquals getPages assertEquals getPrice assertEquals getIsdn assertEquals getAvailability assertEquals getDelivery assertNotNull toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createsProxyObjectForInterface()
focal_class.declarator: KNOWN_TYPES = new HashMap<>()
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String, Types> KNOWN_TYPES = new HashMap<>();
focal_class.type: Map<String, Types>
focal_class.var_name: KNOWN_TYPES
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/provider/json/JsonUtils.java
focal_class.identifier: JsonUtils
focal_class.class_method_signature: JsonUtils.getJsonString(String string)
focal_class.full_signature: public static String getJsonString(String string)
focal_class.identifier: getJsonString
focal_class.modifiers: public static
focal_class.parameters: (String string)
focal_class.return: String
focal_class.signature: String getJsonString(String string)
focal_class.class_method_signature: JsonUtils.isKnownType(Class<?> clazz)
focal_class.full_signature: public static boolean isKnownType(Class<?> clazz)
focal_class.identifier: isKnownType
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz)
focal_class.return: boolean
focal_class.signature: boolean isKnownType(Class<?> clazz)
focal_class.class_method_signature: JsonUtils.getType(Object o)
focal_class.full_signature: public static Types getType(Object o)
focal_class.identifier: getType
focal_class.modifiers: public static
focal_class.parameters: (Object o)
focal_class.return: Types
focal_class.signature: Types getType(Object o)
focal_class.class_method_signature: JsonUtils.getType(Class<?> clazz)
focal_class.full_signature: public static Types getType(Class<?> clazz)
focal_class.identifier: getType
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz)
focal_class.return: Types
focal_class.signature: Types getType(Class<?> clazz)
focal_class.class_method_signature: JsonUtils.getTransientFields(Class<?> aClass)
focal_class.full_signature: public static Set<String> getTransientFields(Class<?> aClass)
focal_class.identifier: getTransientFields
focal_class.modifiers: public static
focal_class.parameters: (Class<?> aClass)
focal_class.return: Set<String>
focal_class.signature: Set<String> getTransientFields(Class<?> aClass)
focal_class.class_method_signature: JsonUtils.createProxy(Class<T> anInterface)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) public static T createProxy(Class<T> anInterface)
focal_class.identifier: createProxy
focal_class.modifiers: @SuppressWarnings({"unchecked"}) public static
focal_class.parameters: (Class<T> anInterface)
focal_class.return: T
focal_class.signature: T createProxy(Class<T> anInterface)
focal_class.class_method_signature: JsonUtils.getFieldName(Method method)
focal_class.full_signature: static String getFieldName(Method method)
focal_class.identifier: getFieldName
focal_class.modifiers: static
focal_class.parameters: (Method method)
focal_class.return: String
focal_class.signature: String getFieldName(Method method)
focal_class.class_method_signature: JsonUtils.JsonUtils()
focal_class.full_signature: private  JsonUtils()
focal_class.identifier: JsonUtils
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  JsonUtils()
focal_method.body: @SuppressWarnings({"unchecked"})
      public static <T> T createProxy(Class<T> anInterface) {
          if (anInterface == null) {
              throw new IllegalArgumentException();
          }
          if (anInterface.isInterface()) {
              return (T)Proxy.newProxyInstance(anInterface.getClassLoader(), new Class[]{anInterface}, new ProxyObject(anInterface));
          }
          throw new IllegalArgumentException(String.format("Type '%s' is not interface. ", anInterface.getSimpleName()));
      }
focal_method.class_method_signature: JsonUtils.createProxy(Class<T> anInterface)
focal_method.full_signature: @SuppressWarnings({"unchecked"}) public static T createProxy(Class<T> anInterface)
focal_method.identifier: createProxy
focal_method.invocations: isInterface newProxyInstance getClassLoader format getSimpleName
focal_method.modifiers: @SuppressWarnings({"unchecked"}) public static
focal_method.parameters: (Class<T> anInterface)
focal_method.return: T
focal_method.signature: T createProxy(Class<T> anInterface)