/*******************************************************************************
* Copyright (c) 2007 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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
*
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.seam.core;
/**
* Represents <component> element of components.xml file.
* @author Alexey Kazakov
*/
public interface ISeamXmlComponentDeclaration extends ISeamPropertiesDeclaration {
/*
* Names of <component> attributes.
*/
public final static String NAME = "name"; //$NON-NLS-1$
public final static String CLASS = "class"; //$NON-NLS-1$
public final static String SCOPE = "scope"; //$NON-NLS-1$
public final static String PRECEDENCE = "precedence"; //$NON-NLS-1$
public final static String INSTALLED = "installed"; //$NON-NLS-1$
public final static String AUTO_CREATE = "auto-create"; //$NON-NLS-1$
public final static String JNDI_NAME = "jndi-name"; //$NON-NLS-1$
public final static String STARTUP = "startup"; //$NON-NLS-1$
public final static String STARTUP_DEPENDS = "startupDepends"; //$NON-NLS-1$
/**
* @return scope type
*/
public ScopeType getScope();
/**
* @return string value of 'scope' attribute
*/
public String getScopeAsString();
/**
* @return string value of 'class' attribute
*/
public String getClassName();
public boolean isClassNameGuessed();
/**
* @return string value of 'jndi-name' attribute
*/
public String getJndiName();
/**
* @return true if attribute 'installed' is 'true'
*/
public boolean isInstalled();
/**
* @return string value of 'installed' attribute
*/
public boolean getInstalledAsString();
/**
* @return string value of 'precedence' attribute
*/
public String getPrecedence();
/**
* @return true if attribute 'auto-create' is 'true'
*/
public boolean isAutoCreate();
/**
* @return string value of 'auto-create' attribute
*/
public String getAutoCreateAsString();
public ISeamXmlComponentDeclaration clone() throws CloneNotSupportedException;
}