001    package org.springframework.rules.reporting;
002    
003    import org.springframework.rules.constraint.Constraint;
004    import org.springframework.richclient.core.Severity;
005    
006    /**
007     * @author Keith Donald
008     */
009    public class ValueValidationResults implements ValidationResults {
010    
011            private Object argument;
012    
013            private Constraint violatedConstraint;
014    
015            public ValueValidationResults(Object argument, Constraint violatedConstraint) {
016                    this.argument = argument;
017                    this.violatedConstraint = violatedConstraint;
018            }
019    
020            public ValueValidationResults(Object argument) {
021                    this.argument = argument;
022            }
023    
024            /**
025             * @see org.springframework.rules.reporting.ValidationResults#getRejectedValue()
026             */
027            public Object getRejectedValue() {
028                    return argument;
029            }
030    
031            /**
032             * @see org.springframework.rules.reporting.ValidationResults#getViolatedConstraint()
033             */
034            public Constraint getViolatedConstraint() {
035                    return violatedConstraint;
036            }
037    
038            /**
039             * @see org.springframework.rules.reporting.ValidationResults#getViolatedCount()
040             */
041            public int getViolatedCount() {
042                    if (violatedConstraint != null)
043                            return new SummingVisitor(violatedConstraint).sum();
044    
045            return 0;
046            }
047    
048            /**
049             * @see org.springframework.rules.reporting.ValidationResults#getSeverity()
050             */
051            public Severity getSeverity() {
052                    return Severity.ERROR;
053            }
054    
055    }