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.impl;
23:
24: import org.netbeans.modules.bpel.model.api.BooleanExpr;
25: import org.netbeans.modules.bpel.model.api.BpelEntity;
26: import org.netbeans.modules.bpel.model.api.ConditionHolder;
27: import org.netbeans.modules.bpel.model.xam.BpelElements;
28: import org.netbeans.modules.bpel.model.xam.BpelTypesEnum;
29: import org.w3c.dom.Element;
30:
31: /**
32: * @author ads
33: *
34: */
35: public abstract class ConditionalActivity extends ActivityImpl
36: implements ConditionHolder {
37:
38: ConditionalActivity(BpelModelImpl model, Element e) {
39: super (model, e);
40: }
41:
42: ConditionalActivity(BpelBuilderImpl builder, String tagName) {
43: super (builder, tagName);
44: }
45:
46: /* (non-Javadoc)
47: * @see org.netbeans.modules.soa.model.bpel20.api.ConditionHolder#getCondition()
48: */
49: public BooleanExpr getCondition() {
50: return getChild(BooleanExpr.class);
51: }
52:
53: /* (non-Javadoc)
54: * @see org.netbeans.modules.soa.model.bpel20.api.ConditionHolder#setCondition(org.netbeans.modules.soa.model.bpel20.api.BooleanExpr)
55: */
56: public void setCondition(BooleanExpr value) {
57: setChild(value, BooleanExpr.class, BpelTypesEnum.ELSE_IF,
58: BpelTypesEnum.ELSE, BpelTypesEnum.ACTIVITIES_GROUP);
59: }
60:
61: /* (non-Javadoc)
62: * @see org.netbeans.modules.soa.model.bpel20.api.ConditionHolder#removeCondition()
63: */
64: public void removeCondition() {
65: removeChild(BooleanExpr.class);
66: }
67:
68: /* (non-Javadoc)
69: * @see org.netbeans.modules.soa.model.bpel20.impl.ActivityImpl#create(org.w3c.dom.Element)
70: */
71: @Override
72: protected BpelEntity create(Element element) {
73: if (BpelElements.CONDITION.getName().equals(
74: element.getLocalName())) {
75: return new BooleanExprImpl(getModel(), element);
76: }
77: return super .create(element);
78: }
79:
80: /* (non-Javadoc)
81: * @see org.netbeans.modules.bpel.model.impl.ActivityImpl#getMultiplicity(org.netbeans.modules.bpel.model.api.BpelEntity)
82: */
83: @Override
84: protected Multiplicity getMultiplicity(BpelEntity entity) {
85: if (getChildType(entity).equals(BooleanExpr.class)) {
86: return Multiplicity.SINGLE;
87: }
88: return super.getMultiplicity(entity);
89: }
90:
91: }
|