I Use This!
Activity Not Available
Analyzed about 1 year ago. based on code collected about 1 year ago.

Project Summary

Twig - Making the Datastore more manageableTwig is an object persistence interface built on Google App Engine's low-level datastore which overcomes many of JDO-GAEs limitations including full support for inheritance, polymorphism and generic types. You can easily configure, modify or extend Twigs behaviour by implementing your own strategies or overriding extension points in pure Java code.

Twig is the only datastore interface to support:

Parallel Asynchronous Commands Plain old Java object data models with no datastore dependencies Merged OR queries on multiple properties

Read the documentation to get started

Visit the Twig Discussion Group

Show me some codeThe central interface you will use is ObjectDatastore which has an implementation AnnotationTypesafeDatastore

// stateful session configured with annotations
ObjectDatastore datastore = new AnnotationObjectDatastore();

// create a complex object graph
Band ledzep = createClassicRockband();

// store the instance and all other reachable instances
Key key = datastore.store(ledzep);

// converted into a query by kind with a key name
Band result = datastore.find(Band.class, "Led Zeppelin");

// the identical instance is always returned from same datastore
assert result == ledzep;

// modernize the classic rock band
ledzep.name = "White Stripes";

// call update on changed instances

// no need to deal with Keys

// run a find command
Iterator punkBands = datastore.find()
.addFilter("genre", EQUAL, Genre.PUNK)

A common sentimentA message from the App Engine Java group:

"It seems alarming to me that these basic relations are difficult to code. Lets face it, applications are full of these relations...it seems to me that too much developer time is required in the Persistence layer of GAE apps. The Persistence and Presentation layers needs to be a "no brainer", so more focus can be where it needs to be - the business layer. Does anyone feel the same?" - Diana Cruise

Twig is named after the super thin sixties model Twiggy - or it could be something like Typesafe Wrapper in GAE


appengine database datastore gae java jdo object odbms persistence

In a Nutshell, twig-persist...

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    compare projects before you chose one to use
  • ...
    there are over 3,000 projects on the Open Hub with security vulnerabilities reported against them
  • ...
    anyone with an Open Hub account can update a project's tags


2 Other

30 Day Summary

Apr 10 2016 — May 10 2016

12 Month Summary

May 10 2015 — May 10 2016


Be the first to rate this project
Click to add your rating
Review this Project!