372 lines
9.2 KiB
Java
372 lines
9.2 KiB
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;
|
|
}
|
|
}
|