de.unkrig.notemplate.javadocish.templates.AbstractHtml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of no-template-core Show documentation
Show all versions of no-template-core Show documentation
A super-small Java library for templating, i.e. generating text files (HTML, XML, whatever) from a "template" text file and dynamic data.
It is based on the concept that the templates are bare Java classes.
The newest version!
/*
* No-Template - an extremely light-weight templating framework
*
* Copyright (c) 2016, Arno Unkrig
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// SUPPRESS CHECKSTYLE Wrap|LineLength:9999
package de.unkrig.notemplate.javadocish.templates;
import java.text.SimpleDateFormat;
import de.unkrig.commons.lang.AssertionUtil;
import de.unkrig.commons.nullanalysis.Nullable;
import de.unkrig.notemplate.HtmlTemplate;
import de.unkrig.notemplate.javadocish.Options;
/**
* Base class for all "real html pages", i.e. all except the frameset documents and the "package-list".
*/
public abstract
class AbstractHtml extends HtmlTemplate {
static { AssertionUtil.enableAssertionsForThisClass(); }
/**
* @param options Container for the various command line options
* @param stylesheetLinks The (optional) external stylesheets for this page
*/
protected void
rHtml(
String windowTitle,
Options options,
@Nullable String[] stylesheetLinks,
Runnable renderBody
) {
this.l(
"",
"",
"",
" ",
" ",
" " + windowTitle + (options.windowTitle == null ? "" : " (" + options.windowTitle + ")") + " "
);
// Charset, as controlled by the "-charset" command line option.
if (options.htmlCharset != null) {
this.l(
" "
);
}
// Generation date meta entry.
if (!options.noTimestamp) {
this.l(
" "
);
}
// Include stylesheet.
if (stylesheetLinks != null) {
for (String stylesheetLink : stylesheetLinks) {
this.l(
" "
);
}
}
// In contrast with the Java 8 JAVADOC doclet, we do *NOT* include the "script.js" file here, which implements
// that braindead "All Methods", "Static Methods", "Instance Methods" tab logic.
// this.l("");
this.l(
" ",
" "
);
renderBody.run();
this.l(
" ",
""
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy