001: /*
002: * This file is part of PFIXCORE.
003: *
004: * PFIXCORE is free software; you can redistribute it and/or modify
005: * it under the terms of the GNU Lesser General Public License as published by
006: * the Free Software Foundation; either version 2 of the License, or
007: * (at your option) any later version.
008: *
009: * PFIXCORE is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012: * GNU Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public License
015: * along with PFIXCORE; if not, write to the Free Software
016: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
017: *
018: */
019:
020: package de.schlund.pfixxml.exceptionprocessor;
021:
022: /**
023: *
024: * @author <a href="mailto:benjamin@schlund.de">Benjamin Reitzammer</a>
025: * @version $Id: ExceptionConfig.java 1380 2004-08-06 15:02:52Z mlhartme $
026: */
027: public class ExceptionConfig {
028:
029: //~ Instance/static variables ..............................................
030:
031: private String type = null;
032: private String page = null;
033: private boolean forward = false;
034: private ExceptionProcessor processor = null;
035:
036: //~ Constructors ...........................................................
037:
038: /**
039: */
040: public ExceptionConfig() {
041: }
042:
043: //~ Methods ................................................................
044:
045: /**
046: * @return true if the state of this object is a valid exception configuration, that is:
047: * <ul>
048: * <li>{@link #processor processor} is not allowed to be <code>null</code></li>
049: * <li>{@link #type type} is not allowed to be null or an empty String</li>
050: * <li>{@link #page page} is not allowed to be null or an empty String if,
051: * {@link #forward forward} is true</li>
052: * </ul>
053: */
054: public boolean validate() {
055: boolean valid = true;
056:
057: if (processor == null || type == null)
058: valid = false;
059: if (type == null || "".equals(type))
060: valid = false;
061: if (forward && (page == null || "".equals(page)))
062: valid = false;
063:
064: return valid;
065: }
066:
067: /**
068: * Returns the value of type.
069: */
070: public String getType() {
071: return type;
072: }
073:
074: /**
075: * Sets the value of type.
076: * @param type The value to assign type.
077: */
078: public void setType(String type) {
079: this .type = type;
080: }
081:
082: /**
083: * Returns the value of processor.
084: */
085: public ExceptionProcessor getProcessor() {
086: return processor;
087: }
088:
089: /**
090: * Sets the value of processor.
091: * @param processor The value to assign processor.
092: */
093: public void setProcessor(ExceptionProcessor processor) {
094: this .processor = processor;
095: }
096:
097: /**
098: * Returns the value of page.
099: */
100: public String getPage() {
101: return page;
102: }
103:
104: /**
105: * Sets the value of page.
106: * @param page The value to assign page.
107: */
108: public void setPage(String page) {
109: this .page = page;
110: }
111:
112: /**
113: * Returns the value of forward.
114: */
115: public boolean getForward() {
116: return forward;
117: }
118:
119: /**
120: * Sets the value of forward.
121: * @param forward The value to assign forward.
122: */
123: public void setForward(boolean forward) {
124: this .forward = forward;
125: }
126:
127: public String toString() {
128: StringBuffer sb = new StringBuffer(this .getClass().getName());
129: sb.append("\n type: [").append(type);
130: sb.append("]\n processor: [").append(processor);
131: sb.append("]\n page: [").append(page).append("], forward: ");
132: sb.append(forward ? "[true]" : "[false]");
133: return sb.toString();
134: }
135:
136: }
|