info.bioinfweb.jphyloio.formats.nexml.elementreader

## Class AbstractSetElementReader

- java.lang.Object
- - info.bioinfweb.jphyloio.formats.xml.elementreaders.AbstractXMLElementReader<NeXMLReaderStreamDataProvider>
  - - info.bioinfweb.jphyloio.formats.nexml.elementreader.AbstractNeXMLElementReader
    - - info.bioinfweb.jphyloio.formats.nexml.elementreader.AbstractSetElementReader

- All Implemented Interfaces:
    NeXMLConstants, XMLElementReader<NeXMLReaderStreamDataProvider>, ReadWriteConstants
  Direct Known Subclasses:
    AbstractIDLinkSetElementReader

      public abstract class AbstractSetElementReader
      extends AbstractNeXMLElementReader

  Abstract element reader that processes NeXML set tags that contain one or more attributes of the type `xs:IDREFS`.
  Since:
    0.0.0
  Author:
    Ben Stöver

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class info.bioinfweb.jphyloio.formats.nexml.elementreader.AbstractNeXMLElementReader

      `AbstractNeXMLElementReader.LabeledIDEventInformation, AbstractNeXMLElementReader.OTUorOTUsEventInformation`

  - ### Field Summary

    - ### Fields inherited from interface info.bioinfweb.jphyloio.formats.nexml.NeXMLConstants

      `ATTR_ABOUT, ATTR_CELL_SET_LINKED_IDS, ATTR_CHAR_SET_LINKED_IDS, ATTR_CODON_POSITION, ATTR_CONTENT, ATTR_DATATYPE, ATTR_GENERATOR, ATTR_HREF, ATTR_ID, ATTR_LABEL, ATTR_LENGTH, ATTR_NODE_EDGE_SET_LINKED_EDGE_IDS, ATTR_NODE_EDGE_SET_LINKED_NODE_IDS, ATTR_NODE_EDGE_SET_LINKED_ROOTEDGE_IDS, ATTR_OTU_SET_LINKED_IDS, ATTR_OTUS, ATTR_PROPERTY, ATTR_REL, ATTR_ROOT, ATTR_SEQUENCE_SET_LINKED_IDS, ATTR_SINGLE_CHAR_LINK, ATTR_SINGLE_OTU_LINK, ATTR_SINGLE_STATE_LINK, ATTR_SOURCE, ATTR_STATE_SET_LINKED_IDS, ATTR_STATES, ATTR_SYMBOL, ATTR_TARGET, ATTR_TOKENS, ATTR_TREE_SET_LINKED_NETWORK_IDS, ATTR_TREE_SET_LINKED_TREE_IDS, ATTR_VERSION, ATTR_XSI_TYPE, DEFAULT_TOKEN_DEFINITION_SET_ID_PREFIX, NEXML_DEFAULT_NAMESPACE_PREFIX, NEXML_FORMAT_NAME, NEXML_NAMESPACE, NEXML_NAMESPACE_PREFIX, NEXML_PREDICATE_NAMESPACE, NEXML_VERSION, PREDICATE_CHAR_ATTR_CODON_POSITION, PREDICATE_CHAR_ATTR_TOKENS, PREDICATE_FORMAT, PREDICATE_MATRIX, PREDICATE_ORIGINAL_LABEL, PREDICATE_ORIGINAL_TOKEN_NAME, TAG_CELL, TAG_CHAR, TAG_CHARACTERS, TAG_EDGE, TAG_FORMAT, TAG_MATRIX, TAG_MEMBER, TAG_META, TAG_NETWORK, TAG_NODE, TAG_OTU, TAG_OTUS, TAG_POLYMORPHIC, TAG_ROOT, TAG_ROOTEDGE, TAG_ROW, TAG_SEQ, TAG_SET, TAG_STATE, TAG_STATES, TAG_TREE, TAG_TREES, TAG_UNCERTAIN, TYPE_CONTIN_CELLS, TYPE_CONTIN_SEQ, TYPE_DNA_CELLS, TYPE_DNA_SEQS, TYPE_FLOAT_NETWORK, TYPE_FLOAT_TREE, TYPE_INT_NETWORK, TYPE_INT_TREE, TYPE_LITERAL_META, TYPE_PROTEIN_CELLS, TYPE_PROTEIN_SEQS, TYPE_RESOURCE_META, TYPE_RESTRICTION_CELLS, TYPE_RESTRICTION_SEQS, TYPE_RNA_CELLS, TYPE_RNA_SEQS, TYPE_STANDARD_CELLS, TYPE_STANDARD_SEQ, UNDEFINED_OTU_ID_PREFIX, UNDEFINED_OTU_LABEL, UNDEFINED_OTUS_ID_PREFIX, UNDEFINED_OTUS_LABEL`

    - ### Fields inherited from interface info.bioinfweb.jphyloio.ReadWriteConstants

      `ATTRIBUTE_STRING_KEY, ATTRIBUTES_NAMESPACE_FOLDER, DATA_TYPE_NAMESPACE_FOLDER, DATA_TYPE_SIMPLE_VALUE_LIST, DEFAULT_CHAR_SET_ID_PREFIX, DEFAULT_CHARACTER_DEFINITION_ID_PREFIX, DEFAULT_EDGE_ID_PREFIX, DEFAULT_GENERAL_ID_PREFIX, DEFAULT_MATRIX_ID_PREFIX, DEFAULT_MAX_COMMENT_LENGTH, DEFAULT_MAX_TOKENS_TO_READ, DEFAULT_META_ID_PREFIX, DEFAULT_NETWORK_ID_PREFIX, DEFAULT_NODE_EDGE_SET_ID_PREFIX, DEFAULT_NODE_ID_PREFIX, DEFAULT_OTU_ID_PREFIX, DEFAULT_OTU_LIST_ID_PREFIX, DEFAULT_OTU_SET_ID_PREFIX, DEFAULT_SEQUENCE_ID_PREFIX, DEFAULT_SEQUENCE_SET_ID_PREFIX, DEFAULT_TOKEN_DEFINITION_ID_PREFIX, DEFAULT_TOKEN_SET_ID_PREFIX, DEFAULT_TREE_ID_PREFIX, DEFAULT_TREE_NETWORK_GROUP_ID_PREFIX, DEFAULT_TREE_NETWORK_SET_ID_PREFIX, JPHYLOIO_ATTRIBUTES_NAMESPACE, JPHYLOIO_ATTRIBUTES_PREFIX, JPHYLOIO_DATA_TYPE_NAMESPACE, JPHYLOIO_DATA_TYPE_PREFIX, JPHYLOIO_FORMATS_NAMESPACE_PREFIX, JPHYLOIO_GENERAL_NAMESPACE, JPHYLOIO_NAMESPACE_PREFIX, JPHYLOIO_PREDICATE_NAMESPACE, JPHYLOIO_PREDICATE_PREFIX, PREDICATE_CHARACTER_COUNT, PREDICATE_EDGE_LENGTH, PREDICATE_EDGE_SOURCE_NODE, PREDICATE_EDGE_TARGET_NODE, PREDICATE_HAS_CUSTOM_XML, PREDICATE_HAS_LITERAL_METADATA, PREDICATE_HAS_RESOURCE_METADATA, PREDICATE_IS_CROSSLINK, PREDICATE_NAMESPACE_FOLDER, PREDICATE_PART_SEPERATOR, PREDICATE_SEQUENCE_COUNT, RESERVED_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractSetElementReader(EventContentType setType, EventContentType linkedIDType, javax.xml.namespace.QName... linkedIDsAttributes)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `EventContentType` | `getSetType()`
    `protected abstract void` | `processIDs(NeXMLReaderStreamDataProvider streamDataProvider, java.lang.String[] linkedIDs, javax.xml.namespace.QName attribute)` Method that is called to process a list of IDs that has been found in an according attribute of the tag processed by this instance.
    `void` | `readEvent(NeXMLReaderStreamDataProvider streamDataProvider, javax.xml.stream.events.XMLEvent event)`

    - ### Methods inherited from class info.bioinfweb.jphyloio.formats.nexml.elementreader.AbstractNeXMLElementReader

      `createIntervalEvents, getLabeledIDEventInformation, getOTUorOTUsEventInformation, parseStateMeaning, readSequence`

    - ### Methods inherited from class info.bioinfweb.jphyloio.formats.xml.elementreaders.AbstractXMLElementReader

      `readAttributes, readAttributes`

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

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

- - ### Constructor Detail

    - #### AbstractSetElementReader

          protected AbstractSetElementReader(EventContentType setType,
                                             EventContentType linkedIDType,
                                             javax.xml.namespace.QName... linkedIDsAttributes)

  - ### Method Detail

    - #### getSetType

          public EventContentType getSetType()

    - #### readEvent

          public void readEvent(NeXMLReaderStreamDataProvider streamDataProvider,
                                javax.xml.stream.events.XMLEvent event)
                         throws java.io.IOException,
                                javax.xml.stream.XMLStreamException

      Throws:
        `java.io.IOException`
        `javax.xml.stream.XMLStreamException`

    - #### processIDs

          protected abstract void processIDs(NeXMLReaderStreamDataProvider streamDataProvider,
                                             java.lang.String[] linkedIDs,
                                             javax.xml.namespace.QName attribute)
                                      throws JPhyloIOReaderException,
                                             javax.xml.stream.XMLStreamException

      Method that is called to process a list of IDs that has been found in an according attribute of the tag processed by this instance.
      Parameters:
        `streamDataProvider` - the stream data provider of the associated event reader
        `linkedIDs` - the list of IDs linked by the read tag
        `attribute` - the attribute that contained the linked IDs
      Throws:
        `JPhyloIOReaderException`
        `javax.xml.stream.XMLStreamException`