Added Android code
[wl-app.git] / Android / folioreader / src / main / java / com / folioreader / model / TOCLinkWrapper.java
diff --git a/Android/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java b/Android/folioreader/src/main/java/com/folioreader/model/TOCLinkWrapper.java
new file mode 100755 (executable)
index 0000000..6d2eac7
--- /dev/null
@@ -0,0 +1,91 @@
+package com.folioreader.model;
+
+import com.folioreader.util.MultiLevelExpIndListAdapter;
+
+import org.readium.r2_streamer.model.tableofcontents.TOCLink;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Mahavir on 3/10/17.
+ */
+
+public class TOCLinkWrapper implements MultiLevelExpIndListAdapter.ExpIndData{
+    private TOCLink tocLink;
+    private int indentation;
+    private ArrayList<TOCLinkWrapper> tocLinkWrappers;
+    private boolean mIsGroup;
+    private int mGroupSize;
+
+    public TOCLinkWrapper(TOCLink tocLink, int indentation) {
+        this.tocLink = tocLink;
+        this.indentation = indentation;
+        this.tocLinkWrappers = new ArrayList<>();
+        this.mIsGroup = (tocLink.getTocLinks()!=null && tocLink.getTocLinks().size()>0);
+    }
+
+    @Override
+    public String toString() {
+        return "TOCLinkWrapper{" +
+                "tocLink=" + tocLink +
+                ", indentation=" + indentation +
+                ", tocLinkWrappers=" + tocLinkWrappers +
+                ", mIsGroup=" + mIsGroup +
+                ", mGroupSize=" + mGroupSize +
+                '}';
+    }
+
+    public int getIndentation() {
+        return indentation;
+    }
+
+    public void setIndentation(int indentation) {
+        this.indentation = indentation;
+    }
+
+    public TOCLink getTocLink() {
+        return tocLink;
+    }
+
+    public void setTocLink(TOCLink tocLink) {
+        this.tocLink = tocLink;
+    }
+
+    public ArrayList<TOCLinkWrapper> getTocLinkWrappers() {
+        return tocLinkWrappers;
+    }
+
+    public void setTocLinkWrappers(ArrayList<TOCLinkWrapper> tocLinkWrappers) {
+        this.tocLinkWrappers = tocLinkWrappers;
+    }
+
+    public void addChild(TOCLinkWrapper tocLinkWrapper) {
+        getTocLinkWrappers().add(tocLinkWrapper);
+        //tocLinkWrapper.setIndentation(getIndentation() + 1);
+    }
+
+    @Override
+    public List<? extends MultiLevelExpIndListAdapter.ExpIndData> getChildren() {
+        return tocLinkWrappers;
+    }
+
+    @Override
+    public boolean isGroup() {
+        return mIsGroup;
+    }
+
+    @Override
+    public void setIsGroup(boolean value) {
+        mIsGroup = value;
+    }
+
+    @Override
+    public void setGroupSize(int groupSize) {
+        mGroupSize = groupSize;
+    }
+
+    public int getGroupSize() {
+        return mGroupSize;
+    }
+}