View Javadoc

1   package org.apache.geronimo.naming.deployment.jsr88;
2   
3   import org.apache.geronimo.xbeans.geronimo.naming.GerGbeanLocatorType;
4   
5   /**
6    * Represents an element of the gbean-locatorType in a Geronimo
7    * deployment plan.
8    *                                     <p>
9    * Has 2 JavaBean Properties           <br />
10   *  - GBeanLink (type String)          <br />
11   *  - pattern (type Pattern)           </p>
12   *
13   * @version $Rev: 410741 $ $Date: 2006-05-31 21:35:48 -0700 (Wed, 31 May 2006) $
14   */
15  public class GBeanLocator extends HasPattern {
16      public GBeanLocator() {
17          super(null);
18      }
19  
20      public GBeanLocator(GerGbeanLocatorType xmlObject) {
21          super(xmlObject);
22      }
23  
24      protected GerGbeanLocatorType getGBeanLocator() {
25          return (GerGbeanLocatorType) getXmlObject();
26      }
27  
28      public void configure(GerGbeanLocatorType xml) {
29          setXmlObject(xml);
30      }
31  
32      public String getGBeanLink() {
33          return getGBeanLocator().getGbeanLink();
34      }
35  
36      public void setGBeanLink(String link) {
37          GerGbeanLocatorType locator = getGBeanLocator();
38          if(link != null && locator.isSetPattern()) {
39              clearPatternFromChoice();
40          }
41          String old = getGBeanLink();
42          locator.setGbeanLink(link);
43          pcs.firePropertyChange("GBeanLink", old, link);
44      }
45  
46  
47      protected void clearNonPatternFromChoice() {
48          GerGbeanLocatorType locator = getGBeanLocator();
49          if(locator.isSetGbeanLink()) {
50              String temp = locator.getGbeanLink();
51              locator.unsetGbeanLink();
52              pcs.firePropertyChange("GBeanLink", temp, null);
53          }
54      }
55  }