| /******************************************************************************* |
| * Copyright (c) 2004, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.css.core.internal.metamodelimpl; |
| |
| import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; |
| import org.eclipse.wst.css.core.internal.metamodel.CSSMMUnit; |
| |
| /** |
| * CSSMMUnit : embedded type |
| */ |
| class CSSMMUnitImpl extends CSSMMNodeImpl implements CSSMMUnit { |
| |
| public CSSMMUnitImpl() { |
| super(); |
| } |
| |
| public String getType() { |
| return TYPE_UNIT; |
| } |
| |
| public String getName() { |
| String name = getAttribute(ATTR_NAME); |
| if (name != null) { |
| return name.toLowerCase(); |
| } |
| else { |
| return null; |
| } |
| } |
| |
| /* |
| * @see CSSMMUnit#getUnitString() |
| */ |
| public String getUnitString() { |
| return fValue; |
| } |
| |
| /* |
| * @see CSSMMNodeImpl#canContain(CSSMMNode) |
| */ |
| boolean canContain(CSSMMNode child) { |
| return false; |
| } |
| |
| /* |
| * @see CSSMMNodeImpl#postSetAttribute() |
| */ |
| // void postSetAttribute() throws BadInitializationException { |
| // super.postSetAttribute(); |
| // String name = getName(); |
| // if (name == null) { throw new BadInitializationException(); } |
| // Map map = new HashMap(); |
| // map.put(CSSUnitID.U_CM.toLowerCase(), "cm");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_DEG.toLowerCase(), "deg");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_EMS.toLowerCase(), "em");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_EXS.toLowerCase(), "ex");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_GRAD.toLowerCase(), "grad");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_HASH.toLowerCase(), "#");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_HZ.toLowerCase(), "Hz");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_IN.toLowerCase(), "in");//$NON-NLS-1$ |
| // // map.put(CSSUnitID.U_INTEGER.toLowerCase(), |
| // "(integer)");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_KHZ.toLowerCase(), "kHz");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_MM.toLowerCase(), "mm");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_MS.toLowerCase(), "ms");//$NON-NLS-1$ |
| // // map.put(CSSUnitID.U_NUMBER.toLowerCase(), "(number)");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_PC.toLowerCase(), "pc");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_PERCENTAGE.toLowerCase(), "%");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_PT.toLowerCase(), "pt");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_PX.toLowerCase(), "px");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_RAD.toLowerCase(), "rad");//$NON-NLS-1$ |
| // map.put(CSSUnitID.U_S.toLowerCase(), "s");//$NON-NLS-1$ |
| // fValue = (String)map.get(name.toLowerCase()); |
| // if (fValue == null) { throw new BadInitializationException(); } |
| // } |
| /* |
| * @see Object#toString() |
| */ |
| public String toString() { |
| return getUnitString(); |
| } |
| |
| void setUnitString(String value) { |
| fValue = value; |
| } |
| |
| short getError() { |
| if (getName() == null) { |
| return MetaModelErrors.ERROR_NOT_DEFINED; |
| } |
| else if (getUnitString() == null) { |
| return MetaModelErrors.ERROR_NO_CHILD; |
| } |
| else { |
| return MetaModelErrors.NO_ERROR; |
| } |
| } |
| |
| private String fValue = null; |
| } |