| /* |
| * 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 |
| * @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 |
| * @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; |
| } |
| } |