mvvmfx/src/main/java/de/saxsys/mvvmfx/utils/mapping/ModelWrapper.java
public void useCurrentValuesAsDefaults() {
		M wrappedModelInstance = model.get();
		if(wrappedModelInstance != null) {
			for (final PropertyField<?, M, ?> field : fields) {
				field.updateDefault(wrappedModelInstance);
			}

			for (final ImmutablePropertyField<?, M, ?> field : immutableFields) {
				field.updateDefault(wrappedModelInstance);
			}
		}
	}
public void useCurrentValuesAsDefaults() {
		M wrappedModelInstance = model.get();
		if(wrappedModelInstance != null) {
			for (final PropertyField<?, M, ?> field : fields) {
				field.updateDefault(wrappedModelInstance);
			}

			for (final ImmutablePropertyField<?, M, ?> field : immutableFields) {
				field.updateDefault(wrappedModelInstance);
			}
		}
	}
public void useCurrentValuesAsDefaults ( ) { M wrappedModelInstance = model . get ( ) ; if ( wrappedModelInstance != null ) { for ( final PropertyField < ? , M , ? > field : fields ) { field . updateDefault ( wrappedModelInstance ) ; } for ( final ImmutablePropertyField < ? , M , ? > field : immutableFields ) { field . updateDefault ( wrappedModelInstance ) ; } } }
Use all values that are currently present in the wrapped model object as new default values for respective fields.
This overrides/updates the values that were set during the initialization of the field mappings.
<p>
Subsequent calls to {@link #reset()} will reset the values to this new default values.
<p>
Usage example:
<pre>
ModelWrapper{@code<Person>} wrapper = new ModelWrapper{@code<>}();

wrapper.field(Person::getName, Person::setName, "oldDefault");

Person p = new Person();
wrapper.set(p);


p.setName("Luise");

wrapper.useCurrentValuesAsDefaults(); // now "Luise" is the default value for the name field.


name.set("Hugo");
wrapper.commit();

name.get(); // Hugo
p.getName(); // Hugo


wrapper.reset(); // reset to the new defaults
name.get(); // Luise

wrapper.commit(); // put values from properties to the wrapped model object
p.getName(); // Luise


</pre>


If no model instance is set to be wrapped by the ModelWrapper, nothing will happen when this method is invoked.
Instead the old default values will still be available.
Use all values that are currently present in the wrapped model object as new default values for respective fields . This overrides / updates the values that were set during the initialization of the field mappings . <p > Subsequent calls to { @link #reset () } will reset the values to this new default values . <p > Usage example : <pre > ModelWrapper { @code<Person > } wrapper = new ModelWrapper { @code< > } () ;