This is a simple project to give me a chance to serialize from Java to Timeglider's JSON format. It does not deserialize the data, as I currently have no use for it.
I've provided 3 base classes(Event, Legend, Timeline) and one serializer (GsonFormatter) that you can build to populate your timeline, then just throw it at Google's Gson object to generate your JSON format. Gson is a pretty nifty library, and makes much of this work a breeze.
According to the documentation, Timeglider will take an array of timelines
in and use those for display. Each Timeline is composed of a Legend class,
which will show you the equivalent of a key in a map, where each Legend class
is a title of what the icon displays, and a link to the .png file for it.
Each Timeline is mostly composed of Event instance, which you can create
borrowing from Josh Bloch's revised builder pattern:
Event e = new Event.EventBuilder("unique event id", "Event Title", new
Date())
.title("title") // all additional fields are optional
.enddate(new Date())
....
.build(); // But don't forget to do thisRolling these into a timeline is pretty easy, too. To create a single timeline,
create a new Timeline class:
Timeline t = new Timeline.Builder("id_to_give", "Title of Timeline",
List<Event> list_of_events)
.focus_date(...) // same as Event: all additional fields optional
...
.build(); // make sure you do this, thoughand finally, to create your TimeGlider JSON:
GsonFormatter g = new GsonFormatter(new List<Timeline>(){ timelines });
String timeglider_json = g.toJson(); // Ta Da!Details about Timeglider can be found in the Information section.