View Javadoc

1   /**
2    * Copyright (C) 2005-2009 Alfresco Software Limited.
3    *
4    * This file is part of the Spring Surf Extension project.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *  http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.springframework.extensions.webscripts.ui.common.component;
20  
21  import java.io.IOException;
22  
23  import javax.faces.component.UIComponentBase;
24  import javax.faces.context.ResponseWriter;
25  
26  
27  /**
28   * @author kevinr
29   */
30  public abstract class SelfRenderingComponent extends UIComponentBase
31  {
32     /**
33      * Default Constructor
34      */
35     public SelfRenderingComponent()
36     {
37        // specifically set the renderer type to null to indicate to the framework
38        // that this component renders itself - there is no abstract renderer class
39        setRendererType(null);
40     }
41     
42     /**
43      * Helper to output an attribute to the output stream
44      * 
45      * @param out        ResponseWriter
46      * @param attr       attribute value object (cannot be null)
47      * @param mapping    mapping to output as e.g. style="..."
48      * 
49      * @throws IOException
50      */
51     protected static void outputAttribute(ResponseWriter out, Object attr, String mapping)
52        throws IOException
53     {
54        if (attr != null)
55        {
56           out.write(' ');
57           out.write(mapping);
58           out.write("=\"");
59           out.write(attr.toString());
60           out.write('"');
61        }
62     }
63  }