001 /** 002 * 003 * Licensed to the Apache Software Foundation (ASF) under one or more 004 * contributor license agreements. See the NOTICE file distributed with 005 * this work for additional information regarding copyright ownership. 006 * The ASF licenses this file to You under the Apache License, Version 2.0 007 * (the "License"); you may not use this file except in compliance with 008 * the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 package org.apache.geronimo.naming.deployment.jsr88; 019 020 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType; 021 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceEnvRefType; 022 023 /** 024 * Represents an element of the resource-env-refType in a Geronimo deployment 025 * plan. 026 * <p> 027 * Has 4 JavaBean Properties <br /> 028 * - refName (type String) <br /> 029 * - pattern (type Pattern) <br /> 030 * - adminObjectModule (type String) <br /> 031 * - adminObjectLink (type String) </p> 032 * 033 * @version $Rev: 470597 $ $Date: 2006-11-02 15:30:55 -0800 (Thu, 02 Nov 2006) $ 034 */ 035 public class ResourceEnvRef extends HasPattern { 036 public ResourceEnvRef() { 037 super(null); 038 } 039 040 public ResourceEnvRef(GerResourceEnvRefType xmlObject) { 041 super(xmlObject); 042 } 043 044 public void setRefName(String name) { 045 String old = getResourceRef().getRefName(); 046 getResourceRef().setRefName(name); 047 pcs.firePropertyChange("refName", old, name); 048 } 049 050 public String getRefName() { 051 return getResourceRef().getRefName(); 052 } 053 054 public String getAdminObjectLink() { 055 return getResourceRef().getAdminObjectLink(); 056 } 057 058 public void setAdminObjectLink(String link) { 059 GerResourceEnvRefType ref = getResourceRef(); 060 if(link != null && ref.isSetPattern()) { 061 clearPatternFromChoice(); 062 } 063 String old = getAdminObjectLink(); 064 ref.setAdminObjectLink(link); 065 pcs.firePropertyChange("adminObjectLink", old, link); 066 } 067 068 public String getAdminObjectModule() { 069 return getResourceRef().getAdminObjectModule(); 070 } 071 072 public void setAdminObjectModule(String module) { 073 GerResourceEnvRefType ref = getResourceRef(); 074 if(module != null && ref.isSetPattern()) { 075 clearPatternFromChoice(); 076 } 077 String old = getAdminObjectModule(); 078 ref.setAdminObjectModule(module); 079 pcs.firePropertyChange("adminObjectModule", old, module); 080 } 081 082 083 protected void clearNonPatternFromChoice() { 084 GerResourceEnvRefType ref = getResourceRef(); 085 if(ref.isSetAdminObjectLink()) { 086 String temp = ref.getAdminObjectLink(); 087 ref.unsetAdminObjectLink(); 088 pcs.firePropertyChange("adminObjectLink", temp, null); 089 } 090 if(ref.isSetAdminObjectModule()) { 091 String temp = ref.getAdminObjectModule(); 092 ref.unsetAdminObjectModule(); 093 pcs.firePropertyChange("adminObjectModule", temp, null); 094 } 095 } 096 097 protected GerResourceEnvRefType getResourceRef() { 098 return (GerResourceEnvRefType) getXmlObject(); 099 } 100 101 public void configure(GerResourceEnvRefType xml) { 102 setXmlObject(xml); 103 } 104 }