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.GerEjbLocalRefType;
21  
22  /**
23   * Represents an element of the ejb-local-refType in a Geronimo deployment
24   * plan.
25   *                                          <p>
26   * Has 3 JavaBean Properties                <br />
27   *  - refName (type String)                 <br />
28   *  - pattern (type Pattern)                <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 EjbLocalRef extends HasPattern {
34      public EjbLocalRef() {
35          super(null);
36      }
37  
38      public EjbLocalRef(GerEjbLocalRefType xmlObject) {
39          super(xmlObject);
40      }
41  
42      public void setRefName(String name) {
43          String old = getEjbLocalRef().getRefName();
44          getEjbLocalRef().setRefName(name);
45          pcs.firePropertyChange("refName", old, name);
46      }
47  
48      public String getRefName() {
49          return getEjbLocalRef().getRefName();
50      }
51  
52      public String getEjbLink() {
53          return getEjbLocalRef().getEjbLink();
54      }
55  
56      public void setEjbLink(String link) {
57          GerEjbLocalRefType ref = getEjbLocalRef();
58          if(link != null && ref.isSetPattern()) {
59              clearPatternFromChoice();
60          }
61          String old = getEjbLink();
62          ref.setEjbLink(link);
63          pcs.firePropertyChange("ejbLink", old, link);
64      }
65  
66  
67      protected void clearNonPatternFromChoice() {
68          GerEjbLocalRefType ref = getEjbLocalRef();
69          if(ref.isSetEjbLink()) {
70              String temp = ref.getEjbLink();
71              ref.unsetEjbLink();
72              pcs.firePropertyChange("ejbLink", temp, null);
73          }
74          // todo: clear CORBA property
75      }
76  
77      // todo: getter and setter for CORBA property
78  
79      protected GerEjbLocalRefType getEjbLocalRef() {
80          return (GerEjbLocalRefType) getXmlObject();
81      }
82  
83      public void configure(GerEjbLocalRefType xml) {
84          setXmlObject(xml);
85      }
86  }