Evaluating Software Design Patterns
— the "Gang of Four" patterns implemented in Java 6

dk.rode.thesis.interpreter
Enum CompareExpression.Comparison

java.lang.Object
  extended by java.lang.Enum<CompareExpression.Comparison>
      extended by dk.rode.thesis.interpreter.CompareExpression.Comparison
All Implemented Interfaces:
Serializable, Comparable<CompareExpression.Comparison>
Enclosing class:
CompareExpression<E extends Comparable<? super E>>

public static enum CompareExpression.Comparison
extends Enum<CompareExpression.Comparison>

The comparison type to be performed by a compare expression.

Author:
Gunni Rode / rode.dk

Enum Constant Summary
EQUAL
          Compares expression a and b to see if they are equal.
GREATER
          Compares expression a and b to see if a is greater.
GREATER_EQUAL
          Compares expression a and b to see if a is equal or greater.
NOT_EQUAL
          Compares expression a and b to see if they are not equal.
SMALLER
          Compares expression a and b to see if a is smaller.
SMALLER_EQUAL
          Compares expression a and b to see if a is smaller or equal.
 
Method Summary
protected abstract  String asSymbol()
          Return the symbol of this comparison type.
protected abstract  boolean matches(int value)
          Return true if this comparison type matches the value supplied as value, false if not.
static CompareExpression.Comparison valueOf(String name)
          Returns the enum constant of this type with the specified name.
static CompareExpression.Comparison[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

EQUAL

public static final CompareExpression.Comparison EQUAL
Compares expression a and b to see if they are equal.


GREATER

public static final CompareExpression.Comparison GREATER
Compares expression a and b to see if a is greater.


GREATER_EQUAL

public static final CompareExpression.Comparison GREATER_EQUAL
Compares expression a and b to see if a is equal or greater.


NOT_EQUAL

public static final CompareExpression.Comparison NOT_EQUAL
Compares expression a and b to see if they are not equal.


SMALLER

public static final CompareExpression.Comparison SMALLER
Compares expression a and b to see if a is smaller.


SMALLER_EQUAL

public static final CompareExpression.Comparison SMALLER_EQUAL
Compares expression a and b to see if a is smaller or equal.

Method Detail

asSymbol

protected abstract String asSymbol()
Return the symbol of this comparison type.

Returns:
The symbol; never null;

matches

protected abstract boolean matches(int value)
Return true if this comparison type matches the value supplied as value, false if not.

Parameters:
value - The value to test.
Returns:
True if this comparison type matches value, false if it does not.

valueOf

public static CompareExpression.Comparison valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

values

public static CompareExpression.Comparison[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (CompareExpression.Comparison c : CompareExpression.Comparison.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

Gunni Rode / rode.dk

Feel free to use and/or modify the Java 6 source code developed for this thesis AT YOUR OWN RISK, but note that the source code comes WITHOUT ANY — and I do mean WITHOUT ANY — form of warranty WHAT SO EVER!

The original thesis and source code are available at rode.dk/thesis.