001: /*
002: * Copyright 2005-2006 Joe Walker
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package org.directwebremoting.spring;
018:
019: import java.util.ArrayList;
020: import java.util.HashMap;
021: import java.util.List;
022: import java.util.Map;
023:
024: /**
025: * The abstract config to use to configure parts of DWR in Spring. <br>
026: *
027: * @see org.directwebremoting.extend.AccessControl#addIncludeRule(String, String)
028: * @see org.directwebremoting.extend.AccessControl#addExcludeRule(String, String)
029: *
030: * @author Bram Smeets
031: * @author Joe Walker [joe at getahead dot ltd dot uk]
032: * @author Brendan Grainger
033: */
034: public class AbstractConfig {
035: /**
036: * Gets the list of method names to include for this creator.
037: * @return the list of method names to include
038: * @see org.directwebremoting.extend.AccessControl#addIncludeRule(String, String)
039: */
040: public List<String> getIncludes() {
041: return includes;
042: }
043:
044: /**
045: * Sets the list of method names to include for this creator.
046: * @param includes the list of method names to include
047: * @see org.directwebremoting.extend.AccessControl#addIncludeRule(String, String)
048: */
049: public void setIncludes(List<String> includes) {
050: this .includes = includes;
051: }
052:
053: /**
054: * Gets the list of method names to exclude for this creator.
055: * @return the list of method names to exclude
056: * @see org.directwebremoting.extend.AccessControl#addExcludeRule(String, String)
057: */
058: public List<String> getExcludes() {
059: return excludes;
060: }
061:
062: /**
063: * Sets the list of method names to exclude for this creator.
064: * @param excludes the list of method names to exclude
065: * @see org.directwebremoting.extend.AccessControl#addExcludeRule(String, String)
066: */
067: public void setExcludes(List<String> excludes) {
068: this .excludes = excludes;
069: }
070:
071: /**
072: * Convenience method for adding an include rule.
073: * @param method the method to add the include rule for
074: * @throws IllegalArgumentException in case the specified argument is null
075: */
076: public void addInclude(String method) {
077: includes.add(method);
078: }
079:
080: /**
081: * Convenience method for adding an exclude rule.
082: * @param method the method to add the exclude rule
083: * @throws IllegalArgumentException in case the specified argument is null
084: */
085: public void addExclude(String method) {
086: excludes.add(method);
087: }
088:
089: /**
090: * The set of key/value pairs to provide further configuration.<br>
091: * Note that these params are only used when setting the creator type and not when setting the
092: * creator directly.
093: * @return Returns the params.
094: */
095: public Map<String, String> getParams() {
096: return params;
097: }
098:
099: /**
100: * The set of key/value pairs to provide further configuration.<br>
101: * Note that these params are only used when setting the creator type and not when setting the
102: * creator directly.
103: * @param params The params to set.
104: */
105: public void setParams(Map<String, String> params) {
106: this .params = params;
107: }
108:
109: /**
110: * The list of method names to include for this creator.
111: */
112: private List<String> includes = new ArrayList<String>();
113:
114: /**
115: * The list of method names to exclude for this creator.
116: */
117: private List<String> excludes = new ArrayList<String>();
118:
119: /**
120: * The set of key/value pairs to provide further configuration
121: */
122: private Map<String, String> params = new HashMap<String, String>();
123: }
|