01: /*
02: ItsNat Java Web Application Framework
03: Copyright (C) 2007 Innowhere Software Services S.L., Spanish Company
04: Author: Jose Maria Arranz Santamaria
05:
06: This program is free software: you can redistribute it and/or modify
07: it under the terms of the GNU Affero General Public License as published by
08: the Free Software Foundation, either version 3 of the License, or
09: (at your option) any later version. See the GNU Affero General Public
10: License for more details. See the copy of the GNU Affero General Public License
11: included in this program. If not, see <http://www.gnu.org/licenses/>.
12: */
13:
14: package org.itsnat.impl.core.domutil;
15:
16: import org.itsnat.core.domutil.ElementRenderer;
17: import org.w3c.dom.Element;
18: import org.w3c.dom.Node;
19:
20: /**
21: *
22: * @author jmarranz
23: */
24: public class ElementRendererDefaultImpl implements ElementRenderer {
25: // A día de hoy no tiene información de estado, por tanto para ahorrar memoria usamos un singleton
26: protected final static ElementRendererDefaultImpl SINGLETON = new ElementRendererDefaultImpl();
27:
28: /**
29: * Creates a new instance of ElementRendererDefaultImpl
30: */
31: private ElementRendererDefaultImpl() {
32: }
33:
34: public static ElementRendererDefaultImpl newElementRendererDefault() {
35: // Si se añade en el futuro alguna información de estado crear el objeto de forma normal con new
36: return SINGLETON;
37: }
38:
39: public void render(Object userObj, Object value, Element labelElem,
40: boolean isNew) {
41: if (value instanceof Node) // puede ser Element, DocumentFragment, Text etc
42: {
43: ItsNatDOMUtilInternal.replaceContent(labelElem,
44: (Node) value);
45: } else {
46: String text = ItsNatDOMUtilInternal.toString(value);
47: ItsNatDOMUtilInternal.setTextFirstTextNode(labelElem, text);
48: }
49: }
50:
51: public void unrender(Object userObj, Element elem) {
52: }
53: }
|