// Path: source-samples/objects/src/main/java/com/samples/Address$$Mapper.java
// public class Address$$Mapper implements Mapper<Address>  {
// 
//   @Override
//   public Address toObject(Map<String, Object> properties) {
//     final Address object = new Address();
//     object.street = (String) properties.get("street");
//     if (object.street == null && !properties.containsKey("street")) {
//       throw new IllegalStateException("The property \"street\" is not set.");
//     }
//     object.number = (String) properties.get("number");
//     if (object.number == null && !properties.containsKey("number")) {
//       throw new IllegalStateException("The property \"number\" is not set.");
//     }
//     return object;
//   }
// 
//   @Override
//   public Map<String, Object> toProperties(Address object) {
//     final Map<String, Object> properties = new HashMap<>();
//     properties.put("street", object.street);
//     properties.put("number", object.number);
//     return properties;
//   }
// }
// 
// Path: source-samples/simple/src/main/java/com/samples/Person.java
// @Entity("person")
// public class Person {
// 
//   @Field("name")
//   String name;
// 
//   @Field("age")
//   int age;
// 
//   public Person() {
//   }
// 
//   public Person(String name, Integer age) {
//     this.name = name;
//     this.age = age;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public Integer getAge() {
//     return age;
//   }
// }
// 
// Path: source-samples/objects/src/main/java/com/samples/Person$$Mapper.java
// public class Person$$Mapper implements Mapper<Person> {
//   public Address$$Mapper addressMapper;
// 
//   @Override
//   public Person toObject(Map<String, Object> properties) {
//     final Person object = new Person();
//     if (properties.get("address") != null) {
//       object.address = addressMapper.toObject((Map<String, Object>) properties.get("address"));
//     } else if (!properties.containsKey("address")) {
//       throw new IllegalStateException("The property \"address\" is not set.");
//     } else {
//       object.address = null;
//     }
//     return object;
//   }
// 
//   @Override
//   public Map<String, Object> toProperties(Person object) {
//     final Map<String, Object> properties = new HashMap<>();
//     properties.put("type", "person");
//     properties.put("address", object.address == null ? null : addressMapper.toProperties(object.address));
//     return properties;
//   }
// }


import com.samples.Address$$Mapper;
import com.samples.Person;
import com.samples.Person$$Mapper;
package com.braisgabin.couchbaseliteorm;


/**
 * Created by brais on 7/1/15.
 */
class CouchbaseLiteOrmInternal extends CouchbaseLiteOrm {
  CouchbaseLiteOrmInternal() {
    final Address$$Mapper addressMapper = new Address$$Mapper();
    final Person$$Mapper personMapper = new Person$$Mapper();
    personMapper.addressMapper = addressMapper;
// Path: source-samples/objects/src/main/java/com/samples/Address$$Mapper.java
// public class Address$$Mapper implements Mapper<Address>  {
// 
//   @Override
//   public Address toObject(Map<String, Object> properties) {
//     final Address object = new Address();
//     object.street = (String) properties.get("street");
//     if (object.street == null && !properties.containsKey("street")) {
//       throw new IllegalStateException("The property \"street\" is not set.");
//     }
//     object.number = (String) properties.get("number");
//     if (object.number == null && !properties.containsKey("number")) {
//       throw new IllegalStateException("The property \"number\" is not set.");
//     }
//     return object;
//   }
// 
//   @Override
//   public Map<String, Object> toProperties(Address object) {
//     final Map<String, Object> properties = new HashMap<>();
//     properties.put("street", object.street);
//     properties.put("number", object.number);
//     return properties;
//   }
// }
// 
// Path: source-samples/simple/src/main/java/com/samples/Person.java
// @Entity("person")
// public class Person {
// 
//   @Field("name")
//   String name;
// 
//   @Field("age")
//   int age;
// 
//   public Person() {
//   }
// 
//   public Person(String name, Integer age) {
//     this.name = name;
//     this.age = age;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public Integer getAge() {
//     return age;
//   }
// }
// 
// Path: source-samples/objects/src/main/java/com/samples/Person$$Mapper.java
// public class Person$$Mapper implements Mapper<Person> {
//   public Address$$Mapper addressMapper;
// 
//   @Override
//   public Person toObject(Map<String, Object> properties) {
//     final Person object = new Person();
//     if (properties.get("address") != null) {
//       object.address = addressMapper.toObject((Map<String, Object>) properties.get("address"));
//     } else if (!properties.containsKey("address")) {
//       throw new IllegalStateException("The property \"address\" is not set.");
//     } else {
//       object.address = null;
//     }
//     return object;
//   }
// 
//   @Override
//   public Map<String, Object> toProperties(Person object) {
//     final Map<String, Object> properties = new HashMap<>();
//     properties.put("type", "person");
//     properties.put("address", object.address == null ? null : addressMapper.toProperties(object.address));
//     return properties;
//   }
// }


// Path: source-samples/objects/src/main/java/com/braisgabin/couchbaseliteorm/CouchbaseLiteOrmInternal.java
import com.samples.Address$$Mapper;
import com.samples.Person;
import com.samples.Person$$Mapper;

package com.braisgabin.couchbaseliteorm;


/**
 * Created by brais on 7/1/15.
 */
class CouchbaseLiteOrmInternal extends CouchbaseLiteOrm {
  CouchbaseLiteOrmInternal() {
    final Address$$Mapper addressMapper = new Address$$Mapper();
    final Person$$Mapper personMapper = new Person$$Mapper();
    personMapper.addressMapper = addressMapper;
    registerType("person", Person.class, personMapper);