1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.opencastproject.subtitleparser;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 public abstract class SubtitleCue {
27 private String id;
28 private long startTime;
29 private long endTime;
30 private List<String> lines;
31
32 protected SubtitleCue(SubtitleCue cue) {
33 this.id = cue.getId();
34 this.startTime = cue.getStartTime();
35 this.endTime = cue.getEndTime();
36 this.lines = cue.getLines();
37 }
38
39 protected SubtitleCue() {
40 this.lines = new ArrayList<>();
41 }
42
43
44
45
46
47
48 protected SubtitleCue(long startTime, long endTime) {
49 this.startTime = startTime;
50 this.endTime = endTime;
51 this.lines = new ArrayList<>();
52 }
53
54
55
56
57
58
59
60 protected SubtitleCue(long startTime, long endTime, List<String> lines) {
61 this.startTime = startTime;
62 this.endTime = endTime;
63 this.lines = lines;
64 }
65
66 public String getId() {
67 return this.id;
68 }
69
70 public void setId(String id) {
71 this.id = id;
72 }
73
74 public long getStartTime() {
75 return this.startTime;
76 }
77
78 public void setStartTime(long startTime) {
79 this.startTime = startTime;
80 }
81
82 public long getEndTime() {
83 return this.endTime;
84 }
85
86 public void setEndTime(long endTime) {
87 this.endTime = endTime;
88 }
89
90 public List<String> getLines() {
91 return this.lines;
92 }
93
94 public void setLines(List<String> lines) {
95 this.lines = lines;
96 }
97
98 public void addLine(String line) {
99 this.lines.add(line);
100 }
101
102 public String getText() {
103 String[] lineArray = lines.toArray(new String[lines.size()]);
104 return String.join("\n", lineArray);
105 }
106
107 @Override
108 public String toString() {
109 return this.getText();
110 }
111 }