package org.springframework.roo.addon.jpa.addon.dod; import java.util.List; import org.apache.commons.lang3.Validate; import org.springframework.roo.classpath.details.BeanInfoUtils; import org.springframework.roo.classpath.details.FieldMetadata; import org.springframework.roo.model.JavaSymbolName; /** * Holder for embedded attributes * * @author Greg Turnquist * @since 1.2.0 */ public class EmbeddedHolder { private final FieldMetadata embeddedField; private final List<FieldMetadata> fields; public EmbeddedHolder(final FieldMetadata embeddedField, final List<FieldMetadata> fields) { Validate.notNull(embeddedField, "Identifier type required"); Validate.notNull(fields, "Fields for " + embeddedField.getFieldType().getFullyQualifiedTypeName() + " required"); this.embeddedField = embeddedField; this.fields = fields; } public FieldMetadata getEmbeddedField() { return embeddedField; } public JavaSymbolName getEmbeddedMutatorMethodName() { return BeanInfoUtils.getMutatorMethodName(embeddedField); } public List<FieldMetadata> getFields() { return fields; } }