Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.

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.16 *7 * The contents of this file are subject to the Mozilla Public License Version8 * 1.1 (the "License"); you may not use this file except in compliance with9 * the License. You may obtain a copy of the License at10 * 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 License14 * for the specific language governing rights and limitations under the15 * License.16 *17 * Alternatively, the contents of this file may be used under the terms of18 * either the GNU General Public License Version 2 or later (the "GPL"), or19 * 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 instead21 * of those above. If you wish to allow use of your version of this file only22 * under the terms of either the GPL or the LGPL, and not to allow others to23 * use your version of this file under the terms of the MPL, indicate your24 * decision by deleting the provisions above and replace them with the notice25 * and other provisions required by the GPL or the LGPL. If you do not delete26 * the provisions above, a recipient may use your version of this file under27 * the terms of any one of the MPL, the GPL or the LGPL.28 */29 30 package nextapp.echo2.app.componentxml.propertypeer;31 32 importjava.util.Collections;33 importjava.util.HashMap;34 importjava.util.Map;35 36 importorg.w3c.dom.Element;37 38 importnextapp.echo2.app.Alignment;39 importnextapp.echo2.app.componentxml.InvalidPropertyException;40 importnextapp.echo2.app.componentxml.PropertyXmlPeer;41 importnextapp.echo2.app.util.DomUtil;42 43 /**44 * <code>PropertyXmlPeer</code> implementation for 45 * <code>nextapp.echo2.app.Alignment</code> properties.46 */47 publicclass AlignmentPeer 48 implementsPropertyXmlPeer {49 50 privatestaticfinalMap HORIZONTAL_CONSTANTS;51 static {52 Map constantMap = newHashMap();53 constantMap.put("leading", newInteger(Alignment.LEADING));54 constantMap.put("trailing", newInteger(Alignment.TRAILING));55 constantMap.put("left", newInteger(Alignment.LEFT));56 constantMap.put("center", newInteger(Alignment.CENTER));57 constantMap.put("right", newInteger(Alignment.RIGHT));58 HORIZONTAL_CONSTANTS = Collections.unmodifiableMap(constantMap);59 }60 61 privatestaticfinalMap VERTICAL_CONSTANTS;62 static {63 Map constantMap = newHashMap();64 constantMap.put("top", newInteger(Alignment.TOP));65 constantMap.put("center", newInteger(Alignment.CENTER));66 constantMap.put("bottom", newInteger(Alignment.BOTTOM));67 VERTICAL_CONSTANTS = Collections.unmodifiableMap(constantMap);68 }69 70 /**71 * @see nextapp.echo2.app.componentxml.PropertyXmlPeer#getValue(java.lang.ClassLoader, 72 * java.lang.Class, org.w3c.dom.Element)73 */74 publicObject getValue(ClassLoader classLoader, Class objectClass, Element propertyElement)75 throwsInvalidPropertyException {76 Element alignmentElement = DomUtil.getChildElementByTagName(propertyElement, "alignment");77 int horizontal = Alignment.DEFAULT;78 int vertical = Alignment.DEFAULT;79 if (alignmentElement.hasAttribute("horizontal")) {80 Integer horizontalValue = (Integer) HORIZONTAL_CONSTANTS.get(alignmentElement.getAttribute("horizontal"));81 if (horizontalValue != null) {82 horizontal = horizontalValue.intValue();83 }84 }85 if (alignmentElement.hasAttribute("vertical")) {86 Integer verticalValue = (Integer) VERTICAL_CONSTANTS.get(alignmentElement.getAttribute("vertical"));87 if (verticalValue != null) {88 vertical = verticalValue.intValue();89 }90 }91 returnnewAlignment(horizontal, vertical);92 }93 }94