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
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
78 }
79
80
81
82 protected GerEjbRefType getEjbRef() {
83 return (GerEjbRefType) getXmlObject();
84 }
85
86 public void configure(GerEjbRefType xml) {
87 setXmlObject(xml);
88 }
89 }