blob: 8b7cae738faa9e183072865992c83f0c3a2740f7 [file] [log] [blame]
package org.eclipse.jface.text;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
/**
* A default implementation of the <code>IRegion</code> interface.
*/
public class Region implements IRegion {
/** The region offset */
private int fOffset;
/** The region length */
private int fLength;
/**
* Create a new region.
*
* @param offset the offset of the region
* @param length the length of the region
*/
public Region(int offset, int length) {
fOffset= offset;
fLength= length;
}
/*
* @see IRegion#getLength
*/
public int getLength() {
return fLength;
}
/*
* @see IRegion#getOffset
*/
public int getOffset() {
return fOffset;
}
/**
* Two regions are equal if they have the same offset and length.
*
* @see Object#equals
*/
public boolean equals(Object o) {
if (o instanceof IRegion) {
IRegion r= (IRegion) o;
return r.getOffset() == fOffset && r.getLength() == fLength;
}
return false;
}
/*
* @see Object#hashCode
*/
public int hashCode() {
return (fOffset << 24) | (fLength << 16);
}
}