protected OffsetableBase(CsmFile file, int start, int end) { // Parameters.notNull("file can not be null", file); // NOI18N this.fileUID = UIDCsmConverter.fileToUID(file); this.fileRef = null; // to prevent error with "final" if (end < start) { if (CndUtils.isDebugMode()) { CndUtils.assertTrueInConsole( false, "end < start for " + ((file != null) ? file.getAbsolutePath() : "null file") + ":[" + start + "-" + end + "]"); // NOI18N } end = start; } this.startPosition = PositionManager.createPositionID(fileUID, start, PositionManager.Position.Bias.FOWARD); this.endPosition = PositionManager.createPositionID(fileUID, end, PositionManager.Position.Bias.BACKWARD); }
@Override public final Position getEndPosition() { return PositionManager.getPosition(fileUID, endPosition); }
@Override public final int getEndOffset() { return endPosition != 0 ? PositionManager.getOffset(fileUID, endPosition) : PositionManager.getOffset(fileUID, startPosition); }
@Override public final Position getStartPosition() { return PositionManager.getPosition(fileUID, startPosition); }
@Override public final int getStartOffset() { return PositionManager.getOffset(fileUID, startPosition); }