001 /**
002 * Copyright 2005-2014 The Kuali Foundation
003 *
004 * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php
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 package org.kuali.rice.krad.datadictionary.validation.result;
017
018 import java.io.Serializable;
019 import java.util.Iterator;
020 import java.util.LinkedHashMap;
021 import java.util.Map;
022
023 public class AttributeValidationResult implements Serializable {
024
025 private String attributeName;
026 private Map<String, ConstraintValidationResult> constraintValidationResultMap;
027
028 /**
029 * creates a new instance with the given attribute name
030 *
031 * @param attributeName - the attribute name
032 */
033 public AttributeValidationResult(String attributeName) {
034 this.attributeName = attributeName;
035 this.constraintValidationResultMap = new LinkedHashMap<String, ConstraintValidationResult>();
036 }
037
038 /**
039 * adds a constraint validation result
040 *
041 * @param constraintValidationResult - the constraint validation result to set
042 */
043 public void addConstraintValidationResult(ConstraintValidationResult constraintValidationResult) {
044 constraintValidationResultMap.put(constraintValidationResult.getConstraintName(), constraintValidationResult);
045 }
046
047 /**
048 * gets an iterator over the constraint validation results added to this class
049 *
050 * @return an iterator to stored constraint validation results
051 */
052 public Iterator<ConstraintValidationResult> iterator() {
053 return constraintValidationResultMap.values().iterator();
054 }
055
056 /**
057 * gets a constraint validation result with the given constraintName
058 *
059 * @param constraintName - a descriptive name of the current constraint processor
060 * @return
061 */
062 protected ConstraintValidationResult getConstraintValidationResult(String constraintName) {
063 ConstraintValidationResult constraintValidationResult = constraintValidationResultMap.get(constraintName);
064 if (constraintValidationResult == null) {
065 constraintValidationResult = new ConstraintValidationResult(constraintName);
066 constraintValidationResultMap.put(constraintName, constraintValidationResult);
067 }
068 return constraintValidationResult;
069 }
070
071 /**
072 * @return the attributeName
073 */
074 public String getAttributeName() {
075 return this.attributeName;
076 }
077
078 /**
079 * @param attributeName the attributeName to set
080 */
081 public void setAttributeName(String attributeName) {
082 this.attributeName = attributeName;
083 }
084
085 /*
086 private static final long serialVersionUID = 1L;
087
088 protected String element;
089
090 protected ErrorLevel level = ErrorLevel.OK;
091
092 private String entryName;
093 private String attributeName;
094 private String errorKey;
095 private String[] errorParameters;
096
097 public AttributeValidationResult(String attributeName) {
098 this.level = ErrorLevel.OK;
099 this.attributeName = attributeName;
100 }
101
102 public AttributeValidationResult(String entryName, String attributeName) {
103 this.level = ErrorLevel.OK;
104 this.entryName = entryName;
105 this.attributeName = attributeName;
106 }
107
108 public ErrorLevel getLevel() {
109 return level;
110 }
111
112 public void setLevel(ErrorLevel level) {
113 this.level = level;
114 }
115
116 public String getElement() {
117 return element;
118 }
119
120 public void setElement(String element) {
121 this.element = element;
122 }
123
124
125 public ErrorLevel getErrorLevel() {
126 return level;
127 }
128
129 public void setError(String errorKey, String... errorParameters) {
130 this.level = ErrorLevel.ERROR;
131 this.errorKey = errorKey;
132 this.errorParameters = errorParameters;
133 }
134
135 public boolean isOk() {
136 return getErrorLevel() == ErrorLevel.OK;
137 }
138
139
140 public boolean isWarn() {
141 return getErrorLevel() == ErrorLevel.WARN;
142 }
143
144 public boolean isError() {
145 return getErrorLevel() == ErrorLevel.ERROR;
146 }
147
148 public String toString(){
149 return "Entry: [" + entryName + "] Attribute: [" + attributeName + "] - " + errorKey + " data=[" + errorParameters + "]";
150 }
151
152 public String getEntryName() {
153 return this.entryName;
154 }
155
156 public void setEntryName(String entryName) {
157 this.entryName = entryName;
158 }
159
160 public String getAttributeName() {
161 return this.attributeName;
162 }
163
164 public void setAttributeName(String attributeName) {
165 this.attributeName = attributeName;
166 }
167
168 public String getErrorKey() {
169 return this.errorKey;
170 }
171
172 public void setErrorKey(String errorKey) {
173 this.errorKey = errorKey;
174 }
175
176 public String[] getErrorParameters() {
177 return this.errorParameters;
178 }
179 public void setErrorParameters(String[] errorParameters) {
180 this.errorParameters = errorParameters;
181 }
182 */
183
184 }