|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.white.xpp.basic.Heaper
|
+--org.abora.white.spaces.basic.XnRegion
|
+--org.abora.white.tumbler.SequenceRegion
Represents a Region of Sequences. We can efficiently represent unions of intervals, delimited either by individual sequences or by a match with all sequences prefixed by some sequence up to some index.
| Field Summary | |
protected boolean |
myStartsInside
|
protected PtrArray |
myTransitions
|
protected int |
myTransitionsCount
|
protected static SequenceRegion |
TheEmptySequenceRegion
|
protected static SequenceRegion |
TheFullSequenceRegion
|
protected static SequenceManager |
TheManager
|
| Constructor Summary | |
SequenceRegion(boolean startsInside,
PtrArray transitions)
|
|
SequenceRegion(boolean startsInside,
PtrArray transitions,
int count)
|
|
SequenceRegion(Rcvr receiver)
|
|
| Method Summary | |
static SequenceRegion |
above(Sequence sequence)
|
int |
actualHashForEqual()
Defined by subclasses to produce the value returned by hashForEqual. |
Stepper |
actualStepper(OrderSpec order)
Only called if I've already said I'm enumerable in the originally stated order. |
XnRegion |
asSimpleRegion()
Return a simple region containing all positions contained by myself. |
static SequenceRegion |
below(Sequence sequence)
|
XnRegion |
complement()
Essential. |
CoordinateSpace |
coordinateSpace()
Essential. |
IntegerValue |
count()
How many positions do I contain? If I am not 'isFinite', then this message will BLAST. |
ScruSet |
distinctions()
Break it up into a set of non-full distinctions. |
static SequenceRegion |
empty()
|
static int |
EXCLUSIVE()
|
static SequenceRegion |
full()
|
boolean |
hasMember(Position position)
Do I contain this position? More than anything else, the behavior of this message is the defining characteristic of an XuRegion. |
static int |
INCLUSIVE()
|
XnRegion |
intersect(XnRegion other)
Essential. |
Stepper |
intervals()
|
Stepper |
intervals(OrderSpec order)
Essential. |
boolean |
isBoundedAbove()
Same meaning as IntegerRegion::isBoundedAbove |
boolean |
isBoundedBelow()
Same meaning as IntegerRegion::isBoundedBelow |
boolean |
isEmpty()
Every coordinate space has exactly one empty region. |
boolean |
isEnumerable(OrderSpec order)
See comment in XuRegion::stepper. |
boolean |
isEqual(Heaper other)
Two regions are equal iff they contain exactly the same set of positions |
boolean |
isFinite()
Essential. |
boolean |
isFull()
true if this is the largest possible region in this space -- the region that contains all positions in the space. |
boolean |
isInterval()
Whether this Region is a non-empty interval, i.e. |
boolean |
isSimple()
Am I a simple region. |
boolean |
isSubsetOf(XnRegion other)
I'm a subset of other if I don't have any positions that he doesn't. |
Sequence |
lowerBound()
The largest sequence such that all the positions in the region are >= it. |
Sequence |
lowerEdge()
Essential. |
IntegerValue |
lowerEdgePrefixLimit()
Essential. |
int |
lowerEdgeType()
Essential. |
static int |
PREFIX()
|
static SequenceRegion |
prefixedBy(Sequence sequence,
IntegerValue limit)
All sequences matching the given up to and including the number at limit |
void |
printOn(java.io.PrintWriter oo)
This should rarely be overridden. |
void |
receiveSequenceRegion(Rcvr rcvr)
|
PtrArray |
secretTransitions()
|
int |
secretTransitionsCount()
|
void |
sendSelfTo(Xmtr xmtr)
|
void |
sendSequenceRegion(Xmtr xmtr)
|
Stepper |
simpleRegions(OrderSpec order)
Break myself up into a finite set of non-empty simple regions which, when unionWith'ed together will yield me. |
XnRegion |
simpleUnion(XnRegion other)
The result must contain all positions contained by either of the two original regions, and the result must be simple. |
boolean |
startsInside()
|
Stepper |
stepper(OrderSpec order)
Essential. |
static SequenceRegion |
strictlyAbove(Sequence sequence)
|
static SequenceRegion |
strictlyBelow(Sequence sequence)
|
XnRegion |
unionWith(XnRegion other)
The result has as members exactly those positions which are members of either of the original two regions. |
Sequence |
upperBound()
The smallest Sequence such that all the positions in the region are <= it. |
Sequence |
upperEdge()
Essential. |
IntegerValue |
upperEdgePrefixLimit()
Essential. |
int |
upperEdgeType()
Essential. |
static SequenceRegion |
usingx(boolean startsInside,
PtrArray transitions)
Make a new region, reusing the given array. |
XnRegion |
with(Position pos)
the region with one more position. |
| Methods inherited from class org.abora.white.spaces.basic.XnRegion |
chooseMany, chooseMany, chooseOne, chooseOne, delta, disjointSimpleRegions, disjointSimpleRegions, immuSet, intersects, isDistinction, isEnumerable, minus, simpleRegions, stepper, theOne, without |
| Methods inherited from class org.abora.white.xpp.basic.Heaper |
destroy, destruct, equals, hashForEqual, printContentsOn, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected boolean myStartsInside
protected PtrArray myTransitions
protected int myTransitionsCount
protected static SequenceRegion TheEmptySequenceRegion
protected static SequenceRegion TheFullSequenceRegion
protected static SequenceManager TheManager
| Constructor Detail |
public SequenceRegion(boolean startsInside,
PtrArray transitions)
public SequenceRegion(boolean startsInside,
PtrArray transitions,
int count)
public SequenceRegion(Rcvr receiver)
| Method Detail |
public XnRegion asSimpleRegion()
XnRegion
asSimpleRegion in class XnRegionpublic CoordinateSpace coordinateSpace()
XnRegion
coordinateSpace in class XnRegionpublic Sequence lowerBound()
public Sequence lowerEdge()
public IntegerValue lowerEdgePrefixLimit()
public int lowerEdgeType()
public Sequence upperBound()
public Sequence upperEdge()
public IntegerValue upperEdgePrefixLimit()
public int upperEdgeType()
public int actualHashForEqual()
Heaper
actualHashForEqual in class XnRegionpublic boolean hasMember(Position position)
XnRegion
hasMember in class XnRegionpublic boolean isBoundedAbove()
public boolean isBoundedBelow()
public boolean isEmpty()
XnRegion
isEmpty in class XnRegionpublic boolean isEnumerable(OrderSpec order)
XnRegion
isEnumerable in class XnRegionpublic boolean isEqual(Heaper other)
XnRegion
isEqual in class XnRegionpublic boolean isFinite()
XnRegion
isFinite in class XnRegionpublic boolean isFull()
XnRegion
isFull in class XnRegionpublic boolean isSimple()
XnRegion
isSimple in class XnRegionpublic boolean isSubsetOf(XnRegion other)
XnRegion
isSubsetOf in class XnRegionpublic Stepper actualStepper(OrderSpec order)
XnRegion
actualStepper in class XnRegionpublic IntegerValue count()
XnRegion
count in class XnRegionpublic ScruSet distinctions()
XnRegion
distinctions in class XnRegionpublic Stepper intervals(OrderSpec order)
public boolean isInterval()
public Stepper simpleRegions(OrderSpec order)
XnRegion
simpleRegions in class XnRegionpublic Stepper stepper(OrderSpec order)
XnRegion
stepper in class XnRegionpublic XnRegion complement()
XnRegion
complement in class XnRegionpublic XnRegion intersect(XnRegion other)
XnRegion
intersect in class XnRegionpublic XnRegion simpleUnion(XnRegion other)
XnRegiona->simpleUnion(b) satisfies the same specification
as (a->unionWith(b))->asSimpleRegion(). However, the two results do
not have to be the same region.
simpleUnion in class XnRegionpublic XnRegion unionWith(XnRegion other)
XnRegion
unionWith in class XnRegionpublic XnRegion with(Position pos)
XnRegion
with in class XnRegionpublic void printOn(java.io.PrintWriter oo)
Heaper
printOn in class Heaperpublic PtrArray secretTransitions()
public int secretTransitionsCount()
public boolean startsInside()
public Stepper intervals()
public void receiveSequenceRegion(Rcvr rcvr)
public void sendSequenceRegion(Xmtr xmtr)
public void sendSelfTo(Xmtr xmtr)
sendSelfTo in class Heaperpublic static SequenceRegion above(Sequence sequence)
public static SequenceRegion below(Sequence sequence)
public static SequenceRegion empty()
public static SequenceRegion full()
public static SequenceRegion prefixedBy(Sequence sequence,
IntegerValue limit)
public static SequenceRegion strictlyAbove(Sequence sequence)
public static SequenceRegion strictlyBelow(Sequence sequence)
public static SequenceRegion usingx(boolean startsInside,
PtrArray transitions)
public static int EXCLUSIVE()
public static int INCLUSIVE()
public static int PREFIX()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||