blob: 7e90766f29dd4e60962c2cc15c8d87b781229f71 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 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.metamodel;
import org.eclipse.wst.css.core.metamodel.CSSMMNode;
import org.eclipse.wst.css.core.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;
}