org.apache.uima.jcas.cas

## Class FSArrayList<T extends TOP>

- java.lang.Object
- - org.apache.uima.cas.impl.FeatureStructureImplC
  - - org.apache.uima.jcas.cas.TOP
    - - org.apache.uima.jcas.cas.FSArrayList<T>

- Type Parameters:
    `T` - the generic type
  All Implemented Interfaces:
    Cloneable, Iterable<T>, Collection<T>, List<T>, RandomAccess, CommonArrayFS<T>, FeatureStructure, FeatureStructureImpl, SelectViaCopyToArray<T>, UimaSerializable, UimaSerializableFSs

      public class FSArrayList<T extends TOP>
      extends TOP
      implements UimaSerializableFSs, CommonArrayFS<T>, SelectViaCopyToArray<T>, List<T>, RandomAccess, Cloneable

  An ArrayList type containing Feature Structures, for UIMA

  - Has all the methods of List
  - Implements the select(...) APIs

  Implementation notes:

  - Uses UimaSerializable APIs
  - two implementations of the array list:
    - one uses the original FSArray, via an asList wrapper
    - This is used until an add or remove operation;
    - switches to ArrayList, resetting the original FSArray to null
  - This enables operation without creating the Java Object in use cases of deserializing and referencing when updating is not being used.
  - The values stored internally are non-PEAR ones.
  - The get/set/add operations convert to/from PEAR ones as needed

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.uima.cas.impl.FeatureStructureImplC

      `FeatureStructureImplC.PrintReferences`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `_FeatName_fsArray`
    `static String` | `_TypeName`
    `static int` | `type`
    `static int` | `typeIndexID`

    - ### Fields inherited from class org.apache.uima.jcas.cas.TOP

      `_singleton`

    - ### Fields inherited from class org.apache.uima.cas.impl.FeatureStructureImplC

      `_casView, _id, DISABLE_RUNTIME_FEATURE_VALIDATION, DISABLE_RUNTIME_FEATURE_VALUE_VALIDATION, IS_ENABLE_RUNTIME_FEATURE_VALIDATION, IS_ENABLE_RUNTIME_FEATURE_VALUE_VALIDATION, IS_V2_PRETTY_PRINT, V2_PRETTY_PRINT`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `FSArrayList()` Never called.
    `` | `FSArrayList(JCas jcas)`
    `` | `FSArrayList(JCas jcas, int length)` Make a new ArrayList with an initial size .
    `` | `FSArrayList(TypeImpl type, CASImpl casImpl)` Internal - constructor used by generator

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `_init_from_cas_data()`
    `void` | `_save_to_cas_data()` This method is called by the framework before serialization of an instance of this JCas class.
    `FeatureStructureImplC` | `_superClone()`
    `FeatureStructure[]` | `_toArrayForSelect()`
    `void` | `add(int index, T element)`
    `boolean` | `add(T e)`
    `boolean` | `addAll(Collection<? extends T> c)`
    `boolean` | `addAll(int index, Collection<? extends T> c)`
    `void` | `clear()`
    `boolean` | `contains(Object o)`
    `boolean` | `containsAll(Collection<?> c)`
    `<E extends FeatureStructure> void` | `copyFromArray(E[] src, int srcPos, int destPos, int length)` Copy from array.
    `void` | `copyFromArray(String[] src, int srcPos, int destPos, int length)` Not supported, will throw UnsupportedOperationException.
    `<E extends FeatureStructure> void` | `copyToArray(int srcPos, E[] dest, int destPos, int length)` Copy to array.
    `void` | `copyToArray(int srcPos, String[] dest, int destPos, int length)` Copies an array of Feature Structures to an Array of Strings.
    `void` | `copyValuesFrom(CommonArrayFS v)` Copy values from another array of the same kind
    `static <E extends TOP,F extends FeatureStructure> FSArrayList<E>` | `create(JCas jcas, F[] a)` Convenience - create a FSArrayList from an existing Array.
    `boolean` | `equals(Object o)` A feature structure is equal to another feature structure iff it is identical in the underlying representation.
    `void` | `forEach(Consumer<? super T> action)`
    `T` | `get(int i)`
    `int` | `getTypeIndexID()`
    `int` | `hashCode()` Will return a hash code that's consistent with equality, i.e., if two FSs are equal, they will also return the same hash code.
    `int` | `indexOf(Object o)`
    `boolean` | `isEmpty()`
    `Iterator<T>` | `iterator()`
    `int` | `lastIndexOf(Object o)`
    `ListIterator<T>` | `listIterator()`
    `ListIterator<T>` | `listIterator(int index)`
    `Stream<T>` | `parallelStream()`
    `T` | `remove(int index)`
    `boolean` | `remove(Object o)`
    `boolean` | `removeAll(Collection<?> c)`
    `boolean` | `removeIf(Predicate<? super T> filter)`
    `void` | `replaceAll(UnaryOperator<T> operator)`
    `boolean` | `retainAll(Collection<?> c)`
    `T` | `set(int i, T v)` updates the i-th value of the FSArrayList.
    `int` | `size()` return the size of the array.
    `void` | `sort(Comparator<? super T> c)`
    `Spliterator<T>` | `spliterator()`
    `Stream<T>` | `stream()`
    `List<T>` | `subList(int fromIndex, int toIndex)`
    `TOP[]` | `toArray()` returns TOP[] because can't make array of T Note: converts to pear trampolines.
    `<U> U[]` | `toArray(U[] a)`
    `String` | `toString()`

    - ### Methods inherited from class org.apache.uima.jcas.cas.TOP

      `_createJCasHashMapReserve, _createSearchKey`

    - ### Methods inherited from class org.apache.uima.cas.impl.FeatureStructureImplC

      `_copyIntAndRefArraysEqTypesFrom, _copyIntAndRefArraysFrom, _copyIntArrayEqTypesFrom, _getBooleanValueNc, _getBooleanValueNc, _getByteValueNc, _getByteValueNc, _getDoubleValueNc, _getDoubleValueNc, _getFeatFromAdjOffset, _getFeatureValueNc, _getFeatureValueNc, _getFloatValueNc, _getFloatValueNc, _getIntLikeValue, _getIntValueNc, _getIntValueNc, _getLongValueNc, _getLongValueNc, _getRefValueCommon, _getShortValueNc, _getShortValueNc, _getStringValueNc, _getStringValueNc, _getTypeCode, _getTypeImpl, _getView, _id, _inSetSortedIndex, _isJCasHashMapReserve, _isPearTrampoline, _maybeGetBaseForPearFs, _maybeGetBaseForPearFs, _maybeGetPearFs, _maybeGetPearFs, _resetInSetSortedIndex, _setBooleanValueNcNj, _setBooleanValueNcNj, _setBooleanValueNfc, _setByteValueNcNj, _setByteValueNcNj, _setByteValueNfc, _setDoubleValueNcNj, _setDoubleValueNcNj, _setDoubleValueNfc, _setFeatureValueNcNj, _setFeatureValueNcNj, _setFeatureValueNcWj, _setFloatValueNcNj, _setFloatValueNcNj, _setFloatValueNfc, _setInSetSortedIndexed, _setIntLikeValue, _setIntLikeValueNcNj, _setIntValueCJ, _setIntValueNcNj, _setIntValueNcNj, _setIntValueNfc, _setIntValueNfcCJ, _setJCasHashMapReserve, _setLongValueCJ, _setLongValueNcNj, _setLongValueNcNj, _setLongValueNfc, _setLongValueNfcCJ, _setPearTrampoline, _setRefValueCJ, _setRefValueCommon, _setRefValueCommonWj, _setRefValueNfcCJ, _setShortValueNcNj, _setShortValueNcNj, _setShortValueNfc, _setStringValueNcNj, _setStringValueNcWj, _setStringValueNfc, _setTypeImpl, addStringOrPrimitive, addToIndexes, addToIndexes, addToIndexes, clone, compare, getAddress, getBooleanValue, getByteValue, getCAS, getCASImpl, getDoubleValue, getFeatureValue, getFeatureValueAsString, getFloatValue, getIntValue, getLongValue, getLowLevelCas, getShortValue, getStringValue, getType, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrintShort, removeFromIndexes, removeFromIndexes, removeFromIndexes, setBooleanValue, setByteValue, setDoubleValue, setFeatureValue, setFeatureValueFromString, setFloatValue, setIntValue, setLongValue, setShortValue, setStringValue, toShortString, toString, wrapGetIntCatchException`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.uima.UimaSerializableFSs

      `_save_fsRefs_to_cas_data`

    - ### Methods inherited from interface org.apache.uima.UimaSerializable

      `_reset_cas_data, clone`

    - ### Methods inherited from interface org.apache.uima.cas.CommonArrayFS

      `getValuesAsCommaSeparatedString, toStringArray`

    - ### Methods inherited from interface org.apache.uima.cas.FeatureStructure

      `_getTypeCode, _id, clone, getAddress, getBooleanValue, getByteValue, getCAS, getDoubleValue, getFeatureValue, getFeatureValueAsString, getFloatValue, getIntValue, getJCas, getLongValue, getShortValue, getStringValue, getType, setBooleanValue, setByteValue, setDoubleValue, setFeatureValue, setFeatureValueFromString, setFloatValue, setIntValue, setLongValue, setShortValue, setStringValue`

    - ### Methods inherited from interface org.apache.uima.jcas.cas.SelectViaCopyToArray

      `_getView, select, select, select, select, select`

- - ### Field Detail

    - #### _TypeName

          public static final String _TypeName

      See Also:
        Constant Field Values

    - #### typeIndexID

          public static final int typeIndexID

    - #### type

          public static final int type

    - #### _FeatName_fsArray

          public static final String _FeatName_fsArray

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### FSArrayList

          protected FSArrayList()

      Never called. Disable default constructor

    - #### FSArrayList

          public FSArrayList(TypeImpl type,
                             CASImpl casImpl)

      Internal - constructor used by generator
      Parameters:
        `casImpl` - the CAS this Feature Structure belongs to
        `type` - the type of this Feature Structure

    - #### FSArrayList

          public FSArrayList(JCas jcas)

      Parameters:
        `jcas` - JCas to which this Feature Structure belongs

    - #### FSArrayList

          public FSArrayList(JCas jcas,
                             int length)

      Make a new ArrayList with an initial size .
      Parameters:
        `jcas` - The JCas
        `length` - initial size

  - ### Method Detail

    - #### getTypeIndexID

          public int getTypeIndexID()

      Overrides:
        `getTypeIndexID` in class `TOP`
      Returns:
        index of the type

    - #### _init_from_cas_data

          public void _init_from_cas_data()

      Specified by:
        `_init_from_cas_data` in interface `UimaSerializable`

    - #### _save_to_cas_data

          public void _save_to_cas_data()

      Description copied from interface: `UimaSerializable`
      This method is called by the framework before serialization of an instance of this JCas class. The implementation should save whatever data is needed into Features of this JCas class that can be serialized by UIMA.
      Specified by:
        `_save_to_cas_data` in interface `UimaSerializable`

    - #### get

          public T get(int i)

      Specified by:
        `get` in interface `List<T extends TOP>`

    - #### set

          public T set(int i,
                       T v)

      updates the i-th value of the FSArrayList.
      Specified by:
        `set` in interface `List<T extends TOP>`
      Parameters:
        `i` - the i
        `v` - the v
      Returns:
        the t

    - #### size

          public int size()

      return the size of the array.
      Specified by:
        `size` in interface `Collection<T extends TOP>`
      Specified by:
        `size` in interface `List<T extends TOP>`
      Specified by:
        `size` in interface `CommonArrayFS<T extends TOP>`
      Returns:
        the int

    - #### copyFromArray

          public <E extends FeatureStructure> void copyFromArray(E[] src,
                                                                 int srcPos,
                                                                 int destPos,
                                                                 int length)

      Copy from array.
      Type Parameters:
        `E` - the type of the source array being copied from
      Parameters:
        `src` - -
        `srcPos` - -
        `destPos` - -
        `length` - -
      See Also:
        `ArrayFS.copyFromArray(FeatureStructure[], int, int, int)`

    - #### copyToArray

          public <E extends FeatureStructure> void copyToArray(int srcPos,
                                                               E[] dest,
                                                               int destPos,
                                                               int length)

      Copy to array.
      Type Parameters:
        `E` - the type of the elements of the Array being copied into
      Parameters:
        `srcPos` - -
        `dest` - -
        `destPos` - -
        `length` - -
      See Also:
        `ArrayFS.copyToArray(int, FeatureStructure[], int, int)`

    - #### toArray

          public TOP[] toArray()

      returns TOP[] because can't make array of T Note: converts to pear trampolines.
      Specified by:
        `toArray` in interface `Collection<T extends TOP>`
      Specified by:
        `toArray` in interface `List<T extends TOP>`

    - #### _toArrayForSelect

          public FeatureStructure[] _toArrayForSelect()

      Specified by:
        `_toArrayForSelect` in interface `SelectViaCopyToArray<T extends TOP>`

    - #### copyFromArray

          public void copyFromArray(String[] src,
                                    int srcPos,
                                    int destPos,
                                    int length)

      Not supported, will throw UnsupportedOperationException.
      Specified by:
        `copyFromArray` in interface `CommonArrayFS<T extends TOP>`
      Parameters:
        `src` - the src
        `srcPos` - the src pos
        `destPos` - the dest pos
        `length` - the length

    - #### copyToArray

          public void copyToArray(int srcPos,
                                  String[] dest,
                                  int destPos,
                                  int length)

      Copies an array of Feature Structures to an Array of Strings. The strings are the "toString()" representation of the feature structures. If in Pear context, the Pear form is used.
      Specified by:
        `copyToArray` in interface `CommonArrayFS<T extends TOP>`
      Parameters:
        `srcPos` - The index of the first element to copy.
        `dest` - The array to copy to.
        `destPos` - Where to start copying into `dest`.
        `length` - The number of elements to copy.
      Throws:
        `ArrayIndexOutOfBoundsException` - If `srcPos < 0` or `length > size()` or `destPos + length > destArray.length`.

    - #### copyValuesFrom

          public void copyValuesFrom(CommonArrayFS v)

      Description copied from interface: `CommonArrayFS`
      Copy values from another array of the same kind
      Specified by:
        `copyValuesFrom` in interface `CommonArrayFS<T extends TOP>`
      Parameters:
        `v` - the other array

    - #### create

          public static <E extends TOP,F extends FeatureStructure> FSArrayList<E> create(JCas jcas,
                                                                                         F[] a)

      Convenience - create a FSArrayList from an existing Array.
      Type Parameters:
        `E` - generic type of returned FS
        `F` - generic type of the elements of the array argument
      Parameters:
        `jcas` - -
        `a` - -
      Returns:
        -

    - #### _superClone

          public FeatureStructureImplC _superClone()

      Specified by:
        `_superClone` in interface `UimaSerializable`

    - #### containsAll

          public boolean containsAll(Collection<?> c)

      Specified by:
        `containsAll` in interface `Collection<T extends TOP>`
      Specified by:
        `containsAll` in interface `List<T extends TOP>`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `Collection<T extends TOP>`
      Specified by:
        `isEmpty` in interface `List<T extends TOP>`
      Specified by:
        `isEmpty` in interface `CommonArrayFS<T extends TOP>`
      Returns:
        true if the array is empty

    - #### contains

          public boolean contains(Object o)

      Specified by:
        `contains` in interface `Collection<T extends TOP>`
      Specified by:
        `contains` in interface `List<T extends TOP>`

    - #### indexOf

          public int indexOf(Object o)

      Specified by:
        `indexOf` in interface `List<T extends TOP>`

    - #### lastIndexOf

          public int lastIndexOf(Object o)

      Specified by:
        `lastIndexOf` in interface `List<T extends TOP>`

    - #### toArray

          public <U> U[] toArray(U[] a)

      Specified by:
        `toArray` in interface `Collection<T extends TOP>`
      Specified by:
        `toArray` in interface `List<T extends TOP>`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `FeatureStructureImplC`

    - #### add

          public boolean add(T e)

      Specified by:
        `add` in interface `Collection<T extends TOP>`
      Specified by:
        `add` in interface `List<T extends TOP>`

    - #### equals

          public boolean equals(Object o)

      Description copied from interface: `FeatureStructure`
      A feature structure is equal to another feature structure iff it is identical in the underlying representation.
      Specified by:
        `equals` in interface `Collection<T extends TOP>`
      Specified by:
        `equals` in interface `List<T extends TOP>`
      Specified by:
        `equals` in interface `FeatureStructure`
      Overrides:
        `equals` in class `FeatureStructureImplC`

    - #### add

          public void add(int index,
                          T element)

      Specified by:
        `add` in interface `List<T extends TOP>`

    - #### remove

          public T remove(int index)

      Specified by:
        `remove` in interface `List<T extends TOP>`

    - #### remove

          public boolean remove(Object o)

      Specified by:
        `remove` in interface `Collection<T extends TOP>`
      Specified by:
        `remove` in interface `List<T extends TOP>`

    - #### hashCode

          public int hashCode()

      Description copied from interface: `FeatureStructure`
      Will return a hash code that's consistent with equality, i.e., if two FSs are equal, they will also return the same hash code.
      Specified by:
        `hashCode` in interface `Collection<T extends TOP>`
      Specified by:
        `hashCode` in interface `List<T extends TOP>`
      Specified by:
        `hashCode` in interface `FeatureStructure`
      Overrides:
        `hashCode` in class `FeatureStructureImplC`
      Returns:
        The hash code.

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Collection<T extends TOP>`
      Specified by:
        `clear` in interface `List<T extends TOP>`

    - #### addAll

          public boolean addAll(Collection<? extends T> c)

      Specified by:
        `addAll` in interface `Collection<T extends TOP>`
      Specified by:
        `addAll` in interface `List<T extends TOP>`

    - #### addAll

          public boolean addAll(int index,
                                Collection<? extends T> c)

      Specified by:
        `addAll` in interface `List<T extends TOP>`

    - #### removeAll

          public boolean removeAll(Collection<?> c)

      Specified by:
        `removeAll` in interface `Collection<T extends TOP>`
      Specified by:
        `removeAll` in interface `List<T extends TOP>`

    - #### retainAll

          public boolean retainAll(Collection<?> c)

      Specified by:
        `retainAll` in interface `Collection<T extends TOP>`
      Specified by:
        `retainAll` in interface `List<T extends TOP>`

    - #### stream

          public Stream<T> stream()

      Specified by:
        `stream` in interface `Collection<T extends TOP>`

    - #### parallelStream

          public Stream<T> parallelStream()

      Specified by:
        `parallelStream` in interface `Collection<T extends TOP>`

    - #### listIterator

          public ListIterator<T> listIterator(int index)

      Specified by:
        `listIterator` in interface `List<T extends TOP>`

    - #### listIterator

          public ListIterator<T> listIterator()

      Specified by:
        `listIterator` in interface `List<T extends TOP>`

    - #### iterator

          public Iterator<T> iterator()

      Specified by:
        `iterator` in interface `Iterable<T extends TOP>`
      Specified by:
        `iterator` in interface `Collection<T extends TOP>`
      Specified by:
        `iterator` in interface `List<T extends TOP>`

    - #### subList

          public List<T> subList(int fromIndex,
                                 int toIndex)

      Specified by:
        `subList` in interface `List<T extends TOP>`

    - #### forEach

          public void forEach(Consumer<? super T> action)

      Specified by:
        `forEach` in interface `Iterable<T extends TOP>`

    - #### spliterator

          public Spliterator<T> spliterator()

      Specified by:
        `spliterator` in interface `Iterable<T extends TOP>`
      Specified by:
        `spliterator` in interface `Collection<T extends TOP>`
      Specified by:
        `spliterator` in interface `List<T extends TOP>`

    - #### removeIf

          public boolean removeIf(Predicate<? super T> filter)

      Specified by:
        `removeIf` in interface `Collection<T extends TOP>`

    - #### replaceAll

          public void replaceAll(UnaryOperator<T> operator)

      Specified by:
        `replaceAll` in interface `List<T extends TOP>`

    - #### sort

          public void sort(Comparator<? super T> c)

      Specified by:
        `sort` in interface `List<T extends TOP>`

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.