blob: 67814d02cea85814a32ee70a3fc1becfcb795ca7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2011 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.serializer;
import com.google.common.primitives.Ints;
/**
* Represents the position of a parsed element.
*
* @author <a href="mailto:alex.lagarde@obeo.fr">Alex Lagarde</a>
*/
public class ParsedElementPosition implements Comparable<ParsedElementPosition> {
/**
* The offset (indice of the first character).
*/
private int offset;
/**
* The length.
*/
private int length;
/**
* The declaration length.
*/
private int declarationLength;
/**
* constructor.
*
* @param offset
* the offset (indice of the first character)
* @param length
* the length
*/
public ParsedElementPosition(int offset, int length) {
this.offset = offset;
this.length = length;
this.declarationLength = length;
}
/**
* constructor.
*
* @param offset
* the offset (indice of the first character)
* @param length
* the length
* @param declarationLength
* the declaration length
*/
public ParsedElementPosition(int offset, int length, int declarationLength) {
this.offset = offset;
this.length = length;
this.declarationLength = declarationLength;
}
/**
* Returns the offset (indice of the first character).
*
* @return the offset
*/
public int getOffset() {
return offset;
}
/**
* Returns the length.
*
* @return the the length
*/
public int getLength() {
return length;
}
public int getDeclarationLength() {
return declarationLength;
}
public void setOffset(int offset) {
this.offset = offset;
}
public void setLength(int length) {
this.length = length;
}
/**
* {@inheritDoc}
*
* @see java.lang.Comparable#compareTo(java.lang.Object)
*/
public int compareTo(ParsedElementPosition arg0) {
int res = Ints.compare(offset, arg0.offset);
if (res == 0) {
res = Ints.compare(length, arg0.length);
}
return res;
}
/**
* {@inheritDoc}
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return this.getClass().getSimpleName() + "[offset: " + offset + ", declaration length: "
+ declarationLength + ", length: " + length + "]";
}
}