View Javadoc

1   /**
2    *
3    *  Licensed to the Apache Software Foundation (ASF) under one or more
4    *  contributor license agreements.  See the NOTICE file distributed with
5    *  this work for additional information regarding copyright ownership.
6    *  The ASF licenses this file to You under the Apache License, Version 2.0
7    *  (the "License"); you may not use this file except in compliance with
8    *  the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *  Unless required by applicable law or agreed to in writing, software
13   *  distributed under the License is distributed on an "AS IS" BASIS,
14   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   *  See the License for the specific language governing permissions and
16   *  limitations under the License.
17   */
18  package org.apache.geronimo.naming.deployment.jsr88;
19  
20  import org.apache.geronimo.xbeans.geronimo.naming.GerEjbRefType;
21  
22  /**
23   * Represents an element of the ejb-refType in a Geronimo deployment plan.
24   *                                          <p>
25   * Has 4 JavaBean Properties                <br />
26   *  - refName (type String)                 <br />
27   *  - pattern (type Pattern)                <br />
28   *  - corbaNamingGroup (type ???)           <br />
29   *  - ejbLink (type String)                 </p>
30   *
31   * @version $Rev: 470597 $ $Date: 2006-11-02 15:30:55 -0800 (Thu, 02 Nov 2006) $
32   */
33  public class EjbRef extends HasPattern {
34      public EjbRef() {
35          super(null);
36      }
37  
38      public EjbRef(GerEjbRefType xmlObject) {
39          super(xmlObject);
40      }
41  
42      public void setRefName(String name) {
43          String old = getEjbRef().getRefName();
44          getEjbRef().setRefName(name);
45          pcs.firePropertyChange("refName", old, name);
46      }
47  
48      public String getRefName() {
49          return getEjbRef().getRefName();
50      }
51  
52      public String getEjbLink() {
53          return getEjbRef().getEjbLink();
54      }
55  
56      public void setEjbLink(String link) {
57          GerEjbRefType ref = getEjbRef();
58          if(link != null) {
59              if(ref.isSetPattern()) {
60                  clearPatternFromChoice();
61              }
62              // todo: clear CORBA property
63          }
64          String old = getEjbLink();
65          ref.setEjbLink(link);
66          pcs.firePropertyChange("ejbLink", old, link);
67      }
68  
69  
70      protected void clearNonPatternFromChoice() {
71          GerEjbRefType ref = getEjbRef();
72          if(ref.isSetEjbLink()) {
73              String temp = ref.getEjbLink();
74              ref.unsetEjbLink();
75              pcs.firePropertyChange("ejbLink", temp, null);
76          }
77          // todo: clear CORBA property
78      }
79  
80      // todo: getter and setter for CORBA property
81  
82      protected GerEjbRefType getEjbRef() {
83          return (GerEjbRefType) getXmlObject();
84      }
85  
86      public void configure(GerEjbRefType xml) {
87          setXmlObject(xml);
88      }
89  }