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

Quick Search    Search Deep

org.eclipse.jface.text
Class Position  view Position download Position.java

java.lang.Object
  extended byorg.eclipse.jface.text.Position
Direct Known Subclasses:
TextViewer.SelectionPosition, TypedPosition

public class Position
extends java.lang.Object

Positions describe text ranges of a document. Positions are adapted to changes applied to that document. The text range is specified by an offset and a length. Positions can be marked as deleted. Deleted positions are considered to no longer represent a valid text range in the managing document.

Positions attached to documents are usually updated by position updaters. Because position updaters are freely definable and because of the frequency in which they are used, the fields of a position are made publicly accessible. Clients other than position updaters are not allowed to access these public fields.

Position can not be used as keys in hash tables as they override equals and hashCode as they would be value objects.


Field Summary
 boolean isDeleted
          Indicates whether the position has been deleted
 int length
          The length of the position
 int offset
          The offset of the position
 
Constructor Summary
protected Position()
          Creates a new, not initialized position.
  Position(int offset)
          Creates a new position with the given offset and length 0.
  Position(int offset, int length)
          Creates a new position with the given offset and length.
 
Method Summary
 void delete()
          Marks this position as deleted.
 boolean equals(java.lang.Object other)
          Determine whether this Object is semantically equal to another Object.
 int getLength()
          Returns the length of this position.
 int getOffset()
          Returns the offset of this position.
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 boolean includes(int offset)
          Checks whether the given offset is inside of this position's text range.
 boolean isDeleted()
          Returns whether this position has been deleted or not.
 boolean overlapsWith(int offset, int length)
          Checks whether the intersection of the given text range and the text range represented by this position is empty or not.
 void setLength(int length)
          Changes the length of this position to the given length.
 void setOffset(int offset)
          Changes the offset of this position to the given offset.
 void undelete()
          Marks this position as not deleted.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

offset

public int offset
The offset of the position


length

public int length
The length of the position


isDeleted

public boolean isDeleted
Indicates whether the position has been deleted

Constructor Detail

Position

public Position(int offset)
Creates a new position with the given offset and length 0.


Position

public Position(int offset,
                int length)
Creates a new position with the given offset and length.


Position

protected Position()
Creates a new, not initialized position.

Method Detail

hashCode

public int hashCode()
Description copied from class: java.lang.Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

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

  • Semantic equality implies identical hashcodes. In other words, if a.equals(b) is true, then a.hashCode() == b.hashCode() must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.
  • It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.

Notice that since hashCode is used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)


delete

public void delete()
Marks this position as deleted.


undelete

public void undelete()
Marks this position as not deleted.

Since:
2.0

equals

public boolean equals(java.lang.Object other)
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.


getLength

public int getLength()
Returns the length of this position.


getOffset

public int getOffset()
Returns the offset of this position.


includes

public boolean includes(int offset)
Checks whether the given offset is inside of this position's text range.


overlapsWith

public boolean overlapsWith(int offset,
                            int length)
Checks whether the intersection of the given text range and the text range represented by this position is empty or not.


isDeleted

public boolean isDeleted()
Returns whether this position has been deleted or not.


setLength

public void setLength(int length)
Changes the length of this position to the given length.


setOffset

public void setOffset(int offset)
Changes the offset of this position to the given offset.