StoreDescription.java
/*
* 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.catalina.storeconfig;
import java.util.ArrayList;
import java.util.List;
/**
* Bean of a StoreDescription
*
* <pre>
*
* <Description
* tag="Context"
* standard="true"
* default="true"
* externalAllowed="true"
* storeSeparate="true"
* backup="true"
* children="true"
* tagClass="org.apache.catalina.core.StandardContext"
* storeFactoryClass="org.apache.catalina.storeconfig.StandardContextSF"
* storeAppenderClass="org.apache.catalina.storeconfig.StoreContextAppender">
* <TransientAttribute>available</TransientAttribute>
* <TransientAttribute>configFile</TransientAttribute>
* <TransientAttribute>configured</TransientAttribute>
* <TransientAttribute>displayName</TransientAttribute>
* <TransientAttribute>distributable</TransientAttribute>
* <TransientAttribute>domain</TransientAttribute>
* <TransientAttribute>engineName</TransientAttribute>
* <TransientAttribute>name</TransientAttribute>
* <TransientAttribute>publicId</TransientAttribute>
* <TransientAttribute>replaceWelcomeFiles</TransientAttribute>
* <TransientAttribute>saveConfig</TransientAttribute>
* <TransientAttribute>sessionTimeout</TransientAttribute>
* <TransientAttribute>startupTime</TransientAttribute>
* <TransientAttribute>tldScanTime</TransientAttribute>
* </Description>
* </pre>
*/
public class StoreDescription {
private String id;
private String tag;
private String tagClass;
private boolean standard = false;
private boolean backup = false;
private boolean externalAllowed = false;
private boolean externalOnly = false;
private boolean myDefault = false;
private boolean attributes = true;
private String storeFactoryClass;
private IStoreFactory storeFactory;
private String storeWriterClass;
private boolean children = false;
private List<String> transientAttributes;
private List<String> transientChildren;
private boolean storeSeparate = false;
/**
* @return Returns the external.
*/
public boolean isExternalAllowed() {
return externalAllowed;
}
/**
* @param external The external to set.
*/
public void setExternalAllowed(boolean external) {
this.externalAllowed = external;
}
public boolean isExternalOnly() {
return externalOnly;
}
public void setExternalOnly(boolean external) {
this.externalOnly = external;
}
/**
* @return Returns the standard.
*/
public boolean isStandard() {
return standard;
}
/**
* @param standard The standard to set.
*/
public void setStandard(boolean standard) {
this.standard = standard;
}
/**
* @return Returns the backup.
*/
public boolean isBackup() {
return backup;
}
/**
* @param backup The backup to set.
*/
public void setBackup(boolean backup) {
this.backup = backup;
}
/**
* @return Returns the myDefault.
*/
public boolean isDefault() {
return myDefault;
}
/**
* @param aDefault The myDefault to set.
*/
public void setDefault(boolean aDefault) {
this.myDefault = aDefault;
}
/**
* @return Returns the storeFactory.
*/
public String getStoreFactoryClass() {
return storeFactoryClass;
}
/**
* @param storeFactoryClass The storeFactory to set.
*/
public void setStoreFactoryClass(String storeFactoryClass) {
this.storeFactoryClass = storeFactoryClass;
}
/**
* @return Returns the storeFactory.
*/
public IStoreFactory getStoreFactory() {
return storeFactory;
}
/**
* @param storeFactory The storeFactory to set.
*/
public void setStoreFactory(IStoreFactory storeFactory) {
this.storeFactory = storeFactory;
}
/**
* @return Returns the storeWriterClass.
*/
public String getStoreWriterClass() {
return storeWriterClass;
}
/**
* @param storeWriterClass The storeWriterClass to set.
*/
public void setStoreWriterClass(String storeWriterClass) {
this.storeWriterClass = storeWriterClass;
}
/**
* @return Returns the tagClass.
*/
public String getTag() {
return tag;
}
/**
* @param tag The tag to set.
*/
public void setTag(String tag) {
this.tag = tag;
}
/**
* @return Returns the tagClass.
*/
public String getTagClass() {
return tagClass;
}
/**
* @param tagClass The tagClass to set.
*/
public void setTagClass(String tagClass) {
this.tagClass = tagClass;
}
/**
* @return Returns the transientAttributes.
*/
public List<String> getTransientAttributes() {
return transientAttributes;
}
/**
* @param transientAttributes The transientAttributes to set.
*/
public void setTransientAttributes(List<String> transientAttributes) {
this.transientAttributes = transientAttributes;
}
public void addTransientAttribute(String attribute) {
if (transientAttributes == null) {
transientAttributes = new ArrayList<>();
}
transientAttributes.add(attribute);
}
public void removeTransientAttribute(String attribute) {
if (transientAttributes != null) {
transientAttributes.remove(attribute);
}
}
/**
* @return Returns the transientChildren.
*/
public List<String> getTransientChildren() {
return transientChildren;
}
/**
* @param transientChildren The transientChildren to set.
*/
public void setTransientChildren(List<String> transientChildren) {
this.transientChildren = transientChildren;
}
public void addTransientChild(String classname) {
if (transientChildren == null) {
transientChildren = new ArrayList<>();
}
transientChildren.add(classname);
}
public void removeTransientChild(String classname) {
if (transientChildren != null) {
transientChildren.remove(classname);
}
}
/**
* Is child transient, please don't save this.
*
* @param classname The class name to check
*
* @return is classname attribute?
*/
public boolean isTransientChild(String classname) {
if (transientChildren != null) {
return transientChildren.contains(classname);
}
return false;
}
/**
* Is attribute transient, please don't save this.
*
* @param attribute The attribute name to check
*
* @return is transient attribute?
*/
public boolean isTransientAttribute(String attribute) {
if (transientAttributes != null) {
return transientAttributes.contains(attribute);
}
return false;
}
/**
* Return the real id or TagClass
*
* @return Returns the id.
*/
public String getId() {
if (id != null) {
return id;
} else {
return getTagClass();
}
}
/**
* @param id The id to set.
*/
public void setId(String id) {
this.id = id;
}
/**
* @return Returns the attributes.
*/
public boolean isAttributes() {
return attributes;
}
/**
* @param attributes The attributes to set.
*/
public void setAttributes(boolean attributes) {
this.attributes = attributes;
}
/**
* @return True if it's a separate store
*/
public boolean isStoreSeparate() {
return storeSeparate;
}
public void setStoreSeparate(boolean storeSeparate) {
this.storeSeparate = storeSeparate;
}
/**
* @return Returns the children.
*/
public boolean isChildren() {
return children;
}
/**
* @param children The children to set.
*/
public void setChildren(boolean children) {
this.children = children;
}
}