001 /** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 package org.apache.geronimo.connector.deployment.jsr88; 018 019 import org.apache.geronimo.deployment.plugin.XmlBeanSupport; 020 import org.apache.geronimo.xbeans.geronimo.GerSinglepoolType; 021 import org.apache.xmlbeans.SchemaTypeLoader; 022 023 /** 024 * Settings for connectionmanager/single-pool 025 * 026 * @version $Rev: 476049 $ $Date: 2006-11-16 23:35:17 -0500 (Thu, 16 Nov 2006) $ 027 */ 028 public class SinglePool extends XmlBeanSupport { 029 public SinglePool() { 030 super(null); 031 } 032 public SinglePool(GerSinglepoolType pool) { 033 super(null); 034 configure(pool); 035 } 036 037 protected GerSinglepoolType getSinglePool() { 038 return (GerSinglepoolType) getXmlObject(); 039 } 040 041 protected void configure(GerSinglepoolType pool) { 042 setXmlObject(pool); 043 if(!isSelectOneAssumeMatch() && !isMatchOne() && !isMatchAll()) { 044 setMatchOne(true); 045 } 046 } 047 048 // ----------------------- JavaBean Properties for single-pool ---------------------- 049 050 public Integer getMinSize() { 051 return getSinglePool().isSetMinSize() ? new Integer(getSinglePool().getMinSize()) : null; 052 } 053 054 public void setMinSize(Integer value) { 055 Integer old = getMinSize(); 056 if(value == null) { 057 if(getSinglePool().isSetMinSize()) { 058 getSinglePool().unsetMinSize(); 059 } 060 } else { 061 getSinglePool().setMinSize(value.intValue()); 062 } 063 pcs.firePropertyChange("minSize", old, value); 064 } 065 066 public Integer getMaxSize() { 067 return getSinglePool().isSetMaxSize() ? new Integer(getSinglePool().getMaxSize()) : null; 068 } 069 070 public void setMaxSize(Integer value) { 071 Integer old = getMaxSize(); 072 if(value == null) { 073 if(getSinglePool().isSetMaxSize()) { 074 getSinglePool().unsetMaxSize(); 075 } 076 } else { 077 getSinglePool().setMaxSize(value.intValue()); 078 } 079 pcs.firePropertyChange("maxSize", old, value); 080 } 081 082 public Integer getBlockingTimeoutMillis() { 083 return getSinglePool().isSetBlockingTimeoutMilliseconds() ? new Integer(getSinglePool().getBlockingTimeoutMilliseconds()) : null; 084 } 085 086 public void setBlockingTimeoutMillis(Integer value) { 087 Integer old = getBlockingTimeoutMillis(); 088 if(value == null) { 089 if(getSinglePool().isSetBlockingTimeoutMilliseconds()) { 090 getSinglePool().unsetBlockingTimeoutMilliseconds(); 091 } 092 } else { 093 getSinglePool().setBlockingTimeoutMilliseconds(value.intValue()); 094 } 095 pcs.firePropertyChange("blockingTimeoutMillis", old, value); 096 } 097 098 public Integer getIdleTimeoutMinutes() { 099 return getSinglePool().isSetIdleTimeoutMinutes() ? new Integer(getSinglePool().getIdleTimeoutMinutes()) : null; 100 } 101 102 public void setIdleTimeoutMinutes(Integer value) { 103 Integer old = getIdleTimeoutMinutes(); 104 if(value == null) { 105 if(getSinglePool().isSetIdleTimeoutMinutes()) { 106 getSinglePool().unsetIdleTimeoutMinutes(); 107 } 108 } else { 109 getSinglePool().setIdleTimeoutMinutes(value.intValue()); 110 } 111 pcs.firePropertyChange("idleTimeoutMinutes", old, value); 112 } 113 114 public boolean isMatchAll() { 115 return getSinglePool().isSetMatchAll(); 116 } 117 118 public void setMatchAll(boolean set) { 119 if(set) { 120 if(!isMatchAll()) { 121 getSinglePool().addNewMatchAll(); 122 pcs.firePropertyChange("matchAll", !set, set); 123 } 124 if(isMatchOne()) setMatchOne(false); 125 if(isSelectOneAssumeMatch()) setSelectOneAssumeMatch(false); 126 } else { 127 if(isMatchAll()) { 128 getSinglePool().unsetMatchAll(); 129 pcs.firePropertyChange("matchAll", !set, set); 130 } 131 } 132 } 133 134 public boolean isMatchOne() { 135 return getSinglePool().isSetMatchOne(); 136 } 137 138 public void setMatchOne(boolean set) { 139 if(set) { 140 if(!isMatchOne()) { 141 getSinglePool().addNewMatchOne(); 142 pcs.firePropertyChange("matchOne", !set, set); 143 } 144 if(isMatchAll()) setMatchAll(false); 145 if(isSelectOneAssumeMatch()) setSelectOneAssumeMatch(false); 146 } else { 147 if(isMatchOne()) { 148 getSinglePool().unsetMatchOne(); 149 pcs.firePropertyChange("matchOne", !set, set); 150 } 151 } 152 } 153 154 public boolean isSelectOneAssumeMatch() { 155 return getSinglePool().isSetSelectOneAssumeMatch(); 156 } 157 158 public void setSelectOneAssumeMatch(boolean set) { 159 if(set) { 160 if(!isSelectOneAssumeMatch()) { 161 getSinglePool().addNewSelectOneAssumeMatch(); 162 pcs.firePropertyChange("selectOneAssumeMatch", !set, set); 163 } 164 if(isMatchAll()) setMatchAll(false); 165 if(isMatchOne()) setMatchOne(false); 166 } else { 167 if(isSelectOneAssumeMatch()) { 168 getSinglePool().unsetSelectOneAssumeMatch(); 169 pcs.firePropertyChange("selectOneAssumeMatch", !set, set); 170 } 171 } 172 } 173 174 // ----------------------- End of JavaBean Properties ---------------------- 175 176 protected SchemaTypeLoader getSchemaTypeLoader() { 177 return Connector15DCBRoot.SCHEMA_TYPE_LOADER; 178 } 179 }