KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > webcontainer > propertyrender > BorderRender


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.webcontainer.propertyrender;
31
32 import nextapp.echo2.app.Border;
33 import nextapp.echo2.webrender.output.CssStyle;
34
35 /**
36  * Utility class for rendering <code>nextapp.echo2.app.Border</code>
37  * properties to CSS.
38  */

39 public class BorderRender {
40     
41     /**
42      * Returns the CSS border style value for a given
43      * Border.STYLE_XXX constant.
44      *
45      * @param style the style constant
46      * @return the CSS style value
47      */

48     public static final String JavaDoc getStyleValue(int style) {
49         switch (style) {
50         case Border.STYLE_NONE:
51             return "none";
52         case Border.STYLE_INSET:
53             return "inset";
54         case Border.STYLE_OUTSET:
55             return "outset";
56         case Border.STYLE_SOLID:
57             return "solid";
58         case Border.STYLE_DOTTED:
59             return "dotted";
60         case Border.STYLE_DASHED:
61             return "dashed";
62         case Border.STYLE_GROOVE:
63             return "groove";
64         case Border.STYLE_RIDGE:
65             return "ridge";
66         case Border.STYLE_DOUBLE:
67             return "double";
68         default:
69             return "none";
70         }
71     }
72     
73     /**
74      * Renders a <code>Border</code> property value to a CSS border attribute
75      * value.
76      *
77      * @param border the property value
78      * @return the CSS attribute value
79      */

80     public static String JavaDoc renderCssAttributeValue(Border border) {
81         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
82         if (border.getSize() != null) {
83             out.append(ExtentRender.renderCssAttributeValue(border.getSize()));
84             out.append(" ");
85         }
86         out.append(getStyleValue(border.getStyle()));
87         if (border.getColor() != null) {
88             out.append(" ");
89             out.append(ColorRender.renderCssAttributeValue(border.getColor()));
90         }
91         return out.toString();
92     }
93
94     /**
95      * Renders a <code>Border</code> property to the given CSS style.
96      * Null property values are ignored.
97      *
98      * @param cssStyle the target <code>CssStyle</code>
99      * @param border the property value
100      */

101     public static void renderToStyle(CssStyle cssStyle, Border border) {
102         if (border == null) {
103             return;
104         }
105         cssStyle.setAttribute("border", renderCssAttributeValue(border));
106     }
107     
108     /** Non-instantiable class. */
109     private BorderRender() { }
110 }
111
Popular Tags