1   package org.daisy.pipeline.tts.calabash.impl;
2   
3   import java.io.File;
4   import java.util.ArrayList;
5   import java.util.List;
6   
7   import org.daisy.pipeline.tts.Sentence;
8   
9   /**
10   * List of sentences adjacent to each other in the original document. Positions
11   * in the document are kept so as to adequately name the sound files.
12   */
13  class ContiguousText implements Comparable<ContiguousText> {
14  
15  	ContiguousText(int documentPosition, File audioOutputDir) {
16  		mDocumentPosition = documentPosition;
17  		mAudioOutputDir = audioOutputDir;
18  		mDocumentSplitPosition = 0;
19  		sentences = new ArrayList<Sentence>();
20  	}
21  
22  	void computeSize() {
23  		mSize = 0;
24  		for (Sentence speakable : sentences) {
25  			mSize += speakable.getSize();
26  		}
27  	}
28  
29  	@Override
30  	public int compareTo(ContiguousText other) {
31  		return (other.mSize - mSize);
32  	}
33  
34  	public void setDocumentSplitPosition(int pos) {
35  		mDocumentSplitPosition = pos;
36  	}
37  
38  	public int getDocumentSplitPosition() {
39  		return mDocumentSplitPosition;
40  	}
41  
42  	public int getDocumentPosition() {
43  		return mDocumentPosition;
44  	}
45  
46  	public int getStringSize() {
47  		return mSize;
48  	}
49  
50  	public void setStringsize(int size) {
51  		mSize = size;
52  	}
53  
54  	public File getAudioOutputDir() {
55  		return mAudioOutputDir;
56  	}
57  
58  	private File mAudioOutputDir;
59  	private int mDocumentSplitPosition;
60  	private int mDocumentPosition;
61  	private int mSize; //used for sorting
62  	List<Sentence> sentences;
63  }