diff options
Diffstat (limited to 'src/main/java/com/p4square/grow/model/Chapter.java')
-rw-r--r-- | src/main/java/com/p4square/grow/model/Chapter.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/grow/model/Chapter.java b/src/main/java/com/p4square/grow/model/Chapter.java index 3a08e4c..ac27de6 100644 --- a/src/main/java/com/p4square/grow/model/Chapter.java +++ b/src/main/java/com/p4square/grow/model/Chapter.java @@ -4,6 +4,7 @@ package com.p4square.grow.model; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -98,6 +99,26 @@ public class Chapter implements Cloneable { } /** + * @return the completion date for the chapter, or null if it has not been completed. + */ + @JsonIgnore + public Date getCompletionDate() { + Date latest = new Date(0); + for (VideoRecord video : mVideos.values()) { + if (video.getRequired() && !video.getComplete()) { + // Hey, this chapter isn't complete! + return null; + } + + Date completionDate = video.getCompletionDate(); + if (completionDate.after(latest)) { + latest = completionDate; + } + } + return latest; + } + + /** * Deeply clone a chapter. * * @return a new Chapter object identical but independent of this one. |