Class AbstractApplicationFormUIModel<E,​B extends AbstractApplicationFormUIModel<E,​B>>

java.lang.Object
org.jdesktop.beans.AbstractBean
org.jdesktop.beans.AbstractSerializableBean
org.nuiton.jaxx.application.swing.AbstractApplicationFormUIModel<E,​B>
All Implemented Interfaces:
java.io.Serializable, JavaBeanObject

public abstract class AbstractApplicationFormUIModel<E,​B extends AbstractApplicationFormUIModel<E,​B>>
extends org.jdesktop.beans.AbstractSerializableBean
implements JavaBeanObject
A ui form model. Created on 8/15/14.
Since:
2.10
Author:
Tony Chemit - chemit@codelutin.com
See Also:
Serialized Form
  • Field Details

    • PROPERTY_MODIFY

      public static final java.lang.String PROPERTY_MODIFY
      See Also:
      Constant Field Values
    • PROPERTY_VALID

      public static final java.lang.String PROPERTY_VALID
      See Also:
      Constant Field Values
    • PROPERTY_CREATE

      public static final java.lang.String PROPERTY_CREATE
      See Also:
      Constant Field Values
    • MODIFY_IGNORE_PROPERTIES

      public static final com.google.common.collect.ImmutableSet<java.lang.String> MODIFY_IGNORE_PROPERTIES
  • Constructor Details

    • AbstractApplicationFormUIModel

      protected AbstractApplicationFormUIModel()
    • AbstractApplicationFormUIModel

      protected AbstractApplicationFormUIModel​(java.lang.Class<E> entityType, java.lang.Class<B> uiModelType)
    • AbstractApplicationFormUIModel

      protected AbstractApplicationFormUIModel​(org.nuiton.util.beans.Binder<E,​B> fromBeanBinder, org.nuiton.util.beans.Binder<B,​E> toBeanBinder)
  • Method Details

    • newEntity

      protected abstract E newEntity()
      Used to copy the form to outside world.
      Returns:
      a new instance of outisde world object.
    • fromEntity

      public void fromEntity​(E entity)
      Method to override the copy of incoming entity into the form. By default, invoke the simple binder copy (method fromBean(Object).
      Parameters:
      entity - incoming entity to copy inside the form
    • toEntity

      public void toEntity​(E entity)
      Method to override the copy of the form to outside world (entity). By default, invoke the simple binder copy (method toBean(Object).
      Parameters:
      entity - the outside world object to fill
    • toEntity

      public final E toEntity()
      Note: the method is final, if you need to customize something, do it in the toEntity(Object) method.
      Returns:
      a new instance of object to persist from this form
    • fromBean

      public final void fromBean​(E bean)
      Parameters:
      bean - object to copy into form using the fromBeanBinder binder
    • toBean

      public final E toBean()
      Returns:
      the new instance of bean binded from form to outside world
    • toBean

      public final E toBean​(E bean)
      Parameters:
      bean - the bean to bind
      Returns:
      the binded form to the given result
    • isModify

      public boolean isModify()
    • setModify

      public void setModify​(boolean modify)
    • isValid

      public boolean isValid()
    • setValid

      public void setValid​(boolean valid)
    • isCreate

      public boolean isCreate()
    • setCreate

      public void setCreate​(boolean create)
    • getModifyIgnorePropertyNames

      protected java.util.Set<java.lang.String> getModifyIgnorePropertyNames()
      Returns:
      set of property names that will not change the modify state.
    • firePropertyChanged

      public void firePropertyChanged​(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
      Specified by:
      firePropertyChanged in interface JavaBeanObject
    • listenModelIsModify

      public final <B extends JavaBeanObject> void listenModelIsModify​(B... javaBeanObjects)
    • listenAndModifyModel

      protected <B extends JavaBeanObject> void listenAndModifyModel​(java.lang.Iterable<B> javaBeanObjects)
    • modelToEntity

      protected static <E,​ B extends AbstractApplicationFormUIModel<E,​ B>> com.google.common.base.Function<B,​E> modelToEntity()
    • entityToModel

      protected static <E,​ B extends AbstractApplicationFormUIModel<E,​ B>> com.google.common.base.Function<E,​B> entityToModel​(java.lang.Class<B> modelType)