public static String stringOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } return object.toString().trim(); }
public static Long longOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } // Ids are represented as objects (e.g. <id type="integer">1988596967980562362</id>), which Jackson // will interpret as an Object (Map), not Longs. if (object instanceof Map) { final Map map = (Map) object; if (map.keySet().size() == 2 && "integer".equalsIgnoreCase((String) map.get("type"))) { return Long.valueOf((String) map.get("")); } } return Long.valueOf(object.toString()); }
@SuppressWarnings("unchecked") public static <E extends Enum<E>> E enumOrNull(Class<E> enumClass, @Nullable final Object object, final Boolean upCase) { if (isNull(object)) { return null; } else if (enumClass.isAssignableFrom(object.getClass())) { return (E) object; } String value = object.toString().trim(); if (upCase) { value = value.toUpperCase(); } return (E) Enum.valueOf(enumClass, value); }
public static Boolean booleanOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } // Booleans are represented as objects (e.g. <display_quantity type="boolean">false</display_quantity>), which Jackson // will interpret as an Object (Map), not Booleans. if (object instanceof Map) { final Map map = (Map) object; if (map.keySet().size() == 2 && "boolean".equalsIgnoreCase((String) map.get("type"))) { return Boolean.valueOf((String) map.get("")); } } return Boolean.valueOf(object.toString()); }
public static DateTime dateTimeOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } // DateTimes are represented as objects (e.g. <created_at type="dateTime">2011-04-19T07:00:00Z</created_at>), which Jackson // will interpret as an Object (Map), not DateTimes. if (object instanceof Map) { final Map map = (Map) object; if (map.keySet().size() == 2 && "dateTime".equalsIgnoreCase((String) map.get("type"))) { return new DateTime(map.get("")); } } return new DateTime(object.toString()); }
public static Integer integerOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } // Integers are represented as objects (e.g. <year type="integer">2015</year>), which Jackson // will interpret as an Object (Map), not Integers. if (object instanceof Map) { final Map map = (Map) object; if (map.keySet().size() == 2 && "integer".equalsIgnoreCase((String) map.get("type"))) { return Integer.valueOf((String) map.get("")); } } return Integer.valueOf(object.toString()); }
public static BigDecimal bigDecimalOrNull(@Nullable final Object object) { if (isNull(object)) { return null; } // BigDecimals are represented as objects (e.g. <tax_rate type="float">0.0875</tax_rate>), which Jackson // will interpret as an Object (Map), not Longs. if (object instanceof Map) { final Map map = (Map) object; if (map.keySet().size() == 2 && "float".equalsIgnoreCase((String) map.get("type"))) { return new BigDecimal((String) map.get("")); } } return new BigDecimal(object.toString()); }
public static VerificationResult as(final Object object) { if (isNull(object)) { return null; } if (object instanceof Map) { final Map map = (Map) object; return new VerificationResult(stringOrNull(map.get("code")), stringOrNull(map.get(""))); } return new VerificationResult(null, object.toString()); } }
public static RecurlyUnitCurrency build(@Nullable final Object unitAmountInCents) { if (RecurlyObject.isNull(unitAmountInCents)) { return null; } if (unitAmountInCents instanceof RecurlyUnitCurrency) { return (RecurlyUnitCurrency) unitAmountInCents; } final RecurlyUnitCurrency recurlyUnitCurrency = new RecurlyUnitCurrency(); if (unitAmountInCents instanceof Map) { final Map amounts = (Map) unitAmountInCents; recurlyUnitCurrency.setUnitAmountUSD(amounts.get("USD")); recurlyUnitCurrency.setUnitAmountAUD(amounts.get("AUD")); recurlyUnitCurrency.setUnitAmountCAD(amounts.get("CAD")); recurlyUnitCurrency.setUnitAmountEUR(amounts.get("EUR")); recurlyUnitCurrency.setUnitAmountGBP(amounts.get("GBP")); recurlyUnitCurrency.setUnitAmountCZK(amounts.get("CZK")); recurlyUnitCurrency.setUnitAmountDKK(amounts.get("DKK")); recurlyUnitCurrency.setUnitAmountHUF(amounts.get("HUF")); recurlyUnitCurrency.setUnitAmountNOK(amounts.get("NOK")); recurlyUnitCurrency.setUnitAmountNZD(amounts.get("NZD")); recurlyUnitCurrency.setUnitAmountPLN(amounts.get("PLN")); recurlyUnitCurrency.setUnitAmountSGD(amounts.get("SGD")); recurlyUnitCurrency.setUnitAmountSEK(amounts.get("SEK")); recurlyUnitCurrency.setUnitAmountCHF(amounts.get("CHF")); recurlyUnitCurrency.setUnitAmountZAR(amounts.get("ZAR")); recurlyUnitCurrency.setUnitAmountJPY(amounts.get("JPY")); recurlyUnitCurrency.setUnitAmountINR(amounts.get("INR")); } return recurlyUnitCurrency; }
@Test(groups = "fast") public void testNull() { Assert.assertEquals(null, RecurlyObject.booleanOrNull(null)); Assert.assertEquals(null, RecurlyObject.dateTimeOrNull(null)); Assert.assertEquals(null, RecurlyObject.integerOrNull(null)); Assert.assertEquals(null, RecurlyObject.stringOrNull(null)); Assert.assertEquals(null, RecurlyObject.bigDecimalOrNull(null)); for (final String nil : RecurlyObject.NIL_VAL) { final HashMap<String, String> nilMap = new HashMap<String, String>(); nilMap.put(RecurlyObject.NIL_STR, nil); Assert.assertEquals(null, RecurlyObject.booleanOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.dateTimeOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.integerOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.stringOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.bigDecimalOrNull(nilMap)); } final HashMap<String, String> nonNilMap = new HashMap<String, String>(); nonNilMap.put("foo", "bar"); Assert.assertNotNull(RecurlyObject.isNull(nonNilMap)); } }
@Test(groups = "fast") public void testNull() { Assert.assertEquals(null, RecurlyObject.booleanOrNull(null)); Assert.assertEquals(null, RecurlyObject.dateTimeOrNull(null)); Assert.assertEquals(null, RecurlyObject.integerOrNull(null)); Assert.assertEquals(null, RecurlyObject.stringOrNull(null)); Assert.assertEquals(null, RecurlyObject.bigDecimalOrNull(null)); for (final String nil : RecurlyObject.NIL_VAL) { final HashMap<String, String> nilMap = new HashMap<String, String>(); nilMap.put(RecurlyObject.NIL_STR, nil); Assert.assertEquals(null, RecurlyObject.booleanOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.dateTimeOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.integerOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.stringOrNull(nilMap)); Assert.assertEquals(null, RecurlyObject.bigDecimalOrNull(nilMap)); } final HashMap<String, String> nonNilMap = new HashMap<String, String>(); nonNilMap.put("foo", "bar"); Assert.assertNotNull(RecurlyObject.isNull(nonNilMap)); } }