KickJava   Java API By Example, From Geeks To Geeks.

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


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.Extent;
33 import nextapp.echo2.app.Insets;
34 import nextapp.echo2.webrender.output.CssStyle;
35
36 /**
37  * Utility class for rendering <code>nextapp.echo2.app.Insets</code>
38  * properties to CSS.
39  */

40 public class InsetsRender {
41
42     /**
43      * Renders an <code>Insets</code> property to the given CSS style.
44      * Null property values are ignored.
45      *
46      * @param cssStyle the target <code>CssStyle</code>
47      * @param cssAttribute the CSS attribute name, e.g., "margin" or "padding".
48      * @param insets the property value
49      */

50     public static void renderToStyle(CssStyle cssStyle, String JavaDoc cssAttribute, Insets insets) {
51         if (insets == null) {
52             return;
53         }
54         cssStyle.setAttribute(cssAttribute, renderCssAttributeValue(insets));
55     }
56
57     /**
58      * Renders a CSS attribute value representation of an <code>Insets</code>.
59      *
60      * @param insets the <code>Insets</code> to render
61      * @return a CSS attribute value representation
62      */

63     public static String JavaDoc renderCssAttributeValue(Insets insets) {
64         Extent top = insets.getTop();
65         if (top != null && top.equals(insets.getLeft()) && top.equals(insets.getRight())
66                     && top.equals(insets.getBottom())) {
67             return ExtentRender.renderCssAttributeValue(top);
68         } else {
69             StringBuffer JavaDoc out = new StringBuffer JavaDoc();
70             if (top == null) {
71                 out.append("0px");
72             } else {
73                 out.append(ExtentRender.renderCssAttributeValue(top));
74             }
75             out.append(" ");
76             if (insets.getRight() == null) {
77                 out.append("0px");
78             } else {
79                 out.append(ExtentRender.renderCssAttributeValue(insets.getRight()));
80             }
81             out.append(" ");
82             if (insets.getBottom() == null) {
83                 out.append("0px");
84             } else {
85                 out.append(ExtentRender.renderCssAttributeValue(insets.getBottom()));
86             }
87             out.append(" ");
88             if (insets.getLeft() == null) {
89                 out.append("0px");
90             } else {
91                 out.append(ExtentRender.renderCssAttributeValue(insets.getLeft()));
92             }
93             return out.toString();
94         }
95     }
96     
97     /** Non-instantiable class. */
98     private InsetsRender() { }
99 }
100
Popular Tags