コード例 #1
0
 @SuppressWarnings("unchecked")
 public static <T extends JsonElement> T deepCopy(T from) {
   if (from == null) {
     throw new IllegalArgumentException("from must not be null");
   }
   if (from instanceof JsonObject) {
     return (T) deepCopyObj((JsonObject) from);
   }
   if (from instanceof JsonArray) {
     return (T) deepCopyArr((JsonArray) from);
   }
   if (from instanceof JsonNull) {
     return (T) JsonNull.INSTANCE;
   }
   if (from instanceof JsonPrimitive) {
     // Nulls and primitives are immutable
     return from;
   }
   throw new AssertionError("Unknown element type " + from.getClass().getName());
 }
コード例 #2
0
ファイル: Job.java プロジェクト: chouclee/h2o
 public static <T extends ValidatedJob> T hygiene(T job) {
   job.source = null;
   job.validation = null;
   return job;
 }
コード例 #3
0
ファイル: InterfaceAdapter.java プロジェクト: vankatwijk/bee
 public JsonElement serialize(T object, Type interfaceType, JsonSerializationContext context) {
   final JsonObject wrapper = new JsonObject();
   wrapper.addProperty("type", object.getClass().getName());
   wrapper.add("data", context.serialize(object));
   return wrapper;
 }
コード例 #4
0
ファイル: Job.java プロジェクト: chouclee/h2o
 /** Hygienic method to prevent accidental capture of non desired values. */
 public static <T extends FrameJob> T hygiene(T job) {
   job.source = null;
   return job;
 }