org.hibernate.annotationfactory.AnnotationDescriptor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-annotations
Show all versions of hibernate-annotations
Annotations metadata for Hibernate
package org.hibernate.annotationfactory;
import java.lang.annotation.Annotation;
import java.util.HashMap;
import java.util.Map;
/**
* Encapsulates the data you need to create an annotation. In
* particular, it stores the type of an Annotation
instance
* and the values of its elements.
* The "elements" we're talking about are the annotation attributes,
* not its targets (the term "element" is used ambiguously
* in Java's annotations documentation).
*
* @author Paolo Perrotta
* @author Davide Marchignoli
*/
public class AnnotationDescriptor {
private final Class extends Annotation> type;
private final Map elements = new HashMap();
public AnnotationDescriptor(Class extends Annotation> annotationType) {
type = annotationType;
}
public void setValue(String elementName, Object value) {
elements.put( elementName, value );
}
public Object valueOf(String elementName) {
return elements.get( elementName );
}
public boolean containsElement(String elementName) {
return elements.containsKey( elementName );
}
public int numberOfElements() {
return elements.size();
}
public Class extends Annotation> type() {
return type;
}
}