private <T> T calculateDef(T defValue) { if (defValue != null && getOptions().shouldCopyDefaults()) { setValue(defValue); } return defValue; }
private <T> T storeDefault(TypeToken<T> type, T defValue) throws ObjectMappingException { if (defValue != null && getOptions().shouldCopyDefaults()) { setValue(type, defValue); } return defValue; }
/** * Handles the copying of applied defaults, if enabled. * * @param defValue the default value * @param <T> the value type * @return the same value */ private <T> T storeDefault(T defValue) { if (defValue != null && getOptions().shouldCopyDefaults()) { setValue(defValue); } return defValue; }
/** * Handles the copying of applied defaults, if enabled. * * @param defValue the default value * @param <T> the value type * @return the same value */ private <T> T storeDefault(T defValue) { if (defValue != null && getOptions().shouldCopyDefaults()) { setValue(defValue); } return defValue; }
@Override @SuppressWarnings("unchecked") public <T> T getValue(TypeToken<T> type, Supplier<T> defSupplier) throws ObjectMappingException { Object value = getValue(); if (value == null) { T def = defSupplier.get(); if (def != null && getOptions().shouldCopyDefaults()) { setValue(type, def); } return def; } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { T def = defSupplier.get(); if (def != null && getOptions().shouldCopyDefaults()) { setValue(type, def); } return def; } } return (T) serial.deserialize(type, this); }
@Override @SuppressWarnings("unchecked") public <T> T getValue(TypeToken<T> type, T def) throws ObjectMappingException { Object value = getValue(); if (value == null) { if (def != null && getOptions().shouldCopyDefaults()) { setValue(type, def); } return def; } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { if (def != null && getOptions().shouldCopyDefaults()) { setValue(type, def); } return def; } } return (T) serial.deserialize(type, this); }