Salome HOME
Update copyrights 2014.
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / kernel / ObjectProperties.java
1 package org.splat.kernel;
2
3 import org.splat.dal.bo.kernel.Persistent;
4
5 /**
6  * Common interface of intermediate properties objects used for constructing persistent objects supporting the API Design Pattern
7  * provided by this package.
8  * This interface mainly provides a frame for checking the validity of arguments used by persistent object constructors.
9  * The validity check is implemented in classes inheriting from the Persistent.Properties abstract class through the checkValidity
10  * member function defined in this interface - see class User included in this package for an example of use.
11  * 
12  * @see Persistent
13  * @author    Daniel Brunier-Coulin
14  * @copyright OPEN CASCADE 2012-2014
15  */
16 public interface ObjectProperties {
17
18 /**
19  * Checks the mutual compatibility of arguments previously set in the properties object.
20  * The validity of each individual argument is supposed to be check first in the setter function of the argument. 
21  * 
22  * @throws MissedPropertyException
23  * @throws InvalidPropertyException
24  * @throws MultiplyDefinedException
25  */ public void checkValidity () throws MissedPropertyException, InvalidPropertyException, MultiplyDefinedException;
26
27  /**
28  * Disables the validity check.
29  * The validity check is by default enabled when constructing an properties object.
30  */ public void disableCheck ();
31
32  /**
33  * Returns true if the validity check is enabled.
34  */ public boolean mustBeChecked ();
35 }