org.ujoframework.implementation.registrar
Class RegistrarUjo<UJO extends Ujo>

java.lang.Object
  extended by org.ujoframework.extensions.AbstractUjo
      extended by org.ujoframework.implementation.map.MapUjo
          extended by org.ujoframework.implementation.registrar.RegistrarUjo<UJO>
All Implemented Interfaces:
java.io.Serializable, UjoCloneable, UjoTextable, EventRegistrar<UJO>, Ujo

public class RegistrarUjo<UJO extends Ujo>
extends MapUjo
implements EventRegistrar<UJO>

A MapUjo implementation with a Property change listener support.
There is possible to implement the EventRegistrar interface very easy to any Ujo implementation by sample:

public class RegistrarUjo<UJO extends Ujo> extends MapUjo implements EventRegistrar<UJO> {
     
   final private UjoPropertyChangeSupport eventRegistrar = new UjoPropertyChangeSupport(this, null);
 
   public void writeValue(UjoProperty property, Object value) {
     Object oldValue = readValue(property);
     eventRegistrar.firePropertyChange(property, oldValue, value, true);
     super.writeValue(property, value);
     eventRegistrar.firePropertyChange(property, oldValue, value, false);
   }
 
   public boolean addPropertyChangeListener
     ( UjoProperty<UJO,?> property
     , Boolean before
     , UjoPropertyChangeListener listener
     ) {
     return eventRegistrar.addPropertyChangeListener(property, before, listener);
   }
 
   public boolean removePropertyChangeListener
     ( UjoProperty<UJO,?> property
     , Boolean before
     , UjoPropertyChangeListener listener
     ) {
      return eventRegistrar.removePropertyChangeListener(property, before, listener);
   }
 }

Since:
ujo-tool
Author:
Pavel Ponec
See Also:
Serialized Form

Constructor Summary
RegistrarUjo()
           
 
Method Summary
 boolean addPropertyChangeListener(UjoProperty<UJO,?> property, java.lang.Boolean before, UjoPropertyChangeListener listener)
          Add property Listener
 boolean removePropertyChangeListener(UjoProperty<UJO,?> property, java.lang.Boolean before, UjoPropertyChangeListener listener)
          Remove property Listener
 void writeValue(UjoProperty property, java.lang.Object value)
          It is a common method for writing all object values, however there is strongly recomended to use a method Property.setValue(org.ujoframework.Ujo, java.lang.Object) to an external access for a better type safe.
 
Methods inherited from class org.ujoframework.implementation.map.MapUjo
newListProperty, newProperty, newProperty, newProperty, newPropertyList, readValue
 
Methods inherited from class org.ujoframework.extensions.AbstractUjo
clone, equals, init, init, readAuthorization, readProperties, readUjoManager, readValueString, toString, writeValueString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegistrarUjo

public RegistrarUjo()
Method Detail

writeValue

public void writeValue(UjoProperty property,
                       java.lang.Object value)
Description copied from class: MapUjo
It is a common method for writing all object values, however there is strongly recomended to use a method Property.setValue(org.ujoframework.Ujo, java.lang.Object) to an external access for a better type safe. The method have got a strategy place for an implementation of several listeners and validators.
NOTE: If property is an incorrect then no exception is throwed.

Specified by:
writeValue in interface Ujo
Overrides:
writeValue in class MapUjo
Parameters:
property - Property must be a direct type only!
See Also:
Property.setValue(Ujo,Object)

addPropertyChangeListener

public boolean addPropertyChangeListener(UjoProperty<UJO,?> property,
                                         java.lang.Boolean before,
                                         UjoPropertyChangeListener listener)
Add property Listener

Specified by:
addPropertyChangeListener in interface EventRegistrar<UJO extends Ujo>
Parameters:
property - Property
before - The null value means that listener will be called before as well as after reading/writting value to UJO.
listener - Listener
Returns:
A result of the operation

removePropertyChangeListener

public boolean removePropertyChangeListener(UjoProperty<UJO,?> property,
                                            java.lang.Boolean before,
                                            UjoPropertyChangeListener listener)
Remove property Listener

Specified by:
removePropertyChangeListener in interface EventRegistrar<UJO extends Ujo>


Copyright © 2010. All Rights Reserved.