01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: /**
21: *
22: */package org.netbeans.modules.bpel.model.api;
23:
24: import org.netbeans.modules.bpel.model.api.references.BpelReference;
25: import org.netbeans.modules.bpel.model.api.references.ReferenceCollection;
26:
27: /**
28: * @author ads
29: * <p>
30: * Java class for tFromPart complex type.
31: * <p>
32: * The following schema fragment specifies the expected content
33: * contained within this class.
34: *
35: * <pre>
36: * <complexType name="tFromPart">
37: * <complexContent>
38: * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
39: * <attribute name="part" use="required" type="{http://www.w3.org/2001/XMLSchema}NCName" />
40: * <attribute name="toVariable" use="required" type="{http://www.w3.org/2001/XMLSchema}NCName" />
41: * </restriction>
42: * </complexContent>
43: * </complexType>
44: * </pre>
45: *
46: * This interface extends <code>VariableDeclaration</code> interface
47: * only if it child of OnEvent. In this case there is static analysis
48: * rule :
49: * For <onEvent>, variables referenced by the variable attribute
50: * of <fromPart> elements or the variable attribute of an <onEvent>
51: * element are implicitly declared in the associated scope of the event
52: * handler. Variables of the same names MUST NOT be explicitly declared
53: * in the associated scope. The variable references are resolved to the
54: * associated scope only and MUST NOT be resolved to the ancestor
55: * scopes.
56: * We need "real" element to be referenced, so in this case we consider
57: * <code>FromPart</code> as <code>VariableDeclaration</code>
58: * and reference resolving will be realized to FromPart.
59: * But this is not actually correct ( variables should be considered
60: * as variables declared in Scope ).
61: */
62: public interface FromPart extends BpelEntity, PartReference,
63: ReferenceCollection, VariableDeclaration
64:
65: {
66:
67: String TO_VARIABLE = "toVariable"; // NOI18N
68:
69: /**
70: * @return Reference to variable ( "toVariable" attribute value ).
71: */
72: BpelReference<VariableDeclaration> getToVariable();
73:
74: /**
75: * Set new reference to variable ( "toVariable" attribute value ).
76: *
77: * @param variable
78: * New reference to variable.
79: */
80: void setToVariable(BpelReference<VariableDeclaration> variable);
81: }
|