Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.core.databinding.observable.value
Class DateAndTimeObservableValue

java.lang.Object
  extended by 

org.eclipse.core.databinding.observable.AbstractObservable
      extended by 

org.eclipse.core.databinding.observable.value.AbstractObservableValue
          extended by 
org.eclipse.core.databinding.observable.value.DateAndTimeObservableValue
All Implemented Interfaces:
IObservable, IObservableValue

public class DateAndTimeObservableValue
extends AbstractObservableValue

An IObservableValue < Date > which supports scenarios where the date and time are presented as separate elements in the user interface. This class combines the year, month, and day portion of the date observable (an IObservableValue < Date >) and the hour, minute, second, and millisecond portion of the time observable (also an IObservableValue < Date >).

This observable's value will be null whenever the date observable's value is null. Otherwise the value is the combination of the date portion of the date observable and the time portion of the time observable (a time observable value of null is treated the same as 0:00:00.000).

When setting the value of this observable, setting a null value will set null on the date observable, and set a time of 0:00:00.000 on the time observable. When setting non-null values, the non-applicable fields of each observable are left intact. That is, the hour, minute, second and millisecond components of the date observable are preserved, and the year, month and day components of the time observable are preserved.

The observables used for the date and time component may impose their own restrictions with regard to supported values. For example some observables do not allow a null value, because the underlying widget lacks support for a null value (example: DateTime).

One use for this class is binding a date-and-time value to two separate user interface elements, one for editing date and one for editing time:

 DataBindingContext dbc = new DataBindingContext();
 IObservableValue beanValue = BeansObservables.observeValue(...);
 IObservableValue dateObservable = WidgetProperties.selection().observe(
                dateWidget);
 IObservableValue timeObservable = WidgetProperties.selection().observe(
                timeWidget);
 dbc.bindValue(new DateAndTimeObservableValue(dateObservable, timeObservable),
                beanValue);
 
A second use is editing only the date or time value of a date-and-time value. This can be accomplished by using a widget-specific observable for the editable value and a WritableValue as a container for the fixed value. The example below allows editing the date while preserving the time:
 DataBindingContext dbc = new DataBindingContext();
 IObservableValue beanValue = BeansObservables.observeValue(...);
 IObservableValue dateObservable = WidgetProperties.selection().observe(
                dateWidget);
 IObservableValue timeObservable = new WritableValue(dateObservable.getRealm(),
                beanValue.getValue(), Date.class);
 dbc.bindValue(new DateAndTimeObservableValue(dateObservable, timeObservable), beanValue);
 
 

Since:
1.2

Constructor Summary
DateAndTimeObservableValue ( IObservableValue dateObservable, IObservableValue timeObservable)
          Constructs a DateAndTimeObservableValue with the specified constituent observables.
 
Method Summary
protected  void addListener ( Object listenerType, IObservablesListener listener)
           
protected   Object clone ()
           
 void dispose ()
          Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.
protected   Object doGetValue ()
           
protected  void doSetValue ( Object value)
          Template method for setting the value of the observable.
protected  void fireEvent ( ObservableEvent event)
           
protected  void firstListenerAdded ()
           
  Realm getRealm ()
           
  Object getValueType ()
          The value type of this observable value, or null if this observable value is untyped.
protected  boolean hasListeners ()
           
 boolean isStale ()
          Returns whether the state of this observable is stale and is expected to change soon.
protected  void lastListenerRemoved ()
           
protected  void removeListener ( Object listenerType, IObservablesListener listener)
           
 
Methods inherited from class org.eclipse.core.databinding.observable.value. AbstractObservableValue
addValueChangeListener, fireChange, fireValueChange, getValue, removeValueChangeListener, setValue
 
Methods inherited from class org.eclipse.core.databinding.observable. AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
 
Methods inherited from class java.lang. Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.core.databinding.observable. IObservable
addChangeListener, addDisposeListener, addStaleListener, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
 

Constructor Detail

DateAndTimeObservableValue

public DateAndTimeObservableValue(
IObservableValue dateObservable,
                                  
IObservableValue timeObservable)
Constructs a DateAndTimeObservableValue with the specified constituent observables.

Parameters:
dateObservable - the observable used for the date component (year, month and day) of the constructed observable.
timeObservable - the observable used for the time component (hour, minute, second and millisecond) of the constructed observable.
Method Detail

getValueType

public 
Object getValueType()
Description copied from interface: IObservableValue
The value type of this observable value, or null if this observable value is untyped.

Returns:
the value type, or null

firstListenerAdded

protected void firstListenerAdded()

lastListenerRemoved

protected void lastListenerRemoved()

doGetValue

protected 
Object doGetValue()
Specified by:
doGetValue in class AbstractObservableValue

doSetValue

protected void doSetValue(
Object value)
Description copied from class: AbstractObservableValue
Template method for setting the value of the observable. By default the method throws an UnsupportedOperationException .

Overrides:
doSetValue in class AbstractObservableValue

isStale

public boolean isStale()
Description copied from interface: IObservable
Returns whether the state of this observable is stale and is expected to change soon. A non-stale observable that becomes stale will notify its stale listeners. A stale object that becomes non-stale does so by changing its state and notifying its change listeners, it does not notify its stale listeners about becoming non-stale. Clients that do not expect asynchronous changes may ignore staleness of observable objects.

Specified by:
isStale in interface IObservable
Overrides:
isStale in class AbstractObservableValue
Returns:
true if this observable's state is stale and will change soon.

dispose

public void dispose()
Description copied from interface: IObservable
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.

Specified by:
dispose in interface IObservable
Overrides:
dispose in class AbstractObservable

addListener

protected void addListener(
Object listenerType,
                           
IObservablesListener listener)
Parameters:
listenerType -
listener -

removeListener

protected void removeListener(
Object listenerType,
                              
IObservablesListener listener)
Parameters:
listenerType -
listener -

hasListeners

protected boolean hasListeners()

fireEvent

protected void fireEvent(
ObservableEvent event)

getRealm

public 
Realm getRealm()
Returns:
Returns the realm.

clone

protected 
Object clone()
                throws 
CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire