EMMA Coverage Report (generated Mon Mar 20 21:27:43 EST 2006)
[all classes][com.webhydra.slug.tld]

COVERAGE SUMMARY FOR SOURCE FILE [SlugTagCommon.java]

nameclass, %method, %block, %line, %
SlugTagCommon.java100% (1/1)75%  (3/4)97%  (99/102)93%  (13/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SlugTagCommon100% (1/1)75%  (3/4)97%  (99/102)93%  (13/14)
SlugTagCommon (): void 0%   (0/1)0%   (0/3)0%   (0/1)
<static initializer> 100% (1/1)100% (4/4)100% (1/1)
externalScript (String, boolean): String 100% (1/1)100% (48/48)100% (7/7)
internalScript (String, boolean): String 100% (1/1)100% (47/47)100% (5/5)

1/*
2 * @(#) $Id: SlugTagCommon.java,v 1.1.1.1 2006/03/19 06:09:42 rossen Exp $
3 *
4 * Copyright (c) 2006, WebHydra.com
5 * All rights reserved.
6 * 
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 * 
10 *     * Redistributions of source code must retain the above copyright notice,
11 *       this list of conditions and the following disclaimer.
12 *     * Redistributions in binary form must reproduce the above copyright
13 *       notice, this list of conditions and the following disclaimer in the
14 *       documentation and/or other materials provided with the distribution.
15 *     * Neither the name of the WebHydra.com nor the names of its contributors
16 *       may be used to endorse or promote products derived from this software
17 *       without specific prior written permission.
18 * 
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31 
32package com.webhydra.slug.tld;
33 
34/**
35 * Common Tag related constants and functions.
36 * @author rossen
37 */
38class SlugTagCommon
39{
40 
41    /**
42     * Request attribute used indicating wheter Slug's JavaScript classes are
43     * already defined.
44     */
45    public static final String JS_FORMAT_REQUEST_ATTRIBUTE = "com.webhydra.slug.classdef.xhtml";
46 
47    /**
48     * HTML 4.1 script tag
49     */
50    public static final String HTML_SCRIPT_TAG = "SCRIPT";
51 
52    /**
53     * XHTML 1.0 script tag
54     */
55    public static final String XHTML_SCRIPT_TAG = HTML_SCRIPT_TAG.toLowerCase();
56 
57    // Comments constants
58    /**
59     * HTML 4.1 comment start
60     */
61    public static final String HTML_COMMENT_START = "<!--";
62    /**
63     * HTML 4.1 comment end
64     */
65    public static final String HTML_COMMENT_END = "-->";
66    /**
67     * XHTML 1.0 comment start
68     */
69    public static final String XHTML_COMMENT_START = "<![CDATA[";
70    /**
71     * XHTML 1.0 comment end
72     */
73    public static final String XHTML_COMMENT_END = "]]>";
74 
75    /**
76     * Generates JavaScript segment.
77     * @param body JavaScript fragment.
78     * @param isXml output format determining XHTML 1.0 or HTML 4.1 will be used.
79     * @return JavaScript segnemt.
80     */
81    public static String internalScript(String body, boolean isXml)
82    {
83        String tag = (isXml) ? XHTML_SCRIPT_TAG : HTML_SCRIPT_TAG;
84        String commentStart = (isXml) ? XHTML_COMMENT_START : HTML_COMMENT_START;
85        String commentEnd = (isXml) ? XHTML_COMMENT_END : HTML_COMMENT_END;
86        String js = "<" + tag + " type=\"text/javascript\">\n" + commentStart +
87                "\n" + body + "\n// " + commentEnd + "\n</" + tag + ">";
88        return js;
89    }
90 
91    /**
92     * Generates JavaScript segment.
93     * @param url JavaScript URL.
94     * @param isXml output format determining XHTML 1.0 or HTML 4.1 will be used.
95     * @return JavaScript segnemt.
96     */
97    public static String externalScript(String url, boolean isXml)
98    {
99        String tag = (isXml) ? XHTML_SCRIPT_TAG : HTML_SCRIPT_TAG;
100        String js = "<" + tag + " type=\"text/javascript\" src=\"" + url + "\"";
101        if (isXml)
102        {
103            js = js + " />";
104        }
105        else
106        {
107            js = js + "></" + tag + ">";
108        }
109        return js;
110    }
111}

[all classes][com.webhydra.slug.tld]
EMMA 2.0.5312 (C) Vladimir Roubtsov