001: /*
002: * The contents of this file are subject to the terms of the Common Development
003: * and Distribution License (the License). You may not use this file except in
004: * compliance with the License.
005: *
006: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007: * or http://www.netbeans.org/cddl.txt.
008: *
009: * When distributing Covered Code, include this CDDL Header Notice in each file
010: * and include the License file at http://www.netbeans.org/cddl.txt.
011: * If applicable, add the following below the CDDL Header, with the fields
012: * enclosed by brackets [] replaced by your own identifying information:
013: * "Portions Copyrighted [year] [name of copyright owner]"
014: *
015: * The Original Software is NetBeans. The Initial Developer of the Original
016: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017: * Microsystems, Inc. All Rights Reserved.
018: */
019:
020: package org.netbeans.modules.bpel.model.api;
021:
022: import org.netbeans.modules.bpel.model.api.events.VetoException;
023:
024: import org.netbeans.modules.bpel.model.api.support.TBoolean;
025:
026: /**
027: * <p>
028: * Java class for tProcess complex type.
029: * <p>
030: * The following schema fragment specifies the expected content contained within
031: * this class.
032: *
033: * <pre>
034: * <xsd:complexType name="tProcess">
035: * <xsd:complexContent>
036: * <xsd:extension base="tExtensibleElements">
037: * <xsd:sequence>
038: * <xsd:element ref="extensions" minOccurs="0"/>
039: * <xsd:element ref="import" minOccurs="0" maxOccurs="unbounded"/>
040: * <xsd:element ref="partnerLinks" minOccurs="0"/>
041: * <xsd:element ref="messageExchanges" minOccurs="0"/>
042: * <xsd:element ref="variables" minOccurs="0"/>
043: * <xsd:element ref="correlationSets" minOccurs="0"/>
044: * <xsd:element ref="faultHandlers" minOccurs="0"/>
045: * <xsd:element ref="eventHandlers" minOccurs="0"/>
046: * <xsd:group ref="activity" minOccurs="1"/>
047: * </xsd:sequence>
048: * <xsd:attribute name="name" type="xsd:NCName" use="required"/>
049: * <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required"/>
050: * <xsd:attribute name="queryLanguage" type="xsd:anyURI" default="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"/>
051: * <xsd:attribute name="expressionLanguage" type="xsd:anyURI" default="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"/>
052: * <xsd:attribute name="suppressJoinFailure" type="tBoolean" default="no"/>
053: * <xsd:attribute name="exitOnStandardFault" type="tBoolean" default="no"/>
054: * </xsd:extension>
055: * </xsd:complexContent>
056: * </xsd:complexType>
057: * </pre>
058: */
059: public interface Process extends JoinFailureSuppressor, NamedElement,
060: BaseScope, ExpressionLanguageSpec, QueryLanguageSpec {
061:
062: /**
063: * targetNamespace attribute name.
064: */
065: String TARGET_NAMESPACE = "targetNamespace"; // NOI18N
066:
067: /**
068: * atomic attribute's name.
069: */
070: String ATOMIC = "atomic"; // NOI18N
071:
072: /**
073: * Gets the value of the targetNamespace property.
074: *
075: * @return possible object is {@link String }
076: */
077: String getTargetNamespace();
078:
079: /**
080: * Sets the value of the targetNamespace property.
081: *
082: * @param value
083: * allowed object is {@link String }
084: * @throws VetoException {@link VetoException}
085: * will be thrown if <code>value</code> if not acceptable as
086: * targetNamespace attribute here.
087: */
088: void setTargetNamespace(String value) throws VetoException;
089:
090: /**
091: * Removes expressionLanguage attribute.
092: */
093: void removeExpressionLanguage();
094:
095: /**
096: * Gets the "extensions" entity child .
097: *
098: * @return possible object is {@link Extensions }
099: */
100: ExtensionContainer getExtensionContainer();
101:
102: /**
103: * Sets the "extensions" entity child .
104: *
105: * @param value
106: * allowed object is {@link Extensions }
107: */
108: void setExtensionContainer(ExtensionContainer value);
109:
110: /**
111: * Removes "extensions" entity as children if it exists.
112: */
113: void removeExtensionContainer();
114:
115: /**
116: * @return Array of "import" children in this process.
117: */
118: Import[] getImports();
119:
120: /**
121: * Adds new import <code>imp</code> to this parent.
122: *
123: * @param imp
124: * New child for addition.
125: */
126: void addImport(Import imp);
127:
128: /**
129: * Replace <code>i</code>-th place impport with new import
130: * <code>imp</code>.
131: *
132: * @param imp
133: * New child for setting.
134: * @param i
135: * Index in children list.
136: */
137: void setImport(Import imp, int i);
138:
139: /**
140: * Inserts new import <code>imp</code> at the <code>i</code>-th place.
141: *
142: * @param imp
143: * New child for addition.
144: * @param i
145: * Index in children list.
146: */
147: void insertImport(Import imp, int i);
148:
149: /**
150: * Removes <code>i</code>-th import from children list.
151: *
152: * @param i Index in children list.
153: */
154: void removeImport(int i);
155:
156: /**
157: * Set new list of children of imports.
158: *
159: * @param imports
160: * New array of children.
161: */
162: void setImports(Import[] imports);
163:
164: /**
165: * @param i Index in children list.
166: * @return <code>i</code>-th child in imports array.
167: */
168: Import getImport(int i);
169:
170: /**
171: * @return size of "imports" children.
172: */
173: int sizeOfImports();
174:
175: /**
176: * Indicates if the process is atomic.
177: * It isn't an extension (not standard) attribute of the process.
178: *
179: * atomic=true - acknowledges Message(MEx) to its partner immediately
180: * after executing Receive activity.
181: *
182: * atomic=false - acknowledges Message(MEx) to its partner
183: * when the instance completes.
184: *
185: * @return the value of the atomic flag
186: */
187: TBoolean isAtomic();
188:
189: /**
190: * Set atomic attribute. See the description of the isAtomic() method.
191: * @param value
192: */
193: void setAtomic(TBoolean value);
194: }
|