package org.springframework.roo.classpath.details;
import org.springframework.roo.classpath.details.comments.CommentedJavaStructure;
import org.springframework.roo.model.JavaSymbolName;
import org.springframework.roo.model.JavaType;
import java.util.Comparator;
/**
* Metadata concerning a particular field.
*
* @author Ben Alex
* @since 1.0
*/
public interface FieldMetadata extends IdentifiableAnnotatedJavaStructure, CommentedJavaStructure {
public static final Comparator<FieldMetadata> COMPARATOR_BY_NAME =
new Comparator<FieldMetadata>() {
@Override
public int compare(FieldMetadata field1, FieldMetadata field2) {
return field1.getFieldName().getSymbolName()
.compareTo(field2.getFieldName().getSymbolName());
}
};
/**
* @return the field initializer, if known (may be null if there is no
* initializer)
*/
String getFieldInitializer();
/**
* @return the name of the field (never null)
*/
JavaSymbolName getFieldName();
/**
* @return the type of field (never null)
*/
JavaType getFieldType();
}