package org.springframework.roo.addon.jpa.addon.identifier; import org.springframework.roo.addon.jpa.annotations.identifier.RooIdentifier; import org.springframework.roo.classpath.details.annotations.populator.AbstractAnnotationValues; import org.springframework.roo.classpath.details.annotations.populator.AutoPopulate; import org.springframework.roo.classpath.details.annotations.populator.AutoPopulationUtils; import org.springframework.roo.classpath.itd.MemberHoldingTypeDetailsMetadataItem; /** * The values of a {@link RooIdentifier} annotation. * * @author Andrew Swan * @since 1.2.0 */ public class IdentifierAnnotationValues extends AbstractAnnotationValues { @AutoPopulate private boolean dbManaged; @AutoPopulate private boolean gettersByDefault = true; @AutoPopulate private boolean noArgConstructor = true; @AutoPopulate private boolean settersByDefault; /** * Constructor that reads the {@link RooIdentifier} annotation on the given * governor * * @param governor the governor's metadata (required) */ public IdentifierAnnotationValues(final MemberHoldingTypeDetailsMetadataItem<?> governor) { super(governor, RooIdentifier.class); AutoPopulationUtils.populate(this, annotationMetadata); } /** * Indicates whether the identifier class is managed by DBRE * * @return */ public boolean isDbManaged() { return dbManaged; } /** * Indicates whether to generate getters for the id fields * * @return */ public boolean isGettersByDefault() { return gettersByDefault; } /** * Indicates whether to generate a no-argument constructor for the class * * @return */ public boolean isNoArgConstructor() { return noArgConstructor; } /** * Indicates whether to generate setters for the id fields * * @return */ public boolean isSettersByDefault() { return settersByDefault; } }