artisynth.core.modelbase
Class ComponentListImpl<C extends ModelComponent>

java.lang.Object
  extended by artisynth.core.modelbase.ScannableList<C>
      extended by artisynth.core.modelbase.ComponentListImpl<C>
All Implemented Interfaces:
IndexedComponentList, ParameterizedClass<C>, java.lang.Iterable<C>, java.util.Collection<C>, Scannable

public class ComponentListImpl<C extends ModelComponent>
extends ScannableList<C>
implements java.lang.Iterable<C>, IndexedComponentList


Constructor Summary
ComponentListImpl(java.lang.Class<C> type, CompositeComponent comp)
           
 
Method Summary
 boolean add(C comp)
          
 void add(C comp, int idx)
           
 void addComponents(ModelComponent[] comps, int[] indices, int ncomps)
          Returns true if the added components are stateless
 boolean addNumbered(C comp, int number)
           
 void clear()
           
 java.lang.Object clone()
           
 void componentChanged(ComponentChangeEvent e)
           
 C get(java.lang.String nameOrNumber)
           
 C getByNumber(int num)
          get (int idx) is provided by ScannableList
 int getNumberLimit()
           
 int indexOf(ModelComponent comp)
          
 int nextComponentNumber()
           
 int numComponents()
          
 boolean postscanComponent(java.util.Deque<ScanToken> tokens, CompositeComponent ancestor)
           
 C remove(int idx)
           
 boolean remove(java.lang.Object obj)
          
 void removeAll()
           
 boolean removeAll(java.util.Collection<?> objs)
           
 void removeComponents(ModelComponent[] comps, int[] indices, int ncomps)
          Returns true if the added components are stateless
 boolean scanAndStoreComponent(ReaderTokenizer rtok, java.util.Deque<ScanToken> tokens)
           
 boolean scanAndStoreComponentByName(ReaderTokenizer rtok, java.util.Deque<ScanToken> tokens)
           
 void scanBegin()
           
 void scanEnd()
           
 void setNumberingStartAtOne()
           
 void updateNameMap(java.lang.String newName, java.lang.String oldName, ModelComponent comp)
           
 void writeComponentByName(java.io.PrintWriter pw, ModelComponent comp, NumberFormat fmt, CompositeComponent ancestor)
           
 void writeComponents(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor)
           
 void writeComponentsByName(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor)
           
 
Methods inherited from class artisynth.core.modelbase.ScannableList
add, addAll, contains, contains, containsAll, copy, createComponent, ensureCapacity, get, getTypeParameter, hasParameterizedType, isEmpty, isWritable, iterator, retainAll, scan, set, size, toArray, toArray, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Iterable
iterator
 
Methods inherited from interface artisynth.core.modelbase.IndexedComponentList
get
 
Methods inherited from interface java.util.Collection
equals, hashCode
 

Constructor Detail

ComponentListImpl

public ComponentListImpl(java.lang.Class<C> type,
                         CompositeComponent comp)
Method Detail

get

public C get(java.lang.String nameOrNumber)

getByNumber

public C getByNumber(int num)
get (int idx) is provided by ScannableList


numComponents

public int numComponents()

Specified by:
numComponents in interface IndexedComponentList

indexOf

public int indexOf(ModelComponent comp)

Overrides:
indexOf in class ScannableList<C extends ModelComponent>

getNumberLimit

public int getNumberLimit()

componentChanged

public void componentChanged(ComponentChangeEvent e)

updateNameMap

public void updateNameMap(java.lang.String newName,
                          java.lang.String oldName,
                          ModelComponent comp)

nextComponentNumber

public int nextComponentNumber()

add

public boolean add(C comp)

Specified by:
add in interface java.util.Collection<C extends ModelComponent>
Overrides:
add in class ScannableList<C extends ModelComponent>

add

public void add(C comp,
                int idx)

addNumbered

public boolean addNumbered(C comp,
                           int number)

addComponents

public void addComponents(ModelComponent[] comps,
                          int[] indices,
                          int ncomps)
Returns true if the added components are stateless


remove

public boolean remove(java.lang.Object obj)

Specified by:
remove in interface java.util.Collection<C extends ModelComponent>
Overrides:
remove in class ScannableList<C extends ModelComponent>

remove

public C remove(int idx)
Overrides:
remove in class ScannableList<C extends ModelComponent>

removeComponents

public void removeComponents(ModelComponent[] comps,
                             int[] indices,
                             int ncomps)
Returns true if the added components are stateless


removeAll

public void removeAll()

removeAll

public boolean removeAll(java.util.Collection<?> objs)
Specified by:
removeAll in interface java.util.Collection<C extends ModelComponent>
Overrides:
removeAll in class ScannableList<C extends ModelComponent>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<C extends ModelComponent>
Overrides:
clear in class ScannableList<C extends ModelComponent>

setNumberingStartAtOne

public void setNumberingStartAtOne()

writeComponents

public void writeComponents(java.io.PrintWriter pw,
                            NumberFormat fmt,
                            CompositeComponent ancestor)
                     throws java.io.IOException
Throws:
java.io.IOException

writeComponentByName

public void writeComponentByName(java.io.PrintWriter pw,
                                 ModelComponent comp,
                                 NumberFormat fmt,
                                 CompositeComponent ancestor)
                          throws java.io.IOException
Throws:
java.io.IOException

writeComponentsByName

public void writeComponentsByName(java.io.PrintWriter pw,
                                  NumberFormat fmt,
                                  CompositeComponent ancestor)
                           throws java.io.IOException
Throws:
java.io.IOException

scanAndStoreComponentByName

public boolean scanAndStoreComponentByName(ReaderTokenizer rtok,
                                           java.util.Deque<ScanToken> tokens)
                                    throws java.io.IOException
Throws:
java.io.IOException

scanBegin

public void scanBegin()

scanEnd

public void scanEnd()

scanAndStoreComponent

public boolean scanAndStoreComponent(ReaderTokenizer rtok,
                                     java.util.Deque<ScanToken> tokens)
                              throws java.io.IOException
Throws:
java.io.IOException

postscanComponent

public boolean postscanComponent(java.util.Deque<ScanToken> tokens,
                                 CompositeComponent ancestor)
                          throws java.io.IOException
Throws:
java.io.IOException

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException