Package 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
  Description
  `static final String`
  `_FeatName_fsArray`
  `static final String`
  `_TypeName`
  `static final int`
  `type`
  `static final 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
  Description
  `protected`
  `FSArrayList()`
  Never called.
  ``
  `FSArrayList(TypeImpl type, CASImpl casImpl)`
  Internal - constructor used by generator
  ``
  `FSArrayList(JCas jcas)`
  ``
  `FSArrayList(JCas jcas, int length)`
  Make a new ArrayList with an initial size .

- ## Method Summary

  Modifier and Type
  Method
  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(int index, Collection<? extends T> c)`
  `boolean`
  `addAll(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 java.util.Collection

  `toArray`

  ### 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`

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

  `_reset_cas_data, clone`

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

  `_save_fsRefs_to_cas_data`

- ## Field Details

  - ### _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 Details

  - ### 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 Details

  - ### 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 `CommonArrayFS<T extends TOP>`
    Specified by:
      `size` in interface `List<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 `CommonArrayFS<T extends TOP>`
    Specified by:
      `isEmpty` in interface `List<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 `FeatureStructure`
    Specified by:
      `equals` in interface `List<T extends TOP>`
    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 `FeatureStructure`
    Specified by:
      `hashCode` in interface `List<T extends TOP>`
    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 `Collection<T extends TOP>`
    Specified by:
      `iterator` in interface `Iterable<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 `Collection<T extends TOP>`
    Specified by:
      `spliterator` in interface `Iterable<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>`