Class ListProperty<T,K>

All Implemented Interfaces:
Iterable<T>

public class ListProperty<T,K> extends CollectionProperty<T,K>
Base class for a property as a list which can contain multiple elements within
  • Constructor Details

    • ListProperty

      public ListProperty(String name, T... values)

      Constructs a property with the given name and value

      Parameters
      • name: the name of the property

      • values: default values for the property

    • ListProperty

      public ListProperty(String name, Class<T> elementType, T... values)

      Constructs a property with the given name and values by specifying the type of the elements explicitly. The element type needs to be specified if the list should contain PropertyBusinessObjects and needs to get deserialized properly!

      Parameters
      • name: the name of the property

      • elementType: subclass of PropertyBusinessObject

      • values: default values for the property

    • ListProperty

      public ListProperty(String name)

      Constructs a property with null value

      Parameters
      • name: the name of the property
  • Method Details

    • get

      public T get(int offset)

      Gets the property value

      Parameters
      • offset: the offset within the list
      Returns

      the property value

    • size

      public int size()

      The size of the property list

      Returns

      the number of elements

      Specified by:
      size in class CollectionProperty<T,K>
    • set

      public K set(int offset, T v)

      Sets the property value and potentially fires a change event

      Parameters
      • offset: the position for the new value

      • v: the new value

      Returns

      the parent object for chaining

    • set

      public K set(Collection<T> t)

      Sets the entire content of the property

      Parameters
      • t: the collection of elements to set
      Returns

      the parent object for chaining

      Specified by:
      set in class CollectionProperty<T,K>
    • setList

      public K setList(Collection<T> t)

      Historical alias of set(Collection t) Sets the entire content of the property

      Parameters
      • t: the collection of elements to set
      Returns

      the parent object for chaining

    • add

      public K add(int offset, T v)

      Adds a property value and fires a change event

      Parameters
      • offset: the position for the new value

      • v: the new value

    • add

      public K add(T v)

      Adds a property value to the end of the list and fires a change event

      Parameters
      • v: the new value
      Specified by:
      add in class CollectionProperty<T,K>
    • addAll

      public K addAll(Collection<? extends T> v)

      Adds a all properties value to the list and fires a change event

      Parameters
      • v: the collection of values to add
      Specified by:
      addAll in class CollectionProperty<T,K>
    • remove

      public K remove(int offset)

      Removes the item at the given offset

      Parameters
      • offset: the offset
      Specified by:
      remove in class CollectionProperty<T,K>
    • remove

      public K remove(T v)

      Removes the item with this value

      Parameters
      • v: the value object
      Specified by:
      remove in class CollectionProperty<T,K>
    • removeAll

      public K removeAll(Collection<? extends T> v)

      Removes from the list all values from the given collection and fires a change event if the list has changed

      Parameters
      • the: item to remove
      Specified by:
      removeAll in class CollectionProperty<T,K>
    • equals

      public boolean equals(Object obj)

      Compares this property to another property

      Parameters
      • obj: the other property
      Returns

      true if they are equal in name and value

      Overrides:
      equals in class PropertyBase<T,K>
    • hashCode

      public int hashCode()

      Returns the internal hashcode or 0 for null property

      Returns

      the hashcode value

      Overrides:
      hashCode in class PropertyBase<T,K>
    • iterator

      public Iterator<T> iterator()

      Iterate over the elements of the property

      Returns

      an iterator

      Specified by:
      iterator in interface Iterable<T>
      Specified by:
      iterator in class CollectionProperty<T,K>
    • asList

      public List<T> asList()

      Returns a copy of the content as a new list

      Returns

      a list

      Specified by:
      asList in class CollectionProperty<T,K>
    • asExplodedList

      public List<Object> asExplodedList()

      Returns a copy of the content as a new list but if the value is a PropertyBusinessObject it will be converted to a Map

      Returns

      a list

      Specified by:
      asExplodedList in class CollectionProperty<T,K>
    • clear

      public void clear()
      Remove all the elements from the list
      Specified by:
      clear in class CollectionProperty<T,K>
    • contains

      public boolean contains(T element)

      Returns true if the given element is contained in the list property

      Parameters
      • element: the element
      Returns

      true if the given element is contained in the list property

      Specified by:
      contains in class CollectionProperty<T,K>
    • indexOf

      public int indexOf(T element)

      Returns the index of the given element in the list property

      Parameters
      • element: the element
      Returns

      the index of the given element in the list property