1 /* Piece
2 *
3 * Created on September 12, 2006
4 *
5 * Copyright (C) 2006 Internet Archive.
6 *
7 * This file is part of the Heritrix web crawler (crawler.archive.org).
8 *
9 * Heritrix is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU Lesser Public License as published by
11 * the Free Software Foundation; either version 2.1 of the License, or
12 * any later version.
13 *
14 * Heritrix is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU Lesser Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser Public License
20 * along with Heritrix; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23 package org.archive.util.ms;
24
25 public class Piece {
26
27 private boolean unicode;
28 private int charPosStart;
29 private int charPosLimit;
30 private int filePos;
31
32
33 public Piece(int filePos, int start, int end, boolean unicode) {
34 this.filePos = filePos;
35 this.charPosStart = start;
36 this.charPosLimit = end;
37 this.unicode = unicode;
38 }
39
40
41 /***
42 *
43 * @return
44 */
45 public int getFilePos() {
46 return filePos;
47 }
48
49
50 /***
51 *
52 * @return
53 */
54 public int getCharPosLimit() {
55 return charPosLimit;
56 }
57
58
59 public int getCharPosStart() {
60 return charPosStart;
61 }
62
63 /***
64 *
65 * @return
66 */
67 public boolean isUnicode() {
68 return unicode;
69 }
70
71
72 public String toString() {
73 StringBuilder sb = new StringBuilder();
74 sb.append("Piece{filePos=").append(filePos);
75 sb.append(" start=").append(charPosStart);
76 sb.append(" end=").append(charPosLimit);
77 sb.append(" unicode=").append(unicode);
78 sb.append("}");
79 return sb.toString();
80 }
81
82
83 public boolean contains(int charPos) {
84 return (charPos >= charPosStart) && (charPos < charPosLimit);
85 }
86 }