de.jaetzold.util
Class DateObservable

java.lang.Object
  |
  +--java.util.Observable
        |
        +--de.jaetzold.util.DateObservable

public class DateObservable
extends Observable

Ein Observable fuer Zeit. Immer dann wenn getDate() aufgerufen wird und sich die Zeit aufgrund der mit precision festgelegten Genauigkeit geaendert hat, wird dieses Observable als geaendert markiert. Da getDate() bei jedem Aufruf von notifyObservers() auch aufgerufen wird, braucht man sich um den Aufruf nicht explizit zu kuemmern. Also z.B. bei precision==MINUTES jede neue Minute.


Field Summary
protected  Date date
          Das letzte mit getDate() gelieferte Datum.
static int DAYS
          Die Konstante fuer precision = DAYS.
static int HOURS
          Die Konstante fuer precision = HOURS.
static int MILLISECONDS
          Die Konstante fuer precision = MILLISECONDS.
static int MINUTES
          Die Konstante fuer precision = MINUTES.
static int MONTHS
          Die Konstante fuer precision = MONTHS.
protected  int precision
          Die precision dieses Objektes.
static int SECONDS
          Die Konstante fuer precision = SECONDS.
static int YEARS
          Die Konstante fuer precision = YEARS.
 
Constructor Summary
DateObservable()
          Erzeugt eine neues DateObservable mit precision = MINUTES
DateObservable(int precision)
          Erzeugt eine neues DateObservable mit der angegebenen precision.
 
Method Summary
 void addObserver(Observer o)
          Fuegt einen neuen Observer hinzu.
 boolean differWithPrecision(Date d1, Date d2)
          Vergleicht die uebergebenen Date-Objekte mit der precision dieses DateObservable.
 Date getDate()
          Liefert das aktuelle Datum mit Genauigkeit precision.
 int getPrecision()
          Liefert die aktuelle precision fuer dieses Objekt.
 void notifyObservers()
          Benachrichtigt alle Observer wenn eine Aenderung im Datum stattgefunden hat.
 void setPrecision(int precision)
          Setzt die neue precision fuer dieses Objekt.
 
Methods inherited from class java.util.Observable
clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MILLISECONDS

public static final int MILLISECONDS
Die Konstante fuer precision = MILLISECONDS.

SECONDS

public static final int SECONDS
Die Konstante fuer precision = SECONDS.

MINUTES

public static final int MINUTES
Die Konstante fuer precision = MINUTES.

HOURS

public static final int HOURS
Die Konstante fuer precision = HOURS.

DAYS

public static final int DAYS
Die Konstante fuer precision = DAYS.

MONTHS

public static final int MONTHS
Die Konstante fuer precision = MONTHS.

YEARS

public static final int YEARS
Die Konstante fuer precision = YEARS.

precision

protected int precision
Die precision dieses Objektes.

date

protected Date date
Das letzte mit getDate() gelieferte Datum.
Constructor Detail

DateObservable

public DateObservable()
Erzeugt eine neues DateObservable mit precision = MINUTES

DateObservable

public DateObservable(int precision)
Erzeugt eine neues DateObservable mit der angegebenen precision.
Method Detail

getPrecision

public int getPrecision()
Liefert die aktuelle precision fuer dieses Objekt.

setPrecision

public void setPrecision(int precision)
Setzt die neue precision fuer dieses Objekt.

differWithPrecision

public boolean differWithPrecision(Date d1,
                                   Date d2)
Vergleicht die uebergebenen Date-Objekte mit der precision dieses DateObservable. Ist der eingestellte Wert fuer Precision unbekannt, so sind d1 und d2 immer unterschiedlich.
Parameters:
d1 - das mit d2 zu vergleichende Date-Objekt.
d2 - das mit d1 zu vergleichende Date-Objekt.
Returns:
true, wenn d1 und d2 sich mit der precision dieses DateObservable unterscheiden.

getDate

public Date getDate()
Liefert das aktuelle Datum mit Genauigkeit precision. Hat sich das Datum seit dem letzten Aufruf geaendert wird dieses Observable als geaendert markiert.

addObserver

public void addObserver(Observer o)
Fuegt einen neuen Observer hinzu. Das Observable wird dafuer als geandert markiert.
Overrides:
addObserver in class Observable

notifyObservers

public void notifyObservers()
Benachrichtigt alle Observer wenn eine Aenderung im Datum stattgefunden hat. Um das festzustellen wird als erstes getDate() aufgerufen.
Overrides:
notifyObservers in class Observable
See Also:
getDate()