blob: d6daaaa083c8eb1f7bcc3959b90bf3e66df78170 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002 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
* Jens Lukowski/Innoopract - initial renaming/restructuring
*
*******************************************************************************/
package org.eclipse.wst.xml.core.internal.contentmodel.basic;
import java.util.Enumeration;
import java.util.List;
import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
public class CMAttributeDeclarationImpl extends CMNodeImpl implements CMAttributeDeclaration
{
protected CMDataType dataType;
protected String nodeName;
protected int usage;
protected CMDocument cmDocument;
protected boolean prefixQualification;
protected List xsiTypes;
public CMAttributeDeclarationImpl(String nodeName, int usage)
{
this(nodeName, usage, null);
}
public CMAttributeDeclarationImpl(String nodeName, int usage, CMDataType dataType)
{
this.nodeName = nodeName;
this.usage = usage;
this.dataType = dataType;
}
public int getNodeType()
{
return CMNode.ATTRIBUTE_DECLARATION;
}
public Object getProperty(String propertyName)
{
Object result = null;
if (propertyName.equals("CMDocument")) //$NON-NLS-1$
{
result = cmDocument;
}
else if (propertyName.equals("XSITypes")) //$NON-NLS-1$
{
result = xsiTypes;
}
else if (propertyName.equals("http://org.eclipse.wst/cm/properties/nsPrefixQualification")) //$NON-NLS-1$
{
result = prefixQualification ? "qualified" : "unqualified"; //$NON-NLS-1$ //$NON-NLS-2$
}
else
{
result = super.getProperty(propertyName);
}
return result;
}
public void setPrefixQualification(boolean qualified)
{
prefixQualification = qualified;
}
public void setXSITypes(List list)
{
xsiTypes = list;
}
public void setCMDocument(CMDocument cmDocument)
{
this.cmDocument = cmDocument;
}
public String getNodeName()
{
return nodeName;
}
public String getAttrName()
{
return nodeName;
}
public void setAttrType(CMDataType dataType)
{
this.dataType = dataType;
}
public CMDataType getAttrType()
{
return dataType;
}
public int getUsage()
{
return usage;
}
/** @deprecated */
public String getDefaultValue()
{
return ""; //$NON-NLS-1$
}
/** @deprecated */
public Enumeration getEnumAttr()
{
return null;
}
}