All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.javers.core.metamodel.clazz.ValueObjectDefinitionBuilder Maven / Gradle / Ivy

There is a newer version: 7.6.2
Show newest version
package org.javers.core.metamodel.clazz;

/**
 * Fluent builder for {@link ValueObjectDefinition},
 * allows to set all optional attributes:
 * ignoredProperties and typeName, for example:
 * 
 * ValueObjectDefinitionBuilder.valueObjectDefinition(Address.class)
 *     .withIgnoredProperties(ignoredProperties)
 *     .withTypeName(typeName)
 *     .build();
 * 
* * @since 1.4 * @author bartosz.walacik */ public class ValueObjectDefinitionBuilder extends ClientsClassDefinitionBuilder { private boolean defaultType; private ValueObjectDefinitionBuilder(Class valueObject) { super(valueObject); } public static ValueObjectDefinitionBuilder valueObjectDefinition(Class valueObject) { return new ValueObjectDefinitionBuilder(valueObject); } public ValueObjectDefinitionBuilder defaultType() { this.defaultType = true; return this; } @Override public ValueObjectDefinition build() { return new ValueObjectDefinition(this); } boolean isDefault() { return defaultType; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy