1
package org.hisp.dhis.validation;
4
* Copyright (c) 2004-2007, University of Oslo
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* * Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* * Neither the name of the HISP project nor the names of its contributors may
15
* be used to endorse or promote products derived from this software without
16
* specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
import java.util.Collection;
34
* Interface that deals with validation rules.
36
* @author Margrethe Store
37
* @version $Id: ValidationRuleStore.java 5434 2008-06-18 18:57:59Z larshelg $
39
public interface ValidationRuleStore
41
String ID = ValidationRuleStore.class.getName();
43
// -------------------------------------------------------------------------
45
// -------------------------------------------------------------------------
48
* Adds a ValidationRule to the database.
50
* @param validationRule the ValidationRule to add.
51
* @return the generated unique identifier for the ValidationRule.
53
int addValidationRule( ValidationRule validationRule );
56
* Delete a ValidationRule with the given identifiers from the database.
58
* @param id the ValidationRule to delete.
60
void deleteValidationRule( ValidationRule validationRule );
63
* Update a ValidationRule with the given identifiers.
65
* @param validationRule the ValidationRule to update.
67
void updateValidationRule( ValidationRule validationRule );
70
* Get ValidationRule with the given identifier.
72
* @param id the unique identifier of the ValidationRule.
73
* @return the ValidationRule or null if it doesn't exist.
75
ValidationRule getValidationRule( int id );
78
* Get all ValidationRules.
80
* @return a Collection of ValidationRule or null if it there are no validation rules.
82
Collection<ValidationRule> getAllValidationRules();
85
* Get a ValidationRule with the given name.
87
* @param name the name of the ValidationRule.
89
ValidationRule getValidationRuleByName( String name );
91
// -------------------------------------------------------------------------
93
// -------------------------------------------------------------------------
96
* Adds a ValidationRuleGroup to the database.
98
* @param validationRuleGroup the ValidationRuleGroup to add.
99
* @return the generated unique identifier for the ValidationRuleGroup.
101
int addValidationRuleGroup( ValidationRuleGroup validationRuleGroup );
104
* Delete a ValidationRuleGroup with the given identifiers from the database.
106
* @param id the ValidationRuleGroup to delete.
108
void deleteValidationRuleGroup( ValidationRuleGroup validationRuleGroup );
111
* Update a ValidationRuleGroup with the given identifiers.
113
* @param validationRule the ValidationRule to update.
115
void updateValidationRuleGroup( ValidationRuleGroup validationRuleGroup );
118
* Get ValidationRuleGroup with the given identifier.
120
* @param id the unique identifier of the ValidationRuleGroup.
121
* @return the ValidationRule or null if it doesn't exist.
123
ValidationRuleGroup getValidationRuleGroup( int id );
126
* Get all ValidationRuleGroups.
128
* @return a Collection of ValidationRuleGroup or null if it there are no ValidationRuleGroups.
130
Collection<ValidationRuleGroup> getAllValidationRuleGroups();
133
* Get a ValidationRuleGroup with the given name.
135
* @param name the name of the ValidationRuleGroup.
137
ValidationRuleGroup getValidationRuleGroupByName( String name );