mongo-dart / tests / objectory / DomainModel.dart

interface IAuthor{
  String name;
  int age;
  String email;
}
interface IPerson{
  String firstName;
  String lastName;
  Date birthday;
  Address address;  
}
interface IAddress{
  String cityName;
  String zipcode;
  String streetName;
}


class Author extends RootPersistentObject implements IAuthor{  
  String get type()=>'Author';
  init(){
    setPropertyList(["name","age","email"]);
  }
  set name(String value){
    if (value is String){
      value = value.toUpperCase();
    }      
    setProperty('name', value);
  }
}
class Person extends RootPersistentObject implements IPerson{  
  String get type()=>"Person";
  init(){    
    setPropertyList(["firstName","lastName","birthday","address"]);
    address = new Address();
  }
}  
class Address extends InnerPersistentObject implements IAddress{  
  String get type()=>"Address";
  init(){
    setPropertyList(["cityName","zipCode","streetName"]);
  }
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.