Copyright (c) 2000, 2009 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2000, 2009 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.core;
A source range defines an element's source coordinates relative to
its source buffer.
See Also: - ISourceRange
Since: 3.6
/**
* A source range defines an element's source coordinates relative to
* its source buffer.
*
* @see ISourceRange
* @since 3.6
*/
public final class SourceRange implements ISourceRange {
Helper method that answers whether a valid source range is available
in the given ISourceRange. When an element has no associated source
code, Java Model APIs may return either null
or a range of
[-1, 0] to indicate an invalid range. This utility method can be used
to detect that case.
Params: - range – a source range, can be
null
Returns: true
iff range is not null and range.getOffset() is not -1
/**
* Helper method that answers whether a valid source range is available
* in the given ISourceRange. When an element has no associated source
* code, Java Model APIs may return either <code>null</code> or a range of
* [-1, 0] to indicate an invalid range. This utility method can be used
* to detect that case.
*
* @param range a source range, can be <code>null</code>
* @return <code>true</code> iff range is not null and range.getOffset() is not -1
*/
public static boolean isAvailable(ISourceRange range) { // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=130161
return range != null && range.getOffset() != -1;
}
private int offset;
private int length;
Instantiate a new source range using the given offset and the given length.
Params: - offset – the given offset
- length – the given length
/**
* Instantiate a new source range using the given offset and the given length.
*
* @param offset the given offset
* @param length the given length
*/
public SourceRange(int offset, int length) {
this.offset = offset;
this.length = length;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof ISourceRange))
return false;
ISourceRange sourceRange = (ISourceRange) obj;
return sourceRange.getOffset() == this.offset && sourceRange.getLength() == this.length;
}
See Also: - ISourceRange
/**
* @see ISourceRange
*/
@Override
public int getLength() {
return this.length;
}
See Also: - ISourceRange
/**
* @see ISourceRange
*/
@Override
public int getOffset() {
return this.offset;
}
@Override
public int hashCode() {
return this.length ^ this.offset;
}
@Override
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("[offset="); //$NON-NLS-1$
buffer.append(this.offset);
buffer.append(", length="); //$NON-NLS-1$
buffer.append(this.length);
buffer.append("]"); //$NON-NLS-1$
return buffer.toString();
}
}