org.shapelogic.streams
Interface ListStream<E>

All Superinterfaces:
CalcValue<E>, java.lang.Iterable<E>, java.util.Iterator<E>, LazyCalc<E>, NumberedStream<E>, Stream<E>
All Known Subinterfaces:
ListFilterStream<E>
All Known Implementing Classes:
AddListStream, AndListStream, BaseListCommonStream, BaseListFilterStream, BaseListFilterTransformerStream, BaseListIndexedStream1, BaseListStream0, BaseListStream1, BaseListStream2, BaseListStreamList, IteratorStream, ListCalcIndexStream1, ListCalcStream1, ListFilterCalcStream1, NamedListStream, NaturalNumberStream, PredicateListFilterStream, PrimeNumberStream, SingleListStream, SVGReader, WrappedListStream, XOrListStream

public interface ListStream<E>
extends NumberedStream<E>, java.lang.Iterable<E>

Universal calculation and logic unit. If this is an expansion of the calculation do I need a dirty? If there is only one value then a dirty makes sense. So maybe I should just override this for single element. Should I assume that null means absent of value? That seems a little harsh. I think that I can have a special index for single values. So if that is different from null a calculation have been made. I could also have a isEmpty method. What about a setup or a init method? Maybe it should be a isDone method instead. Or dirty can just mean the opposite of done. Let me try to sub interface this and see if I can make a single calculation and a stream out of this. I think that maybe I should only extend the iterator and not the list. Then override just the get method. Then there should be less trouble with signatures. I might also extend or override the map. So I would have both a get(int i) and a get(Object obj) Could I delegate the list specific work based on what is known? Maybe I would think that as far as a calculation model everything should work the same. One problem might be a self reference.

Author:
Sami Badawi

Method Summary
 java.util.List<E> getList()
          Get underlying list.
 void setList(java.util.List<E> list)
          Get underlying list.
 
Methods inherited from interface org.shapelogic.streams.NumberedStream
get, getIndex, getLast, getMaxLast, setMaxLast
 
Methods inherited from interface org.shapelogic.calculation.LazyCalc
isDirty, setup
 
Methods inherited from interface org.shapelogic.calculation.CalcValue
getValue
 
Methods inherited from interface java.util.Iterator
hasNext, next, remove
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getList

java.util.List<E> getList()
Get underlying list.


setList

void setList(java.util.List<E> list)
Get underlying list.



Copyright © 2008. All Rights Reserved.