it.amattioli.encapsulate.range
Class AbstractRange<T extends Comparable<? super T>>

Show UML class diagram
java.lang.Object
  extended by it.amattioli.encapsulate.range.AbstractRange<T>
All Implemented Interfaces:
Range<T>
Direct Known Subclasses:
ContinousRange, DiscreteRange

public abstract class AbstractRange<T extends Comparable<? super T>>
extends Object
implements Range<T>


Constructor Summary
AbstractRange()
           
 
Method Summary
 boolean contains(Range<? extends T> r)
          Controlla se un altro range e' completamente contenuto in questo o, equivalentemente, se l'intervallo passato come parametro e' un sottointervallo di questo.
 boolean equals(Object obj)
           
 int hashCode()
           
 boolean hasSameHigh(Range<? extends T> r)
          Controlla se il range passato come parametro ha lo stesso estremo superiore di questo.
 boolean hasSameLow(Range<? extends T> r)
          Controlla se il range passato come parametro ha lo stesso estremo inferiore di questo.
 boolean includes(T test)
          Controlla se un valore e' compreso nell'intervallo.
 Range<T> intersect(Range<T> r)
           
protected abstract
<U extends Range<? extends T>>
U
newRange(T low, T high)
          Crea un nuovo range compatibile con questo.
 boolean overlaps(Range<? extends T> r)
          Controlla se un altro range si sovrappone a questo.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.amattioli.encapsulate.range.Range
abutOn, gap, getHigh, getLow, isHighBounded, isLowBounded, mergeWith, minus
 

Constructor Detail

AbstractRange

public AbstractRange()
Method Detail

includes

public boolean includes(T test)
Description copied from interface: Range
Controlla se un valore e' compreso nell'intervallo. E' lasciata alle singole implementazioni la scelta di includere o meno gli estremi dell'intervallo e dunque il valore effettivamente ritornato da questo metodo se viene passato come parametro un valore corrispondente ad uno dei due estremi.

Specified by:
includes in interface Range<T extends Comparable<? super T>>
Parameters:
test - il valore da testare se e' incluso nell'intervallo
Returns:
true se il valore passato come parametro e' compreso in questo intervallo, altrimenti false

contains

public boolean contains(Range<? extends T> r)
Description copied from interface: Range
Controlla se un altro range e' completamente contenuto in questo o, equivalentemente, se l'intervallo passato come parametro e' un sottointervallo di questo.

Specified by:
contains in interface Range<T extends Comparable<? super T>>
Parameters:
r - il range da controllare se e' incluso in questo
Returns:
true se il valore passato come parametro e' compreso in questo, altrimenti false

overlaps

public boolean overlaps(Range<? extends T> r)
Description copied from interface: Range
Controlla se un altro range si sovrappone a questo.

Specified by:
overlaps in interface Range<T extends Comparable<? super T>>

hasSameLow

public boolean hasSameLow(Range<? extends T> r)
Description copied from interface: Range
Controlla se il range passato come parametro ha lo stesso estremo inferiore di questo. Il risultato e' definito anche per intervalli non limitati inferiormente.

Specified by:
hasSameLow in interface Range<T extends Comparable<? super T>>
Parameters:
r - il range da controllare
Returns:
true se il range passato come parametro ha lo stesso estremo inferiore di questo oppure se entrambi non sono limitati inferiormente, altrimenti false

hasSameHigh

public boolean hasSameHigh(Range<? extends T> r)
Description copied from interface: Range
Controlla se il range passato come parametro ha lo stesso estremo superiore di questo. Il risultato e' definito anche per intervalli non limitati superiormente.

Specified by:
hasSameHigh in interface Range<T extends Comparable<? super T>>
Parameters:
r - il range da controllare
Returns:
true se il range passato come parametro ha lo stesso estremo superiore di questo oppure se entrambi non sono limitati superiormente, altrimenti false

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

newRange

protected abstract <U extends Range<? extends T>> U newRange(T low,
                                                             T high)
Crea un nuovo range compatibile con questo.

Type Parameters:
U -
Parameters:
low -
high -
Returns:

intersect

public Range<T> intersect(Range<T> r)
Specified by:
intersect in interface Range<T extends Comparable<? super T>>


Copyright © 2011. All Rights Reserved.