org.ujoframework.implementation.registrar
Class RegistrarUjoExt<UJO extends RegistrarUjoExt>

java.lang.Object
  extended by org.ujoframework.extensions.AbstractUjo
      extended by org.ujoframework.extensions.AbstractUjoExt<UJO>
          extended by org.ujoframework.implementation.map.MapUjoExt<UJO>
              extended by org.ujoframework.implementation.registrar.RegistrarUjoExt<UJO>
All Implemented Interfaces:
java.io.Serializable, UjoCloneable, UjoExt<UJO>, UjoMiddle<UJO>, UjoTextable, EventRegistrar<UJO>, Ujo

public class RegistrarUjoExt<UJO extends RegistrarUjoExt>
extends MapUjoExt<UJO>
implements EventRegistrar<UJO>

A MapUjoExt 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 RegistrarUjoExt<UJO extends RegistrarUjoExt> extends MapUjoExt<UJO> implements EventRegistrar<UJO> {
    
  final private UjoPropertyChangeSupport eventRegistrar = new UjoPropertyChangeSupport(this);

  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

Field Summary
 
Fields inherited from class org.ujoframework.implementation.map.MapUjoExt
data
 
Constructor Summary
RegistrarUjoExt()
           
 
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.MapUjoExt
newListProperty, newProperty, newProperty, newPropertyList, readValue
 
Methods inherited from class org.ujoframework.extensions.AbstractUjoExt
add, clone, copyTo, copyTo, createPropertyList, equals, findProperty, get, get, get, get, getItemCount, getText, isDefault, list, remove, remove, set, set, set, set, setText
 
Methods inherited from class org.ujoframework.extensions.AbstractUjo
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
 
Methods inherited from interface org.ujoframework.Ujo
readAuthorization, readProperties
 

Constructor Detail

RegistrarUjoExt

public RegistrarUjoExt()
Method Detail

writeValue

public void writeValue(UjoProperty property,
                       java.lang.Object value)
Description copied from class: MapUjoExt
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 MapUjoExt<UJO extends RegistrarUjoExt>
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 RegistrarUjoExt>
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 RegistrarUjoExt>


Copyright © 2010. All Rights Reserved.