@Override public Object getValue(Object def) { Object ret = value.getValue(); return ret == null ? storeDefault(def) : ret; }
@Override public Object getValue(Object def) { Object ret = value.getValue(); return ret == null ? storeDefault(def) : ret; }
@Override public <T> List<T> getList(@NonNull Function<Object, T> transformer, List<T> def) { List<T> ret = getList(transformer); return ret.isEmpty() ? storeDefault(def) : ret; }
@Override public <T> T getValue(@NonNull Function<Object, T> transformer, T def) { T ret = transformer.apply(getValue()); return ret == null ? storeDefault(def) : ret; }
@Override public Object getValue(@NonNull Supplier<Object> defSupplier) { Object ret = value.getValue(); return ret == null ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> List<T> getList(@NonNull Function<Object, T> transformer, List<T> def) { List<T> ret = getList(transformer); return ret.isEmpty() ? storeDefault(def) : ret; }
@Override public Object getValue(@NonNull Supplier<Object> defSupplier) { Object ret = value.getValue(); return ret == null ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> T getValue(@NonNull Function<Object, T> transformer, T def) { T ret = transformer.apply(getValue()); return ret == null ? storeDefault(def) : ret; }
@Override public <T> T getValue(@NonNull Function<Object, T> transformer, @NonNull Supplier<T> defSupplier) { T ret = transformer.apply(getValue()); return ret == null ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> List<T> getList(@NonNull Function<Object, T> transformer, @NonNull Supplier<List<T>> defSupplier) { List<T> ret = getList(transformer); return ret.isEmpty() ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> List<T> getList(@NonNull Function<Object, T> transformer, @NonNull Supplier<List<T>> defSupplier) { List<T> ret = getList(transformer); return ret.isEmpty() ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> T getValue(@NonNull Function<Object, T> transformer, @NonNull Supplier<T> defSupplier) { T ret = transformer.apply(getValue()); return ret == null ? storeDefault(defSupplier.get()) : ret; }
@Override public <T> List<T> getList(@NonNull TypeToken<T> type, List<T> def) throws ObjectMappingException { List<T> ret = getValue(new TypeToken<List<T>>() {} .where(new TypeParameter<T>() {}, type), def); return ret.isEmpty() ? storeDefault(def) : ret; }
@Override public <T> List<T> getList(@NonNull TypeToken<T> type, List<T> def) throws ObjectMappingException { List<T> ret = getValue(new TypeToken<List<T>>() {} .where(new TypeParameter<T>() {}, type), def); return ret.isEmpty() ? storeDefault(def) : ret; }
@Override public <T> List<T> getList(@NonNull TypeToken<T> type, @NonNull Supplier<List<T>> defSupplier) throws ObjectMappingException { List<T> ret = getValue(new TypeToken<List<T>>(){}.where(new TypeParameter<T>(){}, type), defSupplier); return ret.isEmpty() ? storeDefault(defSupplier.get()) : ret; }
@Override @SuppressWarnings("unchecked") public <T> T getValue(@NonNull TypeToken<T> type, T def) throws ObjectMappingException { Object value = getValue(); if (value == null) { return storeDefault(def); } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { return storeDefault(def); } } return (T) serial.deserialize(type, this); }
@Override @SuppressWarnings("unchecked") public <T> T getValue(@NonNull TypeToken<T> type, @NonNull Supplier<T> defSupplier) throws ObjectMappingException { Object value = getValue(); if (value == null) { return storeDefault(defSupplier.get()); } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { return storeDefault(defSupplier.get()); } } return (T) serial.deserialize(type, this); }
@Override @SuppressWarnings("unchecked") public <T> T getValue(@NonNull TypeToken<T> type, T def) throws ObjectMappingException { Object value = getValue(); if (value == null) { return storeDefault(type, def); } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { return storeDefault(type, def); } } return (T) serial.deserialize(type, this); }
@Override public <T> List<T> getList(@NonNull TypeToken<T> type, @NonNull Supplier<List<T>> defSupplier) throws ObjectMappingException { List<T> ret = getValue(new TypeToken<List<T>>(){}.where(new TypeParameter<T>(){}, type), defSupplier); return ret.isEmpty() ? storeDefault(defSupplier.get()) : ret; }
@Override @SuppressWarnings("unchecked") public <T> T getValue(@NonNull TypeToken<T> type, @NonNull Supplier<T> defSupplier) throws ObjectMappingException { Object value = getValue(); if (value == null) { return storeDefault(type, defSupplier.get()); } TypeSerializer serial = getOptions().getSerializers().get(type); if (serial == null) { if (type.getRawType().isInstance(value)) { return (T) type.getRawType().cast(value); } else { return storeDefault(type, defSupplier.get()); } } return (T) serial.deserialize(type, this); }