/******************************************************************************* * 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.html.core.internal.contentmodel; import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; /** */ class HTMLCMDataTypeImpl extends CMNodeImpl implements HTMLCMDataType { private int impliedValueKind = IMPLIED_VALUE_NONE; private String impliedValue = null; private final static String[] emptyArray = new String[0]; private String[] enumValues = emptyArray; private String instanceValue = null; /** * HTMLCMDataTypeImpl constructor comment. * @param nm java.lang.String */ public HTMLCMDataTypeImpl(String typeName) { super(typeName); } /** * HTMLCMDataTypeImpl constructor comment. * @param nm java.lang.String */ public HTMLCMDataTypeImpl(String typeName, String instanceValue) { super(typeName); this.instanceValue = instanceValue; } /** * getTypeName method * @return java.lang.String * * This method returns a suitable default value that can be used when an instance of the data type is created. * This returns null of a suitable default is not available. */ public String generateInstanceValue() { return instanceValue; } /** * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDataType */ public String getDataTypeName() { return getNodeName(); } /** * getTypeName method * @return java.lang.String[] * */ public String[] getEnumeratedValues() { return enumValues; } /** * getTypeName method * @return java.lang.String * * Returns the implied value or null if none exists. */ public String getImpliedValue() { return impliedValue; } /** * getImpliedValueKind method * @return int * * Returns one of : * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT. */ public int getImpliedValueKind() { return impliedValueKind; } /** * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode */ public int getNodeType() { return CMNode.DATA_TYPE; } /** */ void setEnumValues(String[] values) { enumValues = new String[values.length]; for (int i = 0; i < values.length; i++) { enumValues[i] = values[i]; } } /** * package scope. */ void setImpliedValue(int kind, String value) { switch (kind) { case IMPLIED_VALUE_FIXED : case IMPLIED_VALUE_DEFAULT : impliedValueKind = kind; impliedValue = value; break; case IMPLIED_VALUE_NONE : default : impliedValueKind = IMPLIED_VALUE_NONE; impliedValue = null; // maybe a null string? break; } } }