001package Torello.JavaDoc.Annotations;
002
003import java.lang.annotation.*;
004
005// @CSSLinks Annotation
006// 
007// EXPORTS:
008//      public String[] FileNames();
009//      public String[] FullPathFileNames();
010// 
011// package Torello.JDUInternal.Features.USER_SUPPLIED_JAVASCRIPT
012//      The classes in this package do the processing for inserting the '.js' Files which the user
013//      has requested be placed into his Java-Doc '.html' Web-Page.  These '.js' Files must be
014//      located in the '../upgrade-files/script/' directory.  These '.css' Files must either:
015// 
016//          1) obey the standard naming convention and have the exact same file-name as the
017//          Java-Class which has been annotated by the @CSSLinks Annotation
018// 
019//          2) have a name equal to one of the names provided to the Annotation-Element "FileNames"
020
021@Target(ElementType.TYPE)
022@Retention(RetentionPolicy.SOURCE)
023public @interface JavaScriptImport
024{
025    /**
026     * The File Names which should be passed via this {@code String[]}-Array must be relative to
027     * precisely one of your package's {@code '[src-dir]/upgrade-files/script/'} directories.  Keep
028     * in mind that although Java's "Class Path" allows Source-Files for any given package to be 
029     * distributed to multiple locations, {@code '.js'}-Files can only match precisely one 
030     * {@code ../upgrade-files/script/*.js'} File on disk, or the the Annotation Processing system
031     * wil flag this annotation as an error.
032     */
033    public String[] FileNames() default {};
034
035    /**
036     * The File Names which are passed using this Element may refer to any {@code '.js'} File any 
037     * where on the File-System.  These Java-Script Files do not have to reside within the 
038     * {@code ../upgrade-files/script/} directory.
039     */
040    public String[] FullPathFileNames() default {};
041}