001package Torello.JavaDoc;
002
003/**
004 * A class for encapsulating all four JavaDoc Upgrader {@code '.css'} Files, each of which has been
005 * saved, in entirety, as a simple Java {@code String}.
006 * 
007 * <EMBED CLASS='external-html' DATA-FILE-ID=CSS_FILES>
008 */
009public class CSSFiles implements java.io.Serializable
010{
011    /* <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
012    protected static final long serialVersionUID = 1;
013
014
015    // ********************************************************************************************
016    // ********************************************************************************************
017    // Just the File-Name's of the CSS-Files
018    // ********************************************************************************************
019    // ********************************************************************************************
020
021
022    /**
023     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_COLORS_F>
024     * @see #colorsCSS
025     */
026    public static final String COLORS_CSS_FILENAME = "Colors.css";
027
028    /**
029     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_BASE64_ENCODED_F>
030     * @see #colorsCSS
031     */
032    public static final String BASE64_ENCODED_CSS_FILENAME = "Base64-Encoded.css";
033
034    /**
035     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_ORIGINAL_WIDGETS_F>
036     * @see #originalWidgetsCSS
037     */
038    public static final String JAVADOC_WIDGETS_CSS_FILENAME = "Original-Widgets.css";
039
040    /**
041     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_UPGRADER_WIDGETS_F>
042     * @see #upgraderWidgetsCSS
043     */
044    public static final String UPGRADER_WIDGETS_CSS_FILENAME = "Upgrader-Widgets.css";
045
046    /**
047     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_USER_ACCESSORIES_F>
048     * @see #userAccessoriesCSS
049     */
050    public static final String USER_WIDGETS_CSS_FILENAME = "User-Accessories.css";
051
052    /**
053     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_USER_ANNOTATIONS_F>
054     * @see #userAnnotationsCSS
055     */
056    public static final String USER_ANNOTATIONS_CSS_FILENAME = "User-Annotations.css";
057
058    /**
059     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_PYGMENTS_ORG_F>
060     * @see #pygmentsOrgCSS
061     */
062    public static final String PYGMENTS_ORG_CSS_FILENAME = "Pygments.org.css";
063
064    /**
065     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_LIST_FRAMES_F>
066     * @see #listFramesCSS
067     */
068    public static final String LIST_FRAMES_CSS_FILENAME = "List-Frames.css";
069
070    /**
071     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_CUSTOMIZED_F>
072     * @see #customizedCSS
073     */
074    public static final String CUSTOMIZED_CSS_FILENAME = "Customized.css";
075
076
077    // ********************************************************************************************
078    // ********************************************************************************************
079    // The Actual CSS-Contents of the Files (as a String)
080    // ********************************************************************************************
081    // ********************************************************************************************
082
083
084    /**
085     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_COLORS>
086     * @see #COLORS_CSS_FILENAME
087     */
088    public final String colorsCSS;
089
090    /**
091     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_BASE64_ENCODED>
092     * @see #COLORS_CSS_FILENAME
093     */
094    public final String base64EncodedCSS;
095
096    /**
097     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_ORIGINAL_WIDGETS>
098     * @see #JAVADOC_WIDGETS_CSS_FILENAME
099     */
100    public final String originalWidgetsCSS;
101
102    /**
103     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_UPGRADER_WIDGETS>
104     * @see #UPGRADER_WIDGETS_CSS_FILENAME
105     */
106    public final String upgraderWidgetsCSS;
107
108    /**
109     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_USER_ACCESSORIES>
110     * @see #USER_WIDGETS_CSS_FILENAME
111     */
112    public final String userAccessoriesCSS;
113
114    /**
115     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_USER_ANNOTATIONS>
116     * @see #USER_ANNOTATIONS_CSS_FILENAME
117     */
118    public final String userAnnotationsCSS;
119
120    /**
121     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_PYGMENTS_ORG>
122     * @see #PYGMENTS_ORG_CSS_FILENAME
123     */
124    public final String pygmentsOrgCSS;
125
126    /**
127     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_LIST_FRAMES>
128     * @see #LIST_FRAMES_CSS_FILENAME
129     */
130    public final String listFramesCSS;
131
132    /**
133     * <EMBED CLASS='external-html' DATA-FILE-ID=CSSF_CUSTOMIZED>
134     * @see #CUSTOMIZED_CSS_FILENAME
135     */
136    public final String customizedCSS;
137
138
139    // ********************************************************************************************
140    // ********************************************************************************************
141    // Constructor
142    // ********************************************************************************************
143    // ********************************************************************************************
144
145
146    /**
147     * Constructs an instance of this class by assigning the input parameters to the fields of the
148     * exact same name.
149     * 
150     * @param colorsCSS {@code '.css'} File-Contents for the CSS-File that defines the color-scheme
151     * for any / all explicity named colors on this page hierarchy.
152     * 
153     * <BR /><TABLE CLASS=JDBriefTable>
154     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
155     * <TR> <TD>{@link #colorsCSS}</TD>
156     *      <TD>CSS File-as-a-{@code String} Field</TD>
157     *      </TR>
158     * <TR> <TD>{@link #COLORS_CSS_FILENAME}</TD>
159     *      <TD>CSS File-Name</TD>
160     *      </TR>
161     * <TR> <TD><CODE><A HREF='hilite-files/Colors.css.html'>Colors.css</A></CODE></TD>
162     *      <TD>Upgrader Default-File Contents</TD>
163     *      </TR>
164     * </TABLE>
165     * 
166     * @param base64EncodedCSS {@code '.css'} File-Contents for the CSS-File that defines the color-scheme
167     * for any / all explicity named colors on this page hierarchy.
168     * 
169     * <BR /><TABLE CLASS=JDBriefTable>
170     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
171     * <TR> <TD>{@link #base64EncodedCSS}</TD>
172     *      <TD>CSS File-as-a-{@code String} Field</TD>
173     *      </TR>
174     * <TR> <TD>{@link #BASE64_ENCODED_CSS_FILENAME}</TD>
175     *      <TD>CSS File-Name</TD>
176     *      </TR>
177     * <TR> <TD><CODE><A HREF='hilite-files/Base64-Encoded.css.html'>Base64-Encoded.css</A></CODE></TD>
178     *      <TD>Upgrader Default-File Contents</TD>
179     *      </TR>
180     * </TABLE>
181     * 
182     * @param originalWidgetsCSS {@code '.css'} File-Contents for CSS that's used on Original
183     * JavaDoc Components.
184     * 
185     * <BR /><TABLE CLASS=JDBriefTable>
186     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
187     * <TR> <TD>{@link #originalWidgetsCSS}</TD>
188     *      <TD>CSS File-as-a-{@code String} Field</TD>
189     *      </TR>
190     * <TR> <TD>{@link #JAVADOC_WIDGETS_CSS_FILENAME}</TD>
191     *      <TD>CSS File-Name</TD>
192     *      </TR>
193     * <TR> <TD><CODE><A HREF='hilite-files/Original-Widgets.css.html'>Original-Widgets.css
194     *          </A></CODE></TD>
195     *      <TD>Upgrader Default-File Contents</TD>
196     *      </TR>
197     * </TABLE>
198     * 
199     * @param upgraderWidgetsCSS {@code '.css'} File-Contents for CSS that's used on Upgrader-Added
200     * Components.
201     * 
202     * <BR /><TABLE CLASS=JDBriefTable>
203     * 
204     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
205     * 
206     * <TR> <TD>{@link #upgraderWidgetsCSS}</TD>
207     *      <TD>CSS File-as-a-{@code String} Field</TD>
208     *      </TR>
209     * <TR> <TD>{@link #UPGRADER_WIDGETS_CSS_FILENAME}</TD>
210     *      <TD>CSS File-Name</TD>
211     *      </TR>
212     * <TR> <TD><CODE><A HREF='hilite-files/Upgrader-Widgets.css.html'>Upgrader-Widgets.css
213     *          </A></CODE></TD>
214     *      <TD>Upgrader Default-File Contents</TD>
215     *      </TR>
216     * 
217     * </TABLE>
218     * 
219     * @param userAccessoriesCSS {@code '.css'} File-Contents for CSS that's used on Components which
220     * are only present on a Web-Page if those components were addded / inserted by the programmer.
221     * 
222     * <BR /><TABLE CLASS=JDBriefTable>
223     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
224     * <TR> <TD>{@link #userAccessoriesCSS}</TD>
225     *      <TD>CSS File-as-a-{@code String} Field</TD>
226     *      </TR>
227     * <TR> <TD>{@link #USER_WIDGETS_CSS_FILENAME}</TD>
228     *      <TD>CSS File-Name</TD>
229     *      </TR>
230     * <TR> <TD><CODE><A HREF='hilite-files/User-Accessories.css.html'>User-Accessories.css
231     *          </A></CODE></TD>
232     *      <TD>Upgrader Default-File Contents</TD>
233     *      </TR>
234     * </TABLE>
235     * 
236     * @param userAnnotationsCSS {@code '.css'} File-Contents for CSS that's used on Components which
237     * are generated by the Upgrader-Tool's suite of User-Annotations.
238     * 
239     * <BR /><TABLE CLASS=JDBriefTable>
240     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
241     * <TR> <TD>{@link #userAnnotationsCSS}</TD>
242     *      <TD>CSS File-as-a-{@code String} Field</TD>
243     *      </TR>
244     * <TR> <TD>{@link #USER_ANNOTATIONS_CSS_FILENAME}</TD>
245     *      <TD>CSS File-Name</TD>
246     *      </TR>
247     * <TR> <TD><CODE><A HREF='hilite-files/User-Annotations.css.html'>User-Annotations.css
248     *          </A></CODE></TD>
249     *      <TD>Upgrader Default-File Contents</TD>
250     *      </TR>
251     * </TABLE>
252     * 
253     * @param pygmentsOrgCSS {@code '.css'} File-Contents for CSS that mimics the
254     * {@code 'pygments.org'} Syntax HiLiter.
255     * 
256     * <BR /><TABLE CLASS=JDBriefTable>
257     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
258     * <TR> <TD>{@link #pygmentsOrgCSS}</TD>
259     *      <TD>CSS File-as-a-{@code String} Field</TD>
260     *      </TR>
261     * <TR> <TD>{@link #PYGMENTS_ORG_CSS_FILENAME}</TD>
262     *      <TD>CSS File-Name</TD>
263     *      </TR>
264     * <TR> <TD><CODE><A HREF='hilite-files/Pygments.org.css.html'>Pygments.org.css
265     *          </A></CODE></TD>
266     *      <TD>Upgrader Default-File Contents</TD>
267     *      </TR>
268     * </TABLE>
269     * 
270     * @param listFramesCSS {@code '.css'} File-Contents for the CSS that is used to format the
271     * the {@code 'overview-frame.html'} and {@code 'package-frame.html'} Files.
272     * 
273     * <BR /><TABLE CLASS=JDBriefTable>
274     * <TR><TH>Link</TH><TH>Link-Contents</TH></TR>
275     * <TR> <TD>{@link #listFramesCSS}</TD>
276     *      <TD>CSS File-as-a-{@code String} Field</TD>
277     *      </TR>
278     * <TR> <TD>{@link #LIST_FRAMES_CSS_FILENAME}</TD>
279     *      <TD>CSS File-Name</TD>
280     *      </TR>
281     * <TR> <TD><CODE><A HREF='hilite-files/List-Frames.css.html'>List-Frames.css
282     *          </A></CODE></TD>
283     *      <TD>Upgrader Default-File Contents</TD>
284     *      </TR>
285     * </TABLE>
286     * 
287     * @param customizedCSS Potential {@code '.css'} File-Contents provided by the user for HTML
288     * Elements that have been created and included by the programmer, not by the upgrader or by 
289     * javadoc.
290     * 
291     * <BR /><BR />This parameter may be either null, or a zero-length {@code String}.  If this
292     * parameter does not contain any CSS-Rules, then no such {@code '.css'} File will be placed in
293     * the root Java-Doc {@code 'stylesheets/'}, nor will links to this file be inserted into any
294     * of the Java-Doc Web-Pages.
295     * 
296     * <BR /><BR /><B STYLE='color: red;'>See Field Definitions for:</B>
297     * 
298     * {@link #customizedCSS} and {@link #CUSTOMIZED_CSS_FILENAME}
299     */
300    public CSSFiles(
301            final String colorsCSS,
302            final String base64EncodedCSS,
303            final String originalWidgetsCSS,
304            final String upgraderWidgetsCSS,
305            final String userAccessoriesCSS,
306            final String userAnnotationsCSS,
307            final String pygmentsOrgCSS,
308            final String listFramesCSS,
309            final String customizedCSS
310        )
311    {
312        this.colorsCSS          = colorsCSS;
313        this.base64EncodedCSS   = base64EncodedCSS;
314        this.originalWidgetsCSS = originalWidgetsCSS;
315        this.upgraderWidgetsCSS = upgraderWidgetsCSS;
316        this.userAccessoriesCSS = userAccessoriesCSS;
317        this.userAnnotationsCSS = userAnnotationsCSS;
318        this.pygmentsOrgCSS     = pygmentsOrgCSS;
319        this.listFramesCSS      = listFramesCSS;
320        this.customizedCSS      = customizedCSS;
321    }
322}