package org.springframework.roo.classpath.details;
import java.lang.reflect.Modifier;
import org.springframework.roo.model.CustomDataAccessor;
/**
* Allows an identifiable Java structure (ie a member or a type) to be traced
* back to its declaring type.
*
* @author Ben Alex
* @since 1.0
*/
public interface IdentifiableJavaStructure extends CustomDataAccessor {
/**
* @return the ID of the metadata that declared this member (never null)
*/
String getDeclaredByMetadataId();
/**
* Indicates the access modifier of the member. The integer is formatted in
* accordance with {@link Modifier}. Returning 0 is acceptable the less
* common structures that don't support modifiers (eg static initializers).
*
* @return the modifier, if available (required)
*/
int getModifier();
}