Class ListTable

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  ListTable.ListRecord
      Record in a ListTable.
    • Constructor Summary

      Constructors 
      Constructor Description
      ListTable​(java.lang.String id, java.lang.String description, java.util.Collection<Column<?>> columns)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addRecord​(java.lang.Object[] data)
      Adds a record to the table.
      void addRecord​(java.util.Map<Column<?>,​java.lang.Object> data)
      Adds a record to the table.
      void addRecordByColumnIds​(java.util.Map<java.lang.String,​java.lang.Object> data)
      Adds a record to the table.
      boolean isEmpty()
      Returns whether the table is empty.
      java.util.Iterator<Record> iterator()


      It is imperative that the user manually synchronize on the returned list when traversing it via Iterator, Spliterator or Stream when there is a risk of adding records while traversing the iterator:
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • ListTable

        public ListTable​(java.lang.String id,
                         java.lang.String description,
                         java.util.Collection<Column<?>> columns)
        Constructor.
        Parameters:
        id - String; id
        description - String; description
        columns - Collection<Column<?>>; columns
    • Method Detail

      • iterator

        public java.util.Iterator<Record> iterator()


        It is imperative that the user manually synchronize on the returned list when traversing it via Iterator, Spliterator or Stream when there is a risk of adding records while traversing the iterator:
          List list = Collections.synchronizedList(new ArrayList());
              ...
          synchronized (list) 
          {
              Iterator i = list.iterator(); // Must be in synchronized block
              while (i.hasNext())
                  foo(i.next());
          }
         
        Failure to follow this advice may result in non-deterministic behavior.

      • isEmpty

        public boolean isEmpty()
        Returns whether the table is empty.
        Returns:
        whether the table is empty
      • addRecord

        public void addRecord​(java.util.Map<Column<?>,​java.lang.Object> data)
        Adds a record to the table.
        Parameters:
        data - Map<String, Object>; data with values given per column
        Throws:
        java.lang.IllegalArgumentException - when the size or data types in the data map do not comply to the columns
      • addRecordByColumnIds

        public void addRecordByColumnIds​(java.util.Map<java.lang.String,​java.lang.Object> data)
        Adds a record to the table.
        Parameters:
        data - Map<String, Object>; data with values given per column id
        Throws:
        java.lang.IllegalArgumentException - when the size or data types in the data map do not comply to the columns
      • addRecord

        public void addRecord​(java.lang.Object[] data)
        Adds a record to the table. The order in which the elements in the array are offered should be the same as the order of the columns.
        Parameters:
        data - Object[]; record data
        Throws:
        java.lang.IllegalArgumentException - when the size, order or data types in the Object[] do not comply to the columns