001package Torello.JavaDoc.Annotations;
002
003/**
004 * Enforces that the original annotation text used & placed by the user is stored, inside the
005 * class, as a {@code java.lang.String}.  The values which are returned by these methods are used 
006 * <B STYLE='color:red;'><I>solely for error printing and the messager</I></B>.
007 */
008public interface AnnotationMirror
009{
010    /** 
011     * Extracts the actual text that a programmer / software engineer has placed onto a Java Entity
012     * or Type, and returns it as a {@code String}.
013     * 
014     * @return The text of the annotation which the user has placed.
015     */
016    public String getAnnotationAsString();
017
018    /**
019     * Extracts the name of the annotation as a {@code String}.
020     * @return A {@code String} such as {@code "StaticFunctional"} or {@code "IntoHTMLTable"}.
021     */
022    public String getAnnotationName();
023
024    /**
025     * Generates a {@code String} representation of this mirror instance.
026     * @return A {@code java.lang.String} representing this instance data
027     */
028    public String toString();
029};