// Path: src/main/java/no/gorman/database/Where.java
// public class Where {
// 
//     public final DatabaseColumns column;
//     public final String operator;
//     public final Object value;
// 
//     public Where(DatabaseColumns column, String operator) {
//         this.column = column;
//         this.operator = operator;
//         this.value = null;
//     }
// 
//     public Where(DatabaseColumns column, String operator, Object value) {
//         this.column = column;
//         this.operator = operator;
//         this.value = value;
//     }
//     
//     @Override
//     public String toString() {
//         return column.getTable() + "." + column.name() + " " + operator + " " + value;
//     }
// }
// 
// Path: src/main/java/no/gorman/please/common/Child.java
// public class Child  implements NameMethods {
// 
//     public Child() {
//         
//     }
// 
//     @Column(column=DatabaseColumns.child_id)
//     private Long child_id;
//     
//     @Column(column=DatabaseColumns.dob)
//     private LocalDate DOB;
// 
//     @Column(column=DatabaseColumns.child_first_name)
//     private String child_first_name;
// 
//     @Column(column=DatabaseColumns.child_middle_name)
//     private String child_middle_name;
// 
//     @Column(column=DatabaseColumns.child_last_name)
//     private String child_last_name;
// 
//     @Column(column=DatabaseColumns.nickname)
//     private String nickname;
// 
//     @Column(column=DatabaseColumns.child_version)
//     private int child_version = 0;
// 
//     @Column(column=DatabaseColumns.color)
//     private String color;
// 
//     @Column(column=DatabaseColumns.child_daycare_id)
//     private Long child_daycare_id;
// 
//     public Long getChildId() {
//         return child_id;
//     }
//     public void setChildId(Long childId) {
//         this.child_id = childId;
//     }
//     public LocalDate getDOB() {
//         return DOB;
//     }
//     public void setDOB(LocalDate dOB) {
//         DOB = dOB;
//     }
// 
//     @Override
//     public String getFirstName() {
//         return child_first_name;
//     }
//     public void setFirstName(String firstName) {
//         this.child_first_name = firstName;
//     }
// 
//     @Override
//     public String getMiddleName() {
//         return child_middle_name;
//     }
//     public void setMiddleName(String middleName) {
//         this.child_middle_name = middleName;
//     }
// 
//     @Override
//     public String getLastName() {
//         return child_last_name;
//     }
//     public void setLastName(String lastName) {
//         this.child_last_name = lastName;
//     }
// 
//     @Override
//     public String getNickname() {
//         return nickname;
//     }
//     public void setNickname(String nickname) {
//         this.nickname = nickname;
//     }
//     public int getVersion() {
//         return child_version;
//     }
//     public void setVersion(int version) {
//         this.child_version = version;
//     }
//     public String getColor() {
//         return color;
//     }
//     public void setColor(String color) {
//         this.color = color;
//     }
// 
//     public Long getDaycareId() {
//         return child_daycare_id;
//     }
// 
//     public void setDaycareId(Long daycare) {
//         this.child_daycare_id = daycare;
//     }
// 
//     @Override
//     public String toString() {
//         return nickname + "(" + child_version + ")";
//     }
// 
//     @Override
//     public int hashCode() {
//         return Objects.hash(child_id, child_version);
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         Child other = (Child)obj;
//         return Objects.equals(other.child_id, child_id) && (Objects.equals(other.child_version, child_version));
//     }
// 
//     public static Child withNickname(String nick) {
//         Child child = new Child();
//         child.setNickname(nick);
//         return child;
//     }
// }
// 
// Path: src/main/java/no/gorman/please/utils/WithDatabase.java
// public abstract class WithDatabase {
// 
//     private final ThreadLocal<DB> db;
// 
//     public WithDatabase() {
//         this(null);
//     }
// 
//     public WithDatabase(DB db) {
//         this.db = new ThreadLocal<>();
//         this.db.set(db);
//     }
// 
//     public void setDB(DB db) {
//         this.db.set(db);
//     }
// 
//     public DB getDB() {
//         return db.get();
//     }
// 
// }


import no.gorman.database.Where;
import no.gorman.please.common.Child;
import no.gorman.please.utils.WithDatabase;
import static no.gorman.database.DatabaseColumns.child_id;
import static no.gorman.database.DatabaseColumns.gc_grownup_id;
package no.gorman.please.child;



public class ChildCRUD extends WithDatabase {

    public void newChild(Child newOne) {
        getDB().insert(newOne);
    }

    public void updateChild(Child updated) {
        getDB().update(updated);
    }

    public Child findChild(long grownupId, int childId) {
        return getDB().selectOnlyOne(Child.class,
// Path: src/main/java/no/gorman/database/Where.java
// public class Where {
// 
//     public final DatabaseColumns column;
//     public final String operator;
//     public final Object value;
// 
//     public Where(DatabaseColumns column, String operator) {
//         this.column = column;
//         this.operator = operator;
//         this.value = null;
//     }
// 
//     public Where(DatabaseColumns column, String operator, Object value) {
//         this.column = column;
//         this.operator = operator;
//         this.value = value;
//     }
//     
//     @Override
//     public String toString() {
//         return column.getTable() + "." + column.name() + " " + operator + " " + value;
//     }
// }
// 
// Path: src/main/java/no/gorman/please/common/Child.java
// public class Child  implements NameMethods {
// 
//     public Child() {
//         
//     }
// 
//     @Column(column=DatabaseColumns.child_id)
//     private Long child_id;
//     
//     @Column(column=DatabaseColumns.dob)
//     private LocalDate DOB;
// 
//     @Column(column=DatabaseColumns.child_first_name)
//     private String child_first_name;
// 
//     @Column(column=DatabaseColumns.child_middle_name)
//     private String child_middle_name;
// 
//     @Column(column=DatabaseColumns.child_last_name)
//     private String child_last_name;
// 
//     @Column(column=DatabaseColumns.nickname)
//     private String nickname;
// 
//     @Column(column=DatabaseColumns.child_version)
//     private int child_version = 0;
// 
//     @Column(column=DatabaseColumns.color)
//     private String color;
// 
//     @Column(column=DatabaseColumns.child_daycare_id)
//     private Long child_daycare_id;
// 
//     public Long getChildId() {
//         return child_id;
//     }
//     public void setChildId(Long childId) {
//         this.child_id = childId;
//     }
//     public LocalDate getDOB() {
//         return DOB;
//     }
//     public void setDOB(LocalDate dOB) {
//         DOB = dOB;
//     }
// 
//     @Override
//     public String getFirstName() {
//         return child_first_name;
//     }
//     public void setFirstName(String firstName) {
//         this.child_first_name = firstName;
//     }
// 
//     @Override
//     public String getMiddleName() {
//         return child_middle_name;
//     }
//     public void setMiddleName(String middleName) {
//         this.child_middle_name = middleName;
//     }
// 
//     @Override
//     public String getLastName() {
//         return child_last_name;
//     }
//     public void setLastName(String lastName) {
//         this.child_last_name = lastName;
//     }
// 
//     @Override
//     public String getNickname() {
//         return nickname;
//     }
//     public void setNickname(String nickname) {
//         this.nickname = nickname;
//     }
//     public int getVersion() {
//         return child_version;
//     }
//     public void setVersion(int version) {
//         this.child_version = version;
//     }
//     public String getColor() {
//         return color;
//     }
//     public void setColor(String color) {
//         this.color = color;
//     }
// 
//     public Long getDaycareId() {
//         return child_daycare_id;
//     }
// 
//     public void setDaycareId(Long daycare) {
//         this.child_daycare_id = daycare;
//     }
// 
//     @Override
//     public String toString() {
//         return nickname + "(" + child_version + ")";
//     }
// 
//     @Override
//     public int hashCode() {
//         return Objects.hash(child_id, child_version);
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         Child other = (Child)obj;
//         return Objects.equals(other.child_id, child_id) && (Objects.equals(other.child_version, child_version));
//     }
// 
//     public static Child withNickname(String nick) {
//         Child child = new Child();
//         child.setNickname(nick);
//         return child;
//     }
// }
// 
// Path: src/main/java/no/gorman/please/utils/WithDatabase.java
// public abstract class WithDatabase {
// 
//     private final ThreadLocal<DB> db;
// 
//     public WithDatabase() {
//         this(null);
//     }
// 
//     public WithDatabase(DB db) {
//         this.db = new ThreadLocal<>();
//         this.db.set(db);
//     }
// 
//     public void setDB(DB db) {
//         this.db.set(db);
//     }
// 
//     public DB getDB() {
//         return db.get();
//     }
// 
// }


// Path: src/main/java/no/gorman/please/child/ChildCRUD.java
import no.gorman.database.Where;
import no.gorman.please.common.Child;
import no.gorman.please.utils.WithDatabase;
import static no.gorman.database.DatabaseColumns.child_id;
import static no.gorman.database.DatabaseColumns.gc_grownup_id;

package no.gorman.please.child;



public class ChildCRUD extends WithDatabase {

    public void newChild(Child newOne) {
        getDB().insert(newOne);
    }

    public void updateChild(Child updated) {
        getDB().update(updated);
    }

    public Child findChild(long grownupId, int childId) {
        return getDB().selectOnlyOne(Child.class,
                new Where(child_id, " = ", childId),