1 package org.readium.r2_streamer.model.publication;
3 import org.readium.r2_streamer.model.publication.link.Link;
4 import org.readium.r2_streamer.model.publication.metadata.MetaData;
5 import org.readium.r2_streamer.model.tableofcontents.TOCLink;
7 import com.fasterxml.jackson.annotation.JsonIgnore;
8 import com.fasterxml.jackson.annotation.JsonProperty;
10 import java.io.Serializable;
11 import java.util.ArrayList;
12 import java.util.Arrays;
13 import java.util.HashMap;
14 import java.util.List;
17 * Created by Shrikant Badwaik on 25-Jan-17.
20 public class EpubPublication implements Serializable{
21 private static final long serialVersionUID = 3336472295622776147L;
23 @JsonProperty("metadata")
24 public MetaData metadata;
27 public HashMap<String,Link> linkMap;
28 @JsonProperty("links")
29 public List<Link> links;
31 public List<Link> matchingLinks;
32 @JsonProperty("spines")
33 public List<Link> spines;
34 @JsonProperty("resources")
35 public List<Link> resources;
37 public List<Link> guides;
40 public List<Encryption> encryptions;
42 //public List<Link> pageList;
44 public List<TOCLink> tableOfContents;
47 public List<TOCLink> pageList;
49 //public List<Link> landmarks;
50 public Link[] landmarks;
52 //public List<Link> LOI;
55 //public List<Link> LOA;
58 //public List<Link> LOV;
61 //public List<Link> LOT;
64 public HashMap<String, String> internalData;
67 //public List<Link> otherLinks;
68 public Link[] otherLinks;
70 @JsonProperty("cover")
71 public Link coverLink;
73 public EpubPublication() {
74 this.matchingLinks = new ArrayList<>();
75 this.links = new ArrayList<>();
76 this.spines = new ArrayList<>();
77 this.encryptions = new ArrayList<>();
78 this.resources = new ArrayList<>();
79 this.guides= new ArrayList<>();
80 this.internalData = new HashMap<>();
82 this.linkMap = new HashMap<>();
86 public String toString() {
87 return "EpubPublication{" +
88 "metadata=" + metadata +
89 ", tableOfContents=" + tableOfContents +
90 ", linkMap=" + linkMap +
92 ", matchingLinks=" + matchingLinks +
93 ", spines=" + spines +
94 ", encryptions=" + encryptions +
95 ", resources=" + resources +
96 ", guides=" + guides +
97 ", pageList=" + pageList +
98 ", landmarks=" + Arrays.toString(landmarks) +
99 ", LOI=" + Arrays.toString(LOI) +
100 ", LOA=" + Arrays.toString(LOA) +
101 ", LOV=" + Arrays.toString(LOV) +
102 ", LOT=" + Arrays.toString(LOT) +
103 ", internalData=" + internalData +
104 ", otherLinks=" + Arrays.toString(otherLinks) +
105 ", coverLink=" + coverLink +
109 public Link getResourceMimeType(String resourcePath) {
110 if(linkMap.containsKey(resourcePath)){
111 return linkMap.get(resourcePath);