blob: fc45f16a9f36142710a9bfa3d947a1baabd9c22a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 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.jst.javaee.application;
import java.util.List;
import org.eclipse.jst.javaee.core.DataSourceType;
import org.eclipse.jst.javaee.core.Description;
import org.eclipse.jst.javaee.core.DisplayName;
import org.eclipse.jst.javaee.core.EjbLocalRef;
import org.eclipse.jst.javaee.core.EjbRef;
import org.eclipse.jst.javaee.core.EnvEntry;
import org.eclipse.jst.javaee.core.GenericBooleanType;
import org.eclipse.jst.javaee.core.Icon;
import org.eclipse.jst.javaee.core.JavaEEObject;
import org.eclipse.jst.javaee.core.MessageDestination;
import org.eclipse.jst.javaee.core.MessageDestinationRef;
import org.eclipse.jst.javaee.core.PersistenceContextRef;
import org.eclipse.jst.javaee.core.PersistenceUnitRef;
import org.eclipse.jst.javaee.core.ResourceEnvRef;
import org.eclipse.jst.javaee.core.ResourceRef;
import org.eclipse.jst.javaee.core.SecurityRole;
import org.eclipse.jst.javaee.core.ServiceRef;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Application</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
*
*
* The applicationType defines the structure of the
* application.
*
* @since Java EE 5, Application 5
*
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.jst.javaee.application.Application#getApplicationName <em>Application Name</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getDescriptions <em>Descriptions</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getDisplayNames <em>Display Names</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getIcons <em>Icons</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getInitializeInOrder <em>Initialize In Order</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getModules <em>Modules</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getSecurityRoles <em>Security Roles</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getLibraryDirectory <em>Library Directory</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getEnvEntry <em>Env Entry</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getEjbRef <em>Ejb Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getEjbLocalRef <em>Ejb Local Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getServiceRefs <em>Service Refs</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getResourceRef <em>Resource Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getResourceEnvRef <em>Resource Env Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getMessageDestinationRef <em>Message Destination Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getPersistenceContextRef <em>Persistence Context Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getPersistenceUnitRef <em>Persistence Unit Ref</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getMessageDestination <em>Message Destination</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getDataSource <em>Data Source</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.jst.javaee.application.Application#getVersion <em>Version</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication()
* @extends JavaEEObject
* @generated
*/
public interface Application extends JavaEEObject {
/**
* Returns the value of the '<em><b>Application Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Application Name</em>' attribute.
* @see #setApplicationName(String)
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_ApplicationName()
* @generated
*/
String getApplicationName();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.application.Application#getApplicationName <em>Application Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Application Name</em>' attribute.
* @see #getApplicationName()
* @generated
*/
void setApplicationName(String value);
/**
* Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.Description}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Descriptions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Descriptions</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_Descriptions()
* @generated
*/
List<Description> getDescriptions();
/**
* Returns the value of the '<em><b>Display Names</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.DisplayName}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Display Names</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Display Names</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_DisplayNames()
* @generated
*/
List<DisplayName> getDisplayNames();
/**
* Returns the value of the '<em><b>Icons</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.Icon}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Icons</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Icons</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_Icons()
* @generated
*/
List<Icon> getIcons();
/**
* Returns the value of the '<em><b>Initialize In Order</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.jst.javaee.core.GenericBooleanType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
*
* If initialize-in-order is true, modules must be initialized
* in the order they're listed in this deployment descriptor,
* with the exception of application client modules, which can
* be initialized in any order.
* If initialize-in-order is not set or set to false, the order
* of initialization is unspecified and may be product-dependent.
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Initialize In Order</em>' attribute.
* @see org.eclipse.jst.javaee.core.GenericBooleanType
* @see #isSetInitializeInOrder()
* @see #unsetInitializeInOrder()
* @see #setInitializeInOrder(GenericBooleanType)
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_InitializeInOrder()
* @generated
*/
GenericBooleanType getInitializeInOrder();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.application.Application#getInitializeInOrder <em>Initialize In Order</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Initialize In Order</em>' attribute.
* @see org.eclipse.jst.javaee.core.GenericBooleanType
* @see #isSetInitializeInOrder()
* @see #unsetInitializeInOrder()
* @see #getInitializeInOrder()
* @generated
*/
void setInitializeInOrder(GenericBooleanType value);
/**
* Unsets the value of the '{@link org.eclipse.jst.javaee.application.Application#getInitializeInOrder <em>Initialize In Order</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetInitializeInOrder()
* @see #getInitializeInOrder()
* @see #setInitializeInOrder(GenericBooleanType)
* @generated
*/
void unsetInitializeInOrder();
/**
* Returns whether the value of the '{@link org.eclipse.jst.javaee.application.Application#getInitializeInOrder <em>Initialize In Order</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Initialize In Order</em>' attribute is set.
* @see #unsetInitializeInOrder()
* @see #getInitializeInOrder()
* @see #setInitializeInOrder(GenericBooleanType)
* @generated
*/
boolean isSetInitializeInOrder();
/**
* Returns the value of the '<em><b>Modules</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.application.Module}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
*
* The application deployment descriptor must have one
* module element for each Java EE module in the
* application package. A module element is defined
* by moduleType definition.
*
* @since Java EE 5, Application 5
*
* <!-- end-model-doc -->
* @return the value of the '<em>Modules</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_Modules()
* @generated
*/
List<Module> getModules();
/**
* Returns the value of the '<em><b>Security Roles</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.SecurityRole}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Security Roles</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Security Roles</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_SecurityRoles()
* @generated
*/
List<SecurityRole> getSecurityRoles();
/**
* Returns the value of the '<em><b>Library Directory</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
*
* The library-directory element specifies the pathname
* of a directory within the application package, relative
* to the top level of the application package. All files
* named "*.jar" in this directory must be made available
* in the class path of all components included in this
* application package. If this element isn't specified,
* the directory named "lib" is searched. An empty element
* may be used to disable searching.
*
* @since Java EE 5, Application 5
*
* <!-- end-model-doc -->
* @return the value of the '<em>Library Directory</em>' attribute.
* @see #setLibraryDirectory(String)
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_LibraryDirectory()
* @generated
*/
String getLibraryDirectory();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.application.Application#getLibraryDirectory <em>Library Directory</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Library Directory</em>' attribute.
* @see #getLibraryDirectory()
* @generated
*/
void setLibraryDirectory(String value);
/**
* Returns the value of the '<em><b>Env Entry</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.EnvEntry}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Env Entry</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_EnvEntry()
* @generated
*/
List<EnvEntry> getEnvEntry();
/**
* Returns the value of the '<em><b>Ejb Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.EjbRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Ejb Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_EjbRef()
* @generated
*/
List<EjbRef> getEjbRef();
/**
* Returns the value of the '<em><b>Ejb Local Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.EjbLocalRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Ejb Local Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_EjbLocalRef()
* @generated
*/
List<EjbLocalRef> getEjbLocalRef();
/**
* Returns the value of the '<em><b>Service Refs</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.ServiceRef}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Service Refs</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Service Refs</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_ServiceRefs()
* @generated
*/
List<ServiceRef> getServiceRefs();
/**
* Returns the value of the '<em><b>Resource Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.ResourceRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Resource Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_ResourceRef()
* @generated
*/
List<ResourceRef> getResourceRef();
/**
* Returns the value of the '<em><b>Resource Env Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.ResourceEnvRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Resource Env Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_ResourceEnvRef()
* @generated
*/
List<ResourceEnvRef> getResourceEnvRef();
/**
* Returns the value of the '<em><b>Message Destination Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.MessageDestinationRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Message Destination Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_MessageDestinationRef()
* @generated
*/
List<MessageDestinationRef> getMessageDestinationRef();
/**
* Returns the value of the '<em><b>Persistence Context Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.PersistenceContextRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Persistence Context Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_PersistenceContextRef()
* @generated
*/
List<PersistenceContextRef> getPersistenceContextRef();
/**
* Returns the value of the '<em><b>Persistence Unit Ref</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.PersistenceUnitRef}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Persistence Unit Ref</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_PersistenceUnitRef()
* @generated
*/
List<PersistenceUnitRef> getPersistenceUnitRef();
/**
* Returns the value of the '<em><b>Message Destination</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.MessageDestination}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Message Destination</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_MessageDestination()
* @generated
*/
List<MessageDestination> getMessageDestination();
/**
* Returns the value of the '<em><b>Data Source</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.javaee.core.DataSourceType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* @since Java EE 6, Application 6
*
* <!-- end-model-doc -->
* @return the value of the '<em>Data Source</em>' containment reference list.
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_DataSource()
* @generated
*/
List<DataSourceType> getDataSource();
/**
* Returns the value of the '<em><b>Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Id</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Id</em>' attribute.
* @see #setId(String)
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_Id()
* @generated
*/
String getId();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.application.Application#getId <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Id</em>' attribute.
* @see #getId()
* @generated
*/
void setId(String value);
/**
* Returns the value of the '<em><b>Version</b></em>' attribute.
* The default value is <code>"6"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
*
* The required value for the version is 6.
*
*
* <!-- end-model-doc -->
* @return the value of the '<em>Version</em>' attribute.
* @see #isSetVersion()
* @see #unsetVersion()
* @see #setVersion(String)
* @see org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage#getApplication_Version()
* @generated
*/
String getVersion();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.application.Application#getVersion <em>Version</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Version</em>' attribute.
* @see #isSetVersion()
* @see #unsetVersion()
* @see #getVersion()
* @generated
*/
void setVersion(String value);
/**
* Unsets the value of the '{@link org.eclipse.jst.javaee.application.Application#getVersion <em>Version</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetVersion()
* @see #getVersion()
* @see #setVersion(String)
* @generated
*/
void unsetVersion();
/**
* Returns whether the value of the '{@link org.eclipse.jst.javaee.application.Application#getVersion <em>Version</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Version</em>' attribute is set.
* @see #unsetVersion()
* @see #getVersion()
* @see #setVersion(String)
* @generated
*/
boolean isSetVersion();
/**
* Gets the first module matching the specified uri
* @param uri The uri of a module to find.
* @return The first matching module or null if no module is found.
*/
public Module getFirstModule(String uri);
public Module getModule(String uri, String altDD);
} // Application