package org.springframework.roo.classpath.customdata.tagkeys;
import java.util.List;
import org.springframework.roo.classpath.details.IdentifiableAnnotatedJavaStructure;
import org.springframework.roo.classpath.details.annotations.AnnotationMetadata;
/**
* {@link IdentifiableAnnotatedJavaStructure}-specific implementation of
* {@link IdentifiableJavaStructureCustomDataKey}.
*
* @author James Tyrrell
* @since 1.1.3
*/
public abstract class IdentifiableAnnotatedJavaStructureCustomDataKey<T extends IdentifiableAnnotatedJavaStructure>
extends IdentifiableJavaStructureCustomDataKey<T> {
private List<AnnotationMetadata> annotations;
protected IdentifiableAnnotatedJavaStructureCustomDataKey() {
super();
}
protected IdentifiableAnnotatedJavaStructureCustomDataKey(final Integer modifier,
final List<AnnotationMetadata> annotations) {
super(modifier);
this.annotations = annotations;
}
public List<AnnotationMetadata> getAnnotations() {
return annotations;
}
@Override
public boolean meets(final T identifiableAnnotatedJavaStructure) throws IllegalStateException {
// TODO: Add in validation logic for annotations
return super.meets(identifiableAnnotatedJavaStructure);
}
}