public static <T> T deserialize(Map map) { return new BiDeserializer().deserialize(Binder.from(map)); }
public static void deserializeInPlace(Map map) { new BiDeserializer().deserializeInPlace(map); }
@Override public void deserialize(Binder data, BiDeserializer deserializer) { this.unsAddresses = deserializer.deserialize(data.getList("addresses", new ArrayList<>())); Object originObj = data.get("origin"); if (originObj != null) this.unsOrigin = deserializer.deserialize(originObj); }
/** * Construct new deserializer to use this mapper */ public BiDeserializer newDeserializer() { return new BiDeserializer(this); } }
@Override public void deserialize(Binder data, BiDeserializer deserializer) { name = data.getStringOrThrow("name"); comment = data.getString("comment", null); contract = deserializer.getContext(); Binder required = data.getBinder("required"); if(required != null) { if(required.containsKey(ALL_OF.name())) { requiredAllReferences.addAll(deserializer.deserialize(required.getArray(ALL_OF.name()))); } if(required.containsKey(ANY_OF.name())) { requiredAnyReferences.addAll(deserializer.deserialize(required.getArray(ANY_OF.name()))); } } }
this.contract_id = deserializer.deserialize(data.get("contract_id")); this.origin = deserializer.deserialize(data.get("origin")); this.signed_by = deserializer.deserializeCollection(data.getList("signed_by", new ArrayList<>()));
@Override public void deserialize(Binder data, BiDeserializer deserializer) { clear(); putAll(data); deserializer.deserializeInPlace(this); setupKey(); }
public void deserializeWith(Binder data, BiDeserializer d) { if(data != null) { id = data.getString("id", null); List refs = data.getList("references", null); if(refs != null) { references = d.deserializeCollection(refs); } try { validUntil = data.getLongOrThrow("valid_until"); } catch (IllegalArgumentException e) { validUntil = null; } this.data = data.getBinder("data", null); } }
if (l > MAX_API_LEVEL) throw new RuntimeException("contract api level conflict: found " + l + " my level " + apiLevel); deserializer.withContext(this, () -> {
/** * Read next object from the stream * * @param <T> expected object type * * @return next object casted to (T) * * @throws IOException */ public <T> T read() throws IOException { Object x = get(); if (deserializer == null || !(x instanceof Binder || x instanceof Collection)) return (T) x; return deserializer.deserialize(x); }
/** * Create new deserializer based on default {@link Boss} - optimized {@link BiMapper}. * @return */ public static BiDeserializer newDeserializer() { return new BiDeserializer(getInstance()); }
List<Object> keysList = deserializer.deserializeCollection(data.getList("keys", new ArrayList<>())); List<Bytes> foreignReferenceBytesList = deserializer.deserializeCollection( data.getList("referencedItems", new ArrayList<>()) ); List<Bytes> subItemsBytesList = deserializer.deserializeCollection( data.getListOrThrow("subItems") );
@Override public void deserialize(Binder data, BiDeserializer deserializer) throws IOException { createdAt = deserializer.deserialize(data.getZonedDateTimeOrThrow("createdAt")); subscriptionsSet.addAll(deserializer.deserialize(data.getListOrThrow("subscriptions"))); storagesSet.addAll(deserializer.deserialize(data.getListOrThrow("storages"))); nameRecordsSet.addAll(deserializer.deserialize(data.getListOrThrow("nameRecords"))); contract = (NSmartContract) Contract.fromPackedTransaction(data.getBinary("contract")); kvStore = deserializer.deserialize(data.getBinderOrThrow("kvStore")); }
public static <T> T deserialize(Map map) { return new BiDeserializer(getInstance()).deserialize(Binder.from(map)); }
/** * {@link #deserialize(Map, BiDeserializer)} using default {@link BiDeserializer}. * * @param map to deserialize * @param <T> * * @return deserialized object of the map with deserialized values. */ public <T> T deserialize(Map map) { return deserialize(map, new BiDeserializer(this)); }
public static void deserializeInPlace(Map map) { new BiDeserializer(getInstance()).deserializeInPlace(map); }
@Override public void deserialize(Binder data, BiDeserializer deserializer) { name = data.getStringOrThrow("name"); role = deserializer.deserialize(data.get("role")); params = data; }
public static Binder findScriptBinder(Binder data, HashId hashIdToSearch) { BiDeserializer biDeserializer = new BiDeserializer(); if (data == null) return null; List<Binder> res = new ArrayList<>(); data.forEach((k, v) -> { if (v instanceof Binder) { Binder vBinder = (Binder) v; HashId hashId = biDeserializer.deserialize(vBinder.getOrDefault("hash_id", null)); if (hashIdToSearch.equals(hashId)) res.add(vBinder); } }); return res.size()>0 ? res.get(0) : null; }
public <T> T deserializeObject(Object x) { return x == null ? null : deserializeObject(x, new BiDeserializer(this)); }
/** * Update the map deserialziing it's values - e.g. in place. Saves memory but has strong side effects of discarding * source data. * * @param map to update * @param deserializer to use to deserialize map values */ public void deserializeInPlace(Map map, BiDeserializer deserializer) { map.forEach((key, value) -> { if (value instanceof Map) { String typeName = (String) ((Map) value).get("__type"); if (typeName == null) typeName = (String) ((Map) value).get("__t"); if (typeName == null) deserializeInPlace((Map) value, deserializer); else { BiAdapter adapter = adapters.get(typeName); if (adapter != null) { map.put(key, adapter.deserialize(Binder.from(value), deserializer)); } } } else if (value instanceof Collection) { map.put(key, ((Collection) value).stream() .map(x -> deserializer.deserialize(x)) .collect(Collectors.toList()) ); } }); }