// Path: types/Document.java
// public class Document implements Serializable {
// 
// 	private static final long serialVersionUID = -3396519504581827961L;
// 	
// 	private long id; //ie twitter user id! duh
// 	private String documentString;
// 	private Set<String> topics;
// 	
// 	public Document() {
// 		documentString = new String();
// 		topics = null;
// 		id = -1;
// 	}
// 	
// 	public Document(String documentString) {
// 		this.documentString = documentString;
// 		topics = null;
// 	}
// 	
// 	public Document(String documentString, long id) {
// 		this.documentString = documentString;
// 		this.id = id;
// 		topics = null;
// 	}
// 	
// 	public Document(String documentString, long id, Set<String> topics) {
// 		this.documentString = documentString;
// 		this.id = id;
// 		this.topics = topics;
// 	}
// 	
// 	public String getDocumentString() {
// 		return documentString;
// 	}
// 	
// 	public Set<String> getTopics() {
// 		return topics;
// 	}
// 	
// 	public void setId(long id) {
// 		this.id = id;
// 	}
// 	
// 	public long getId() {
// 		return id;
// 	}
// 	
// 	public void setTopics(Set<String> topics) {
// 		this.topics = topics;
// 	}
// 	
// 	public void setDocumentString(String documentString) {
// 		this.documentString = documentString;
// 	}
// 	
// 	//TODO: A method for returning a word count vector based on an alphabet Map maybe?
// 		
// 	public void print() {
// 		System.out.println(documentString);
// 	}
// 	
// }


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import twitter4j.Status;
import uk.ac.cam.ha293.tweetlabel.types.Document;

			e.printStackTrace();
		} 
	}

	public void saveAsSimpleProfile() {
		if(userID == -1) {
			System.err.println("Cannot save as simple profile, no UID set for RawProfile");
			return;
		}
		SimpleProfile simple = new SimpleProfile(userID);
		for(Status tweet : tweets) {
			SimpleTweet simpleTweet = new SimpleTweet(userID,tweet.getId(),tweet.getText());
			simple.addTweet(simpleTweet);
		}
		simple.save();
	}
	
	public SimpleProfile asSimpleProfile() {
		if(userID == -1) {
			System.err.println("Cannot convert to simple profile, no UID set for RawProfile");
			return null;
		}
		SimpleProfile simple = new SimpleProfile(userID);
		for(Status tweet : tweets) {
			SimpleTweet simpleTweet = new SimpleTweet(userID,tweet.getId(),tweet.getText());
			simple.addTweet(simpleTweet);
		}
		return simple;
	}
	

// Path: types/Document.java
// public class Document implements Serializable {
// 
// 	private static final long serialVersionUID = -3396519504581827961L;
// 	
// 	private long id; //ie twitter user id! duh
// 	private String documentString;
// 	private Set<String> topics;
// 	
// 	public Document() {
// 		documentString = new String();
// 		topics = null;
// 		id = -1;
// 	}
// 	
// 	public Document(String documentString) {
// 		this.documentString = documentString;
// 		topics = null;
// 	}
// 	
// 	public Document(String documentString, long id) {
// 		this.documentString = documentString;
// 		this.id = id;
// 		topics = null;
// 	}
// 	
// 	public Document(String documentString, long id, Set<String> topics) {
// 		this.documentString = documentString;
// 		this.id = id;
// 		this.topics = topics;
// 	}
// 	
// 	public String getDocumentString() {
// 		return documentString;
// 	}
// 	
// 	public Set<String> getTopics() {
// 		return topics;
// 	}
// 	
// 	public void setId(long id) {
// 		this.id = id;
// 	}
// 	
// 	public long getId() {
// 		return id;
// 	}
// 	
// 	public void setTopics(Set<String> topics) {
// 		this.topics = topics;
// 	}
// 	
// 	public void setDocumentString(String documentString) {
// 		this.documentString = documentString;
// 	}
// 	
// 	//TODO: A method for returning a word count vector based on an alphabet Map maybe?
// 		
// 	public void print() {
// 		System.out.println(documentString);
// 	}
// 	
// }


// Path: twitter/RawProfile.java
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import twitter4j.Status;
import uk.ac.cam.ha293.tweetlabel.types.Document;

			e.printStackTrace();
		} 
	}

	public void saveAsSimpleProfile() {
		if(userID == -1) {
			System.err.println("Cannot save as simple profile, no UID set for RawProfile");
			return;
		}
		SimpleProfile simple = new SimpleProfile(userID);
		for(Status tweet : tweets) {
			SimpleTweet simpleTweet = new SimpleTweet(userID,tweet.getId(),tweet.getText());
			simple.addTweet(simpleTweet);
		}
		simple.save();
	}
	
	public SimpleProfile asSimpleProfile() {
		if(userID == -1) {
			System.err.println("Cannot convert to simple profile, no UID set for RawProfile");
			return null;
		}
		SimpleProfile simple = new SimpleProfile(userID);
		for(Status tweet : tweets) {
			SimpleTweet simpleTweet = new SimpleTweet(userID,tweet.getId(),tweet.getText());
			simple.addTweet(simpleTweet);
		}
		return simple;
	}
	

	public Set<Document> asDocumentSet() {
