Added xstream handiling for Wikipedia upload/download
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.wiki / src / net / sourceforge / phpeclipse / wiki / xml / Page.java
1 package net.sourceforge.phpeclipse.wiki.xml;
2
3 import java.util.ArrayList;
4
5 //
6
7 public class Page {
8   /**
9    * &lt;page&gt; XML data from Wikipedia Special:Export pages may be <code>null</code>
10    *  
11    */
12
13   /* package private */String title = null;
14
15   /* package private */ArrayList listOfRevisions = null;
16
17   //  Revision revision = null;
18
19   /* package private */Page() {
20   }
21
22   public Page(String timeStamp, String title, String body) {
23     listOfRevisions = new ArrayList();
24     Revision revision = new Revision(timeStamp, body);
25     listOfRevisions.add(revision);
26     this.title = title;
27   }
28
29   public void add(Revision revision) {
30     listOfRevisions.add(revision);
31   }
32
33   /*
34    * (non-Javadoc)
35    * 
36    * @see java.lang.Object#toString()
37    */
38   public String toString() {
39     StringBuffer buffer = new StringBuffer();
40
41     if (title != null) {
42       buffer.append("==>Title: ");
43       buffer.append(title);
44       buffer.append("\n");
45     }
46
47     //    if (revision != null) {
48     //      buffer.append("==>Revision:\n");
49     //      buffer.append(revision);
50     //      buffer.append("\n");
51     //    }
52     for (int i = 0; i < listOfRevisions.size(); i++) {
53       Revision revision = (Revision) listOfRevisions.get(i);
54       if (revision != null) {
55         buffer.append("==>Revision:\n");
56         buffer.append(revision);
57         buffer.append("\n");
58       }
59     }
60     return buffer.toString();
61   }
62
63   /**
64    * @return Returns the title.
65    */
66   public String getTitle() {
67     return title;
68   }
69
70   public String getURLTitle() {
71     return title.replaceAll(" ", "_");
72   }
73
74   /**
75    * @return
76    */
77   public boolean isEmpty() {
78     return listOfRevisions.isEmpty();
79   }
80
81   /**
82    * @return
83    */
84   public int size() {
85     return listOfRevisions.size();
86   }
87
88   /**
89    * @param index
90    * @return
91    */
92   public Revision get(int index) {
93     return (Revision) listOfRevisions.get(index);
94   }
95 }