Simple ActionScript ORM example

The code base is getting a lot closer to being ready for an alpha release, but here is a quick example of how to use the orm to get an array of all users with a first name containing the string 'matt'.

Actionscript:
  1. import com.angrysprite.data.Database;
  2. import com.angrysprite.data.models.DataModelFactory;
  3. import com.angrysprite.data.models.DataModelStatement;
  4. import com angrysprite.data.QuerySet;
  5. import com.angrysprite.events.DatabaseEvent;
  6. import com.angrysprte.events.DataModelStatementEvent;
  7. import com.angrysprite.models.User;
  8.  
  9. private var database:Database;
  10. private var dataModelFactory:DataModelFactory;
  11. private var users:Array = [];
  12.  
  13. private function init():void {
  14.     database = new Database(new File(File.applicationStorageDirectory.nativePath + File.seperator + "test.db"));
  15.     dataModelFactory = new DataModelFactory(database);
  16.     database.addEventListener(DataBaseEvent.DATABASE_READY, onDatabaseReady);
  17.     database.open();
  18. }
  19.  
  20. private function onDatabaseReady(event:DatabaseEvent):void {
  21.     var qs:QuerySet = new QuerySet().filter([{firstname__contains: 'matt'}]);
  22.     var dmStatement:DataModelStatement = dataModelFactory.getModel(User, qs);
  23.     dmStatement.addEventListener(DataModelStatementEvent.RESULT, userModelsReady);
  24.     dmStatement.execute();
  25. }
  26.  
  27. private function userModelsReady(event:DataModelStatementEvent):void {
  28.     users = users.concat(event.target.result);
  29. }

I think that is a lot easier and cleaner then using the straight air SQLite API.

Please take a look, and let me know if there are any questions or comments.

As soon as I get things a little more together, I will be creating a new google code project for this, and linking to it from here.