Class RMShapeAnim.RecordList

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, java.util.RandomAccess
    Enclosing class:
    RMShapeAnim

    public class RMShapeAnim.RecordList
    extends java.util.ArrayList
    An inner class to represent a List of Records for a given attribute.
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Constructor Summary

      Constructors 
      Constructor Description
      RecordList​(RMShapeAnim anAnim, java.lang.String anAttr)
      Creates a new record list for anim and attribute name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addRecord​(float aTime, java.lang.Object aValue)
      Adds a new time/value pair.
      void addRecord​(RMShapeAnim.Record aRec, boolean ensurePrevious)
      Adds a new time/value pair, installing a preview value if needed.
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      RMShapeAnim getAnim()
      Returns the anim for this record list.
      java.lang.String getAttribute()
      Returns the attribute name for this record list.
      RMShapeAnim.Record getRecord​(int anIndex)
      Returns the specific record at the given index.
      RMShapeAnim.Record getRecordAtTime​(float aTime)
      Returns the specific record at the given time.
      RMShape getShape()
      Returns the shape for this attribute record list.
      java.lang.Object remove​(int anIndex)
      Removes the specific record at the given index.
      void removeRecordAtTime​(float aTime)
      Removes the specific record at a given time (if it exists).
      void removeRecordsBetweenTimes​(float startTime, float endTime, boolean inclusive)
      Removes any records between the given two times (not inclusive).
      void scaleRecords​(float start, float length, float newLength)
      This method scales all records from a given start time through a length to a new length.
      void setTime​(float aTime)
      Updates the record list shape for the given time.
      void shiftRecords​(float fromTime, float byTime)
      This method shifts all records at or beyond a given time by the given amount.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, stream, toArray
      • Methods inherited from interface java.util.List

        containsAll
    • Constructor Detail

      • RecordList

        public RecordList​(RMShapeAnim anAnim,
                          java.lang.String anAttr)
        Creates a new record list for anim and attribute name.
    • Method Detail

      • getShape

        public RMShape getShape()
        Returns the shape for this attribute record list.
      • getAnim

        public RMShapeAnim getAnim()
        Returns the anim for this record list.
      • getAttribute

        public java.lang.String getAttribute()
        Returns the attribute name for this record list.
      • getRecord

        public RMShapeAnim.Record getRecord​(int anIndex)
        Returns the specific record at the given index.
      • getRecordAtTime

        public RMShapeAnim.Record getRecordAtTime​(float aTime)
        Returns the specific record at the given time.
      • addRecord

        public void addRecord​(float aTime,
                              java.lang.Object aValue)
        Adds a new time/value pair.
      • addRecord

        public void addRecord​(RMShapeAnim.Record aRec,
                              boolean ensurePrevious)
        Adds a new time/value pair, installing a preview value if needed.
      • remove

        public java.lang.Object remove​(int anIndex)
        Removes the specific record at the given index.
        Specified by:
        remove in interface java.util.List
        Overrides:
        remove in class java.util.ArrayList
      • removeRecordAtTime

        public void removeRecordAtTime​(float aTime)
        Removes the specific record at a given time (if it exists).
      • removeRecordsBetweenTimes

        public void removeRecordsBetweenTimes​(float startTime,
                                              float endTime,
                                              boolean inclusive)
        Removes any records between the given two times (not inclusive).
      • shiftRecords

        public void shiftRecords​(float fromTime,
                                 float byTime)
        This method shifts all records at or beyond a given time by the given amount.
      • scaleRecords

        public void scaleRecords​(float start,
                                 float length,
                                 float newLength)
        This method scales all records from a given start time through a length to a new length.
      • setTime

        public void setTime​(float aTime)
        Updates the record list shape for the given time.
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Specified by:
        equals in interface java.util.Collection
        Specified by:
        equals in interface java.util.List
        Overrides:
        equals in class java.util.ArrayList