@Test public void unwrapObject() throws Exception { Date date = new Date(); Support.Adapted<Date> adapted = new Support.Adapted<>(new DateCodec(), date); Object result = Support.unwrapBsonable(adapted); check(result.toString()).isNonEmpty(); } }
public static Object unwrapBsonable(Object value) { if (value instanceof Document) { for (Entry<String, Object> entry : ((Document) value).entrySet()) { entry.setValue(unwrapBsonable(entry.getValue())); } return value; } if (value instanceof Iterable<?>) { return ImmutableList.copyOf(unwrapBsonableIterable((Iterable<?>) value)); } if (value instanceof Constraints.ConstraintHost) { return convertToBson((Constraints.ConstraintHost) value); } if (value == null || value instanceof Number || value instanceof Boolean || value instanceof String) { return value; } if (value instanceof Adapted<?>) { return ((Adapted<?>) value).toBson(); } return String.valueOf(value); }
public static Object unwrapBsonable(Object value) { if (value instanceof Document) { for (Entry<String, Object> entry : ((Document) value).entrySet()) { entry.setValue(unwrapBsonable(entry.getValue())); } return value; } if (value instanceof Iterable<?>) { return ImmutableList.copyOf(unwrapBsonableIterable((Iterable<?>) value)); } if (value instanceof Constraints.ConstraintHost) { return convertToBson((Constraints.ConstraintHost) value); } if (value == null || value instanceof Number || value instanceof Boolean || value instanceof String) { return value; } if (value instanceof Adapted<?>) { return ((Adapted<?>) value).toBson(); } return String.valueOf(value); }
public static <T> Object writable(Encoder<T> encoder, T value) { return new Adapted<>(encoder, value); }
public static <T> Object writable(Encoder<T> encoder, T value) { return new Adapted<>(encoder, value); }