no truncation for fields with no precision
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / IIoObservable.java
1 package eu.etaxonomy.cdm.io.common;
2
3 import java.util.Set;
4
5 import eu.etaxonomy.cdm.io.common.events.IIoObserver;
6
7 public interface IIoObservable {
8
9 /**
10 * Sets the observers for this object
11 * @return
12 */
13 public abstract Set<IIoObserver> getObservers();
14
15 /**
16 * Adds a new observer for this object.
17 * @param observer
18 * @return
19 */
20 public abstract boolean addObserver(IIoObserver observer);
21
22 /**
23 * Adds a set of new observer for this object.
24 * @param observer
25 * @return
26 */
27 public abstract void addObservers(Set<IIoObserver> observer);
28
29
30 /**
31 * Removes an observer from this object
32 * @param observer
33 * @return
34 */
35 public abstract boolean removeObserver(IIoObserver observer);
36
37 /**
38 * Clears the observer list so that this object no longer has any observers.
39 */
40 public void removeObservers();
41
42
43 /**
44 * Returns the number of observers of this Observable object.
45 * @return number of observers
46 */
47 public int countObservers();
48
49 }