blob: f52f6801a0fc1fa08ce047fc9de858288f546690 [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.ejb;
import org.eclipse.jst.javaee.core.Description;
import org.eclipse.jst.javaee.core.JavaEEObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Query</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
*
*
* The queryType defines a finder or select
* query. It contains
* - an optional description of the query
* - the specification of the finder or select
* method it is used by
* - an optional specification of the result type
* mapping, if the query is for a select method
* and entity objects are returned.
* - the EJB QL query string that defines the query.
*
* Queries that are expressible in EJB QL must use the ejb-ql
* element to specify the query. If a query is not expressible
* in EJB QL, the description element should be used to
* describe the semantics of the query and the ejb-ql element
* should be empty.
*
* The result-type-mapping is an optional element. It can only
* be present if the query-method specifies a select method
* that returns entity objects. The default value for the
* result-type-mapping element is "Local".
*
* @since Java EE 5, EJB 3.0
*
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.jst.javaee.ejb.Query#getDescription <em>Description</em>}</li>
* <li>{@link org.eclipse.jst.javaee.ejb.Query#getQueryMethod <em>Query Method</em>}</li>
* <li>{@link org.eclipse.jst.javaee.ejb.Query#getResultTypeMapping <em>Result Type Mapping</em>}</li>
* <li>{@link org.eclipse.jst.javaee.ejb.Query#getEjbQl <em>Ejb Ql</em>}</li>
* <li>{@link org.eclipse.jst.javaee.ejb.Query#getId <em>Id</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage#getQuery()
* @extends JavaEEObject
* @generated
*/
public interface Query extends JavaEEObject {
/**
* Returns the value of the '<em><b>Description</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Description</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Description</em>' containment reference.
* @see #setDescription(Description)
* @see org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage#getQuery_Description()
* @generated
*/
Description getDescription();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getDescription <em>Description</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Description</em>' containment reference.
* @see #getDescription()
* @generated
*/
void setDescription(Description value);
/**
* Returns the value of the '<em><b>Query Method</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Query Method</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Query Method</em>' containment reference.
* @see #setQueryMethod(QueryMethod)
* @see org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage#getQuery_QueryMethod()
* @generated
*/
QueryMethod getQueryMethod();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getQueryMethod <em>Query Method</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Query Method</em>' containment reference.
* @see #getQueryMethod()
* @generated
*/
void setQueryMethod(QueryMethod value);
/**
* Returns the value of the '<em><b>Result Type Mapping</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.jst.javaee.ejb.ResultTypeMappingType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Result Type Mapping</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Result Type Mapping</em>' attribute.
* @see org.eclipse.jst.javaee.ejb.ResultTypeMappingType
* @see #isSetResultTypeMapping()
* @see #unsetResultTypeMapping()
* @see #setResultTypeMapping(ResultTypeMappingType)
* @see org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage#getQuery_ResultTypeMapping()
* @generated
*/
ResultTypeMappingType getResultTypeMapping();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getResultTypeMapping <em>Result Type Mapping</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Result Type Mapping</em>' attribute.
* @see org.eclipse.jst.javaee.ejb.ResultTypeMappingType
* @see #isSetResultTypeMapping()
* @see #unsetResultTypeMapping()
* @see #getResultTypeMapping()
* @generated
*/
void setResultTypeMapping(ResultTypeMappingType value);
/**
* Unsets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getResultTypeMapping <em>Result Type Mapping</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetResultTypeMapping()
* @see #getResultTypeMapping()
* @see #setResultTypeMapping(ResultTypeMappingType)
* @generated
*/
void unsetResultTypeMapping();
/**
* Returns whether the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getResultTypeMapping <em>Result Type Mapping</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Result Type Mapping</em>' attribute is set.
* @see #unsetResultTypeMapping()
* @see #getResultTypeMapping()
* @see #setResultTypeMapping(ResultTypeMappingType)
* @generated
*/
boolean isSetResultTypeMapping();
/**
* Returns the value of the '<em><b>Ejb Ql</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Ejb Ql</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Ejb Ql</em>' attribute.
* @see #setEjbQl(String)
* @see org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage#getQuery_EjbQl()
* @generated
*/
String getEjbQl();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#getEjbQl <em>Ejb Ql</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Ejb Ql</em>' attribute.
* @see #getEjbQl()
* @generated
*/
void setEjbQl(String value);
/**
* 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.ejb.internal.metadata.EjbPackage#getQuery_Id()
* @generated
*/
String getId();
/**
* Sets the value of the '{@link org.eclipse.jst.javaee.ejb.Query#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);
} // Query