blob: 04aa2215d0ff4a428938a5ae97cc4bbcf71c0b3d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.geode.cache.configuration;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import org.apache.geode.annotations.Experimental;
/**
*
* A jndi-bindings element will contain the jndi-binding for each of the
* datasources which are to be bound with the JNDI Context.
*
*
* <p>
* Java class for jndi-bindings-type complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="jndi-bindings-type">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="jndi-binding" maxOccurs="unbounded" minOccurs="0">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="config-property" maxOccurs="unbounded" minOccurs="0">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="config-property-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-type" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-value" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;attribute name="blocking-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="conn-pooled-datasource-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="connection-url" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="idle-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="init-pool-size" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="jdbc-driver-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="jndi-name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="login-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="managed-conn-factory-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="max-pool-size" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="password" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="transaction-type" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ManagedDataSource"/>
* &lt;enumeration value="SimpleDataSource"/>
* &lt;enumeration value="PooledDataSource"/>
* &lt;enumeration value="XAPooledDataSource"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="user-name" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="xa-datasource-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "jndi-bindings-type", namespace = "http://geode.apache.org/schema/cache",
propOrder = {"jndiBindings"})
@Experimental
public class JndiBindingsType {
@XmlElement(name = "jndi-binding", namespace = "http://geode.apache.org/schema/cache")
protected List<JndiBinding> jndiBindings;
/**
* Gets the value of the jndiBindings property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the jndiBindings property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getJndiBindings().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JndiBindingsType.JndiBinding }
*
*
*/
public List<JndiBinding> getJndiBindings() {
if (jndiBindings == null) {
jndiBindings = new ArrayList<JndiBinding>();
}
return this.jndiBindings;
}
/**
* <p>
* Java class for anonymous complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="config-property" maxOccurs="unbounded" minOccurs="0">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="config-property-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-type" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-value" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;attribute name="blocking-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="conn-pooled-datasource-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="connection-url" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="idle-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="init-pool-size" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="jdbc-driver-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="jndi-name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="login-timeout-seconds" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="managed-conn-factory-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="max-pool-size" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="password" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="transaction-type" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ManagedDataSource"/>
* &lt;enumeration value="SimpleDataSource"/>
* &lt;enumeration value="PooledDataSource"/>
* &lt;enumeration value="XAPooledDataSource"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="user-name" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="xa-datasource-class" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"configProperties"})
@Experimental
public static class JndiBinding extends CacheElement {
@XmlElement(name = "config-property", namespace = "http://geode.apache.org/schema/cache")
protected List<ConfigProperty> configProperties;
@XmlAttribute(name = "blocking-timeout-seconds")
protected String blockingTimeoutSeconds;
@XmlAttribute(name = "conn-pooled-datasource-class")
protected String connPooledDatasourceClass;
@XmlAttribute(name = "connection-url")
protected String connectionUrl;
@XmlAttribute(name = "idle-timeout-seconds")
protected String idleTimeoutSeconds;
@XmlAttribute(name = "init-pool-size")
protected String initPoolSize;
@XmlAttribute(name = "jdbc-driver-class")
protected String jdbcDriverClass;
@XmlAttribute(name = "jndi-name", required = true)
protected String jndiName;
@XmlAttribute(name = "login-timeout-seconds")
protected String loginTimeoutSeconds;
@XmlAttribute(name = "managed-conn-factory-class")
protected String managedConnFactoryClass;
@XmlAttribute(name = "max-pool-size")
protected String maxPoolSize;
@XmlAttribute(name = "password")
protected String password;
@XmlAttribute(name = "transaction-type")
protected String transactionType;
@XmlAttribute(name = "type", required = true)
protected String type;
@XmlAttribute(name = "user-name")
protected String userName;
@XmlAttribute(name = "xa-datasource-class")
protected String xaDatasourceClass;
/**
* Gets the value of the configProperties property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the configProperties property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getConfigProperties().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JndiBindingsType.JndiBinding.ConfigProperty }
*
*
*/
public List<ConfigProperty> getConfigProperties() {
if (configProperties == null) {
configProperties = new ArrayList<ConfigProperty>();
}
return this.configProperties;
}
/**
* Gets the value of the blockingTimeoutSeconds property.
*
* possible object is
* {@link String }
*
*/
public String getBlockingTimeoutSeconds() {
return blockingTimeoutSeconds;
}
/**
* Sets the value of the blockingTimeoutSeconds property.
*
* allowed object is
* {@link String }
*
*/
public void setBlockingTimeoutSeconds(String value) {
this.blockingTimeoutSeconds = value;
}
/**
* Gets the value of the connPooledDatasourceClass property.
*
* possible object is
* {@link String }
*
*/
public String getConnPooledDatasourceClass() {
return connPooledDatasourceClass;
}
/**
* Sets the value of the connPooledDatasourceClass property.
*
* allowed object is
* {@link String }
*
*/
public void setConnPooledDatasourceClass(String value) {
this.connPooledDatasourceClass = value;
}
/**
* Gets the value of the connectionUrl property.
*
* possible object is
* {@link String }
*
*/
public String getConnectionUrl() {
return connectionUrl;
}
/**
* Sets the value of the connectionUrl property.
*
* allowed object is
* {@link String }
*
*/
public void setConnectionUrl(String value) {
this.connectionUrl = value;
}
/**
* Gets the value of the idleTimeoutSeconds property.
*
* possible object is
* {@link String }
*
*/
public String getIdleTimeoutSeconds() {
return idleTimeoutSeconds;
}
/**
* Sets the value of the idleTimeoutSeconds property.
*
* allowed object is
* {@link String }
*
*/
public void setIdleTimeoutSeconds(String value) {
this.idleTimeoutSeconds = value;
}
/**
* Gets the value of the initPoolSize property.
*
* possible object is
* {@link String }
*
*/
public String getInitPoolSize() {
return initPoolSize;
}
/**
* Sets the value of the initPoolSize property.
*
* allowed object is
* {@link String }
*
*/
public void setInitPoolSize(String value) {
this.initPoolSize = value;
}
/**
* Gets the value of the jdbcDriverClass property.
*
* possible object is
* {@link String }
*
*/
public String getJdbcDriverClass() {
return jdbcDriverClass;
}
/**
* Sets the value of the jdbcDriverClass property.
*
* allowed object is
* {@link String }
*
*/
public void setJdbcDriverClass(String value) {
this.jdbcDriverClass = value;
}
/**
* Gets the value of the jndiName property.
*
* possible object is
* {@link String }
*
*/
public String getJndiName() {
return jndiName;
}
/**
* Sets the value of the jndiName property.
*
* allowed object is
* {@link String }
*
*/
public void setJndiName(String value) {
this.jndiName = value;
}
/**
* Gets the value of the loginTimeoutSeconds property.
*
* possible object is
* {@link String }
*
*/
public String getLoginTimeoutSeconds() {
return loginTimeoutSeconds;
}
/**
* Sets the value of the loginTimeoutSeconds property.
*
* allowed object is
* {@link String }
*
*/
public void setLoginTimeoutSeconds(String value) {
this.loginTimeoutSeconds = value;
}
/**
* Gets the value of the managedConnFactoryClass property.
*
* possible object is
* {@link String }
*
*/
public String getManagedConnFactoryClass() {
return managedConnFactoryClass;
}
/**
* Sets the value of the managedConnFactoryClass property.
*
* allowed object is
* {@link String }
*
*/
public void setManagedConnFactoryClass(String value) {
this.managedConnFactoryClass = value;
}
/**
* Gets the value of the maxPoolSize property.
*
* possible object is
* {@link String }
*
*/
public String getMaxPoolSize() {
return maxPoolSize;
}
/**
* Sets the value of the maxPoolSize property.
*
* allowed object is
* {@link String }
*
*/
public void setMaxPoolSize(String value) {
this.maxPoolSize = value;
}
/**
* Gets the value of the password property.
*
* possible object is
* {@link String }
*
*/
public String getPassword() {
return password;
}
/**
* Sets the value of the password property.
*
* allowed object is
* {@link String }
*
*/
public void setPassword(String value) {
this.password = value;
}
/**
* Gets the value of the transactionType property.
*
* possible object is
* {@link String }
*
*/
public String getTransactionType() {
return transactionType;
}
/**
* Sets the value of the transactionType property.
*
* allowed object is
* {@link String }
*
*/
public void setTransactionType(String value) {
this.transactionType = value;
}
/**
* Gets the value of the type property.
*
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
/**
* Gets the value of the userName property.
*
* possible object is
* {@link String }
*
*/
public String getUserName() {
return userName;
}
/**
* Sets the value of the userName property.
*
* allowed object is
* {@link String }
*
*/
public void setUserName(String value) {
this.userName = value;
}
/**
* Gets the value of the xaDatasourceClass property.
*
* possible object is
* {@link String }
*
*/
public String getXaDatasourceClass() {
return xaDatasourceClass;
}
/**
* Sets the value of the xaDatasourceClass property.
*
* allowed object is
* {@link String }
*
*/
public void setXaDatasourceClass(String value) {
this.xaDatasourceClass = value;
}
@Override
public String getId() {
return getJndiName();
}
/**
* <p>
* Java class for anonymous complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="config-property-name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-type" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="config-property-value" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "",
propOrder = {"configPropertyName", "configPropertyType", "configPropertyValue"})
public static class ConfigProperty extends CacheElement {
@XmlElement(name = "config-property-name", namespace = "http://geode.apache.org/schema/cache",
required = true)
protected String configPropertyName;
@XmlElement(name = "config-property-type", namespace = "http://geode.apache.org/schema/cache",
required = true)
protected String configPropertyType;
@XmlElement(name = "config-property-value",
namespace = "http://geode.apache.org/schema/cache", required = true)
protected String configPropertyValue;
public ConfigProperty() {};
public ConfigProperty(String name, String type, String value) {
this.configPropertyName = name;
this.configPropertyType = type;
this.configPropertyValue = value;
}
public ConfigProperty(String name, String value) {
this.configPropertyName = name;
this.configPropertyValue = value;
}
/**
* Get the id of the element. The id is the same as the name.
*
* @return the id of the element
*/
@Override
public String getId() {
return getName();
}
/**
* Gets the value of the configPropertyName property.
*
* possible object is
* {@link String }
*
*/
public String getName() {
return configPropertyName;
}
/**
* Sets the value of the configPropertyName property.
*
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.configPropertyName = value;
}
/**
* Gets the value of the configPropertyType property.
*
* possible object is
* {@link String }
*
*/
public String getType() {
return configPropertyType;
}
/**
* Sets the value of the configPropertyType property.
*
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.configPropertyType = value;
}
/**
* Gets the value of the configPropertyValue property.
*
* possible object is
* {@link String }
*
*/
public String getValue() {
return configPropertyValue;
}
/**
* Sets the value of the configPropertyValue property.
*
* allowed object is
* {@link String }
*
*/
public void setValue(String value) {
this.configPropertyValue = value;
}
}
}
}