Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Clazz
Class jq_LineNumberBC  view jq_LineNumberBC download jq_LineNumberBC.java

java.lang.Object
  extended byClazz.jq_LineNumberBC
All Implemented Interfaces:
java.lang.Comparable

public class jq_LineNumberBC
extends java.lang.Object
implements java.lang.Comparable

This class matches bytecode indices to line numbers. It implements the Comparable interface; objects are compared based on their starting bytecode indices.

Version:
$Id: jq_LineNumberBC.java,v 1.4 2003/05/12 10:05:12 joewhaley Exp $

Field Summary
private  char lineNum
          Corresponding line number.
private  char startPC
          Starting bytecode index, inclusive.
 
Constructor Summary
jq_LineNumberBC(char startPC, char lineNum)
          Constructs a new jq_LineNumberBC object with the given starting bytecode index and line number.
 
Method Summary
 int compareTo(jq_LineNumberBC that)
          Compares this jq_LineNumberBC object to the given jq_LineNumberBC object.
 int compareTo(java.lang.Object that)
          Compares this object with another, and returns a numerical result based on the comparison.
 boolean equals(jq_LineNumberBC that)
          Compares this jq_LineNumberBC object to the given jq_LineNumberBC object.
 boolean equals(java.lang.Object that)
          Determine whether this Object is semantically equal to another Object.
 char getLineNum()
          Returns the line number.
 char getStartPC()
          Returns the start bytecode index.
 java.lang.String toString()
          Returns a string representation of this jq_LineNumberBC object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

startPC

private char startPC
Starting bytecode index, inclusive.


lineNum

private char lineNum
Corresponding line number.

Constructor Detail

jq_LineNumberBC

public jq_LineNumberBC(char startPC,
                       char lineNum)
Constructs a new jq_LineNumberBC object with the given starting bytecode index and line number. The starting bytecode index is inclusive.

Method Detail

getStartPC

public char getStartPC()
Returns the start bytecode index.


getLineNum

public char getLineNum()
Returns the line number.


compareTo

public int compareTo(jq_LineNumberBC that)
Compares this jq_LineNumberBC object to the given jq_LineNumberBC object. Comparisons are based on the start bytecode index value.


compareTo

public int compareTo(java.lang.Object that)
Description copied from interface: java.lang.Comparable
Compares this object with another, and returns a numerical result based on the comparison. If the result is negative, this object sorts less than the other; if 0, the two are equal, and if positive, this object sorts greater than the other. To translate this into boolean, simply perform o1.compareTo(o2) <op> 0, where op is one of <, <=, =, !=, >, or >=.

You must make sure that the comparison is mutual, ie. sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) (where sgn() is defined as -1, 0, or 1 based on the sign). This includes throwing an exception in either direction if the two are not comparable; hence, compareTo(null) should always throw an Exception.

You should also ensure transitivity, in two forms: x.compareTo(y) > 0 && y.compareTo(z) > 0 implies x.compareTo(z) > 0; and x.compareTo(y) == 0 implies x.compareTo(z) == y.compareTo(z).

Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(jq_LineNumberBC that)
Compares this jq_LineNumberBC object to the given jq_LineNumberBC object. Comparisons are based on the start bytecode index value.


equals

public boolean equals(java.lang.Object that)
Description copied from class: java.lang.Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

  • It must be transitive. If a.equals(b) and b.equals(c), then a.equals(c) must be true as well.
  • It must be symmetric. a.equals(b) and b.equals(a) must have the same value.
  • It must be reflexive. a.equals(a) must always be true.
  • It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
  • a.equals(null) must be false.
  • It must be consistent with hashCode(). That is, a.equals(b) must imply a.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.

This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.


toString

public java.lang.String toString()
Returns a string representation of this jq_LineNumberBC object.