@Override public void setValue(Object value) { Preconditions.checkNotNull(value); if (!holder.getOptions().acceptsType(value.getClass())) { throw new IllegalArgumentException("Configuration does not accept objects of type " + value .getClass()); } this.value = value; }
@Override public void setValue(@Nullable Object value) { Preconditions.checkNotNull(value); if (!holder.getOptions().acceptsType(value.getClass())) { throw new IllegalArgumentException("Configuration does not accept objects of type " + value.getClass()); } this.value = value; }
@Override public void setValue(@Nullable Object value) { Preconditions.checkNotNull(value); if (!holder.getOptions().acceptsType(value.getClass())) { throw new IllegalArgumentException("Configuration does not accept objects of type " + value.getClass()); } this.value = value; }
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; }
@SuppressWarnings("unchecked") private ConcurrentMap<Object, SimpleConfigurationNode> newMap() { return holder.getOptions().getMapFactory().create(); }
/** * 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; }
private ConcurrentMap<Object, SimpleConfigurationNode> newMap() { return holder.getOptions().getMapFactory().create(); }
private ConcurrentMap<Object, SimpleConfigurationNode> newMap() { return holder.getOptions().getMapFactory().create(); }
@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); }
@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 @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); }
@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); }