Class AbstractUiListModifiable<D extends io.vertigo.datamodel.data.model.DataObject>

java.lang.Object
java.util.AbstractCollection<UiObject<D>>
java.util.AbstractList<UiObject<D>>
io.vertigo.vega.engines.webservice.json.AbstractUiListModifiable<D>
Type Parameters:
D - Type d'objet
All Implemented Interfaces:
UiList<D>, Serializable, Iterable<UiObject<D>>, Collection<UiObject<D>>, List<UiObject<D>>, SequencedCollection<UiObject<D>>
Direct Known Subclasses:
UiListModifiable

public abstract class AbstractUiListModifiable<D extends io.vertigo.datamodel.data.model.DataObject> extends AbstractList<UiObject<D>> implements UiList<D>, Serializable
Version modifiable des UiList.
Author:
npiedeloup
See Also:
  • Constructor Details

    • AbstractUiListModifiable

      protected AbstractUiListModifiable(io.vertigo.datamodel.data.model.DtList<D> dtList, String inputKey)
      Constructor.
      Parameters:
      dtList - Inner DtList
    • AbstractUiListModifiable

      public AbstractUiListModifiable(io.vertigo.datamodel.data.model.DtList<D> dtList, String inputKey, Consumer<U> postInit)
  • Method Details

    • getObjectType

      public Class<D> getObjectType()
      Specified by:
      getObjectType in interface UiList<D extends io.vertigo.datamodel.data.model.DataObject>
      Returns:
      the object type of the list
    • createUiObject

      protected abstract UiObject<D> createUiObject(D dto)
    • getDtDefinition

      public io.vertigo.datamodel.data.definitions.DataDefinition getDtDefinition()
      Specified by:
      getDtDefinition in interface UiList<D extends io.vertigo.datamodel.data.model.DataObject>
      Returns:
      DtDefinition de l'objet métier
    • toContextKey

      protected String toContextKey(String locInputKey, int index)
    • remove

      public boolean remove(UiObject<D> dto)
      Parameters:
      dto - Element to removed
      Returns:
      If element was removed
    • remove

      public UiObject<D> remove(int index)
      Specified by:
      remove in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      remove in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
    • add

      public boolean add(D dto)
      Parameters:
      dto - Element to add
      Returns:
      true (as specified by Collection.add)
    • add

      public boolean add(UiObject<D> uiObject)
      Specified by:
      add in interface Collection<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      add in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      add in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
      Parameters:
      uiObject - Element to add
      Returns:
      true (as specified by Collection.add)
    • add

      public void add(int index, UiObject<D> uiObject)
      Specified by:
      add in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      add in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
      Parameters:
      uiObject - Element to add at index
    • getDtListDelta

      public DtListDelta<D> getDtListDelta()
      Returns:
      DtListDelta
    • get

      public UiObject<D> get(int row)
      Specified by:
      get in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      get in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
    • indexOf

      public int indexOf(Object o)
      Get indexOf element : support UiObject and DtObject. UiObject is always build over a DtObject.
      Specified by:
      indexOf in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      indexOf in interface UiList<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      indexOf in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
      Returns:
      index of UiObject or sub-DtObject element.
    • size

      public int size()
      Specified by:
      size in interface Collection<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      size in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      size in class AbstractCollection<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
    • checkFormat

      public boolean checkFormat(UiMessageStack uiMessageStack)
      Vérifie les UiObjects de la liste et remplis la pile d'erreur.
      Specified by:
      checkFormat in interface UiList<D extends io.vertigo.datamodel.data.model.DataObject>
      Parameters:
      uiMessageStack - Pile des messages qui sera mise à jour
      Returns:
      if the object is valid (no format errors) if it's not valid you must not call mergeAndCheckInput
    • mergeAndCheckInput

      public io.vertigo.datamodel.data.model.DtList<D> mergeAndCheckInput(List<DtObjectValidator<D>> validators, UiMessageStack uiMessageStack)
      Vérifie les UiObjects de la liste, met à jour les objets métiers et retourne la liste.
      Specified by:
      mergeAndCheckInput in interface UiList<D extends io.vertigo.datamodel.data.model.DataObject>
      Parameters:
      uiMessageStack - Pile des messages qui sera mise à jour
      Returns:
      Liste métier valid�e.
    • iterator

      public Iterator<UiObject<D>> iterator()
      Specified by:
      iterator in interface Collection<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      iterator in interface Iterable<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      iterator in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      iterator in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Collection<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      equals in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      equals in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<D extends io.vertigo.datamodel.data.model.DataObject>
      Specified by:
      hashCode in interface List<D extends io.vertigo.datamodel.data.model.DataObject>
      Overrides:
      hashCode in class AbstractList<UiObject<D extends io.vertigo.datamodel.data.model.DataObject>>