001    /*
002     * Copyright 2002-2004 the original author or authors.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005     * use this file except in compliance with the License. You may obtain a copy of
006     * 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, WITHOUT
012     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013     * License for the specific language governing permissions and limitations under
014     * the License.
015     */
016    package org.springframework.binding.validation;
017    
018    import java.util.Set;
019    
020    import org.springframework.richclient.core.Severity;
021    
022    /**
023     * Interface to be implemented by objects that hold a list of validation results
024     * for a specific object.
025     *
026     * @author Oliver Hutchison
027     * @see org.springframework.binding.validation.support.DefaultValidationResults
028     */
029    public interface ValidationResults {
030    
031            /**
032             * Returns <code>true</code> of there are any validation messages of
033             * <code>Severity.ERROR</code>.
034             */
035            boolean getHasErrors();
036    
037            /**
038             * Returns <code>true</code> of there are any validation messages of
039             * <code>Severity.WARNING</code>.
040             */
041            boolean getHasWarnings();
042    
043            /**
044             * Returns <code>true</code> of there are any validation messages of
045             * <code>Severity.INFO</code>.
046             */
047            boolean getHasInfo();
048    
049            /**
050             * Returns the total number of validation messages.
051             */
052            int getMessageCount();
053    
054            /**
055             * Returns the total number of validation messages of the specified
056             * Severity.
057             */
058            int getMessageCount(Severity severity);
059    
060            /**
061             * Returns the total number of validation messages that apply to the
062             * specified property name.
063             */
064            int getMessageCount(String propertyName);
065    
066            /**
067             * Returns a set holding all of the validation messages.
068             */
069            Set getMessages();
070    
071            /**
072             * Returns a set holding all of the validation messages of the specified
073             * Severity.
074             */
075            Set getMessages(Severity severity);
076    
077            /**
078             * Returns a set holding all of the validation messages that apply to the
079             * specified property name.
080             */
081            Set getMessages(String propertyName);
082    }