info.bioinfweb.jphyloio.dataadapters.implementations

## Class ListBasedDocumentDataAdapter

- java.lang.Object
- - info.bioinfweb.jphyloio.dataadapters.implementations.EmptyAnnotatedDataAdapter<ConcreteJPhyloIOEvent>
  - - info.bioinfweb.jphyloio.dataadapters.implementations.ListBasedDocumentDataAdapter

- All Implemented Interfaces:
    AnnotatedDataAdapter, DocumentDataAdapter

      public class ListBasedDocumentDataAdapter
      extends EmptyAnnotatedDataAdapter<ConcreteJPhyloIOEvent>
      implements DocumentDataAdapter

  Default implementation of `DocumentDataAdapter`. Instances of this class contain a list for each property (OTU lists, matrices and trees/networks), which can be filled by the application with their according adapter instances.

  If documents with many elements (e.g. many trees) shall be written, application developers may choose to overwrite the according iterator property and return an iterator that directly accesses their application business model for performance reasons. (Otherwise a large list would have to be stored in this instance, which probably is a copy of an according list in the application business model.)

  Since:
    0.0.0
  Author:
    Ben Stöver

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ListBasedDocumentDataAdapter()` Creates a new instance of this class with empty array lists for all properties.
    `ListBasedDocumentDataAdapter(org.apache.commons.collections4.map.ListOrderedMap<java.lang.String,OTUListDataAdapter> otusMap, java.util.List<MatrixDataAdapter> matrices, java.util.List<TreeNetworkGroupDataAdapter> treeNetworkGroups)` Creates a new instance of this class using the specified lists.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<MatrixDataAdapter>` | `getMatrices()`
    `java.util.Iterator<MatrixDataAdapter>` | `getMatrixIterator(ReadWriteParameterMap parameters)` Returns an iterator providing access to all matrices contained in the document to be written.
    `OTUListDataAdapter` | `getOTUList(ReadWriteParameterMap parameters, java.lang.String id)` Returns the OTU list referenced by the specified ID.
    `long` | `getOTUListCount(ReadWriteParameterMap parameters)` Returns the number of OTU lists provided by this document adapter.
    `java.util.Iterator<OTUListDataAdapter>` | `getOTUListIterator(ReadWriteParameterMap parameters)` Returns an iterator providing access to all OTU lists contained in the document to be written.
    `org.apache.commons.collections4.map.ListOrderedMap<java.lang.String,OTUListDataAdapter>` | `getOTUListsMap()`
    `java.util.Iterator<TreeNetworkGroupDataAdapter>` | `getTreeNetworkGroupIterator(ReadWriteParameterMap parameters)` Returns an iterator providing access to all trees and network groups contained in the document to be written.
    `java.util.List<TreeNetworkGroupDataAdapter>` | `getTreeNetworkGroups()`

    - ### Methods inherited from class info.bioinfweb.jphyloio.dataadapters.implementations.EmptyAnnotatedDataAdapter

      `writeMetadata`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface info.bioinfweb.jphyloio.dataadapters.AnnotatedDataAdapter

      `writeMetadata`

- - ### Constructor Detail

    - #### ListBasedDocumentDataAdapter

          public ListBasedDocumentDataAdapter(org.apache.commons.collections4.map.ListOrderedMap<java.lang.String,OTUListDataAdapter> otusMap,
                                              java.util.List<MatrixDataAdapter> matrices,
                                              java.util.List<TreeNetworkGroupDataAdapter> treeNetworkGroups)

      Creates a new instance of this class using the specified lists. If `null` is specified for a list an empty array list will be created internally for this property.
      Parameters:
        `otuLists` - the ordered map of OTU lists to be used in this instance (or `null` to create a new empty list)
        `matrices` - the list of matrices to be used in this instance (or `null` to create a new empty list)
        `treeNetworkGroups` - the list of trees or networks to be used in this instance (or `null` to create a new empty list)

    - #### ListBasedDocumentDataAdapter

          public ListBasedDocumentDataAdapter()

      Creates a new instance of this class with empty array lists for all properties.

      Using this constructor is equivalent to calling `#ListBasedDocumentDataAdapter(List, List, List)` with only `null` arguments.

  - ### Method Detail

    - #### getOTUListsMap

          public org.apache.commons.collections4.map.ListOrderedMap<java.lang.String,OTUListDataAdapter> getOTUListsMap()

    - #### getMatrices

          public java.util.List<MatrixDataAdapter> getMatrices()

    - #### getTreeNetworkGroups

          public java.util.List<TreeNetworkGroupDataAdapter> getTreeNetworkGroups()

    - #### getOTUListIterator

          public java.util.Iterator<OTUListDataAdapter> getOTUListIterator(ReadWriteParameterMap parameters)

      Description copied from interface: `DocumentDataAdapter`
      Returns an iterator providing access to all OTU lists contained in the document to be written.
      Specified by:
        `getOTUListIterator` in interface `DocumentDataAdapter`
      Parameters:
        `parameters` - the parameter map of the calling writer that provides context information for the data request
      Returns:
        the iterator (May be empty but not `null`.)

    - #### getOTUListCount

          public long getOTUListCount(ReadWriteParameterMap parameters)

      Description copied from interface: `DocumentDataAdapter`
      Returns the number of OTU lists provided by this document adapter.
      Specified by:
        `getOTUListCount` in interface `DocumentDataAdapter`
      Parameters:
        `parameters` - the parameter map of the calling writer that provides context information for the data request
      Returns:
        the number of OTU lists, that will be returned by `DocumentDataAdapter.getOTUListIterator(ReadWriteParameterMap)`

    - #### getOTUList

          public OTUListDataAdapter getOTUList(ReadWriteParameterMap parameters,
                                               java.lang.String id)
                                        throws java.lang.IllegalArgumentException

      Description copied from interface: `DocumentDataAdapter`
      Returns the OTU list referenced by the specified ID.
      Specified by:
        `getOTUList` in interface `DocumentDataAdapter`
      Parameters:
        `parameters` - the parameter map of the calling writer that provides context information for the data request
        `id` - the ID of the OTU list to be returned
      Returns:
        the OTU list referenced by the specified ID
      Throws:
        `java.lang.IllegalArgumentException` - if no OTU list with the specified ID is available

    - #### getMatrixIterator

          public java.util.Iterator<MatrixDataAdapter> getMatrixIterator(ReadWriteParameterMap parameters)

      Description copied from interface: `DocumentDataAdapter`
      Returns an iterator providing access to all matrices contained in the document to be written.
      Specified by:
        `getMatrixIterator` in interface `DocumentDataAdapter`
      Parameters:
        `parameters` - the parameter map of the calling writer that provides context information for the data request
      Returns:
        the iterator (Maybe empty but not `null`.)

    - #### getTreeNetworkGroupIterator

          public java.util.Iterator<TreeNetworkGroupDataAdapter> getTreeNetworkGroupIterator(ReadWriteParameterMap parameters)

      Description copied from interface: `DocumentDataAdapter`
      Returns an iterator providing access to all trees and network groups contained in the document to be written.
      Specified by:
        `getTreeNetworkGroupIterator` in interface `DocumentDataAdapter`
      Parameters:
        `parameters` - the parameter map of the calling writer that provides context information for the data request
      Returns:
        the iterator (Maybe empty but not `null`.)