blob: 0f996e88740e208d5bfc0b47c6fbd5b0a4f6fdd3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002, 2005 Object Factory Inc.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Object Factory Inc. - Initial implementation
*******************************************************************************/
package org.eclipse.ant.internal.ui.dtd;
/**
* Schema attribute interface.
*
* @author Bob Foster
*/
public interface IAttribute extends IAtom {
public static final String CDATA = "CDATA"; //$NON-NLS-1$
public static final String ID = "ID"; //$NON-NLS-1$
public static final String IDREF = "IDREF"; //$NON-NLS-1$
public static final String IDREFS = "IDREFS"; //$NON-NLS-1$
public static final String NMTOKEN = "NMTOKEN"; //$NON-NLS-1$
public static final String NMTOKENS = "NMTOKENS"; //$NON-NLS-1$
public static final String ENTITY = "ENTITY"; //$NON-NLS-1$
public static final String ENTITIES = "ENTITIES"; //$NON-NLS-1$
public static final String NOTATION = "NOTATION"; //$NON-NLS-1$
public static final String ENUMERATION = "enumeration"; //$NON-NLS-1$
/**
* @return the attribute type. This will be one of "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", "NOTATION" or
* "enumeration". The type is interned and may be compared to a constant with ==. For "NOTATION" or "enumeration", <code>getEnum()</code>
* will return a list of values.
*/
public String getType();
/**
*
* @return String[] or null if type is not "NOTATION" or "ENUMERATION".
*/
public String[] getEnum();
/**
* Return the element the attribute is defined in.
*/
public IElement getElement();
/**
* Return the default value or null if none.
*/
public String getDefault();
/**
* Return true if the default value is fixed.
*/
public boolean isFixed();
/**
* Return true if attribute is required, false if it is optional.
*/
public boolean isRequired();
}