Added Android code
[wl-app.git] / Android / folioreader / src / main / java / com / folioreader / model / TOCLinkWrapper.java
1 package com.folioreader.model;
2
3 import com.folioreader.util.MultiLevelExpIndListAdapter;
4
5 import org.readium.r2_streamer.model.tableofcontents.TOCLink;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 /**
11  * Created by Mahavir on 3/10/17.
12  */
13
14 public class TOCLinkWrapper implements MultiLevelExpIndListAdapter.ExpIndData{
15     private TOCLink tocLink;
16     private int indentation;
17     private ArrayList<TOCLinkWrapper> tocLinkWrappers;
18     private boolean mIsGroup;
19     private int mGroupSize;
20
21     public TOCLinkWrapper(TOCLink tocLink, int indentation) {
22         this.tocLink = tocLink;
23         this.indentation = indentation;
24         this.tocLinkWrappers = new ArrayList<>();
25         this.mIsGroup = (tocLink.getTocLinks()!=null && tocLink.getTocLinks().size()>0);
26     }
27
28     @Override
29     public String toString() {
30         return "TOCLinkWrapper{" +
31                 "tocLink=" + tocLink +
32                 ", indentation=" + indentation +
33                 ", tocLinkWrappers=" + tocLinkWrappers +
34                 ", mIsGroup=" + mIsGroup +
35                 ", mGroupSize=" + mGroupSize +
36                 '}';
37     }
38
39     public int getIndentation() {
40         return indentation;
41     }
42
43     public void setIndentation(int indentation) {
44         this.indentation = indentation;
45     }
46
47     public TOCLink getTocLink() {
48         return tocLink;
49     }
50
51     public void setTocLink(TOCLink tocLink) {
52         this.tocLink = tocLink;
53     }
54
55     public ArrayList<TOCLinkWrapper> getTocLinkWrappers() {
56         return tocLinkWrappers;
57     }
58
59     public void setTocLinkWrappers(ArrayList<TOCLinkWrapper> tocLinkWrappers) {
60         this.tocLinkWrappers = tocLinkWrappers;
61     }
62
63     public void addChild(TOCLinkWrapper tocLinkWrapper) {
64         getTocLinkWrappers().add(tocLinkWrapper);
65         //tocLinkWrapper.setIndentation(getIndentation() + 1);
66     }
67
68     @Override
69     public List<? extends MultiLevelExpIndListAdapter.ExpIndData> getChildren() {
70         return tocLinkWrappers;
71     }
72
73     @Override
74     public boolean isGroup() {
75         return mIsGroup;
76     }
77
78     @Override
79     public void setIsGroup(boolean value) {
80         mIsGroup = value;
81     }
82
83     @Override
84     public void setGroupSize(int groupSize) {
85         mGroupSize = groupSize;
86     }
87
88     public int getGroupSize() {
89         return mGroupSize;
90     }
91 }