package org.greenrobot.greendao.daotest; import org.greenrobot.greendao.annotation.*; import java.util.List; import org.greenrobot.greendao.daotest.DaoSession; import org.greenrobot.greendao.DaoException; // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit. /** * Entity mapped to table "TREE_ENTITY". */ @Entity(active = true) public class TreeEntity { @Id private Long id; private Long parentId; /** Used to resolve relations */ @Generated private transient DaoSession daoSession; /** Used for active entity operations. */ @Generated private transient TreeEntityDao myDao; @ToOne(joinProperty = "parentId") private TreeEntity parent; @Generated private transient Long parent__resolvedKey; @ToMany(joinProperties = { @JoinProperty(name = "id", referencedName = "parentId") }) private List<TreeEntity> children; @Generated public TreeEntity() { } public TreeEntity(Long id) { this.id = id; } @Generated public TreeEntity(Long id, Long parentId) { this.id = id; this.parentId = parentId; } /** called by internal mechanisms, do not call yourself. */ @Generated public void __setDaoSession(DaoSession daoSession) { this.daoSession = daoSession; myDao = daoSession != null ? daoSession.getTreeEntityDao() : null; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } /** To-one relationship, resolved on first access. */ @Generated public TreeEntity getParent() { Long __key = this.parentId; if (parent__resolvedKey == null || !parent__resolvedKey.equals(__key)) { __throwIfDetached(); TreeEntityDao targetDao = daoSession.getTreeEntityDao(); TreeEntity parentNew = targetDao.load(__key); synchronized (this) { parent = parentNew; parent__resolvedKey = __key; } } return parent; } @Generated public void setParent(TreeEntity parent) { synchronized (this) { this.parent = parent; parentId = parent == null ? null : parent.getId(); parent__resolvedKey = parentId; } } /** To-many relationship, resolved on first access (and after reset). Changes to to-many relations are not persisted, make changes to the target entity. */ @Generated public List<TreeEntity> getChildren() { if (children == null) { __throwIfDetached(); TreeEntityDao targetDao = daoSession.getTreeEntityDao(); List<TreeEntity> childrenNew = targetDao._queryTreeEntity_Children(id); synchronized (this) { if(children == null) { children = childrenNew; } } } return children; } /** Resets a to-many relationship, making the next get call to query for a fresh result. */ @Generated public synchronized void resetChildren() { children = null; } /** * Convenient call for {@link org.greenrobot.greendao.AbstractDao#delete(Object)}. * Entity must attached to an entity context. */ @Generated public void delete() { __throwIfDetached(); myDao.delete(this); } /** * Convenient call for {@link org.greenrobot.greendao.AbstractDao#update(Object)}. * Entity must attached to an entity context. */ @Generated public void update() { __throwIfDetached(); myDao.update(this); } /** * Convenient call for {@link org.greenrobot.greendao.AbstractDao#refresh(Object)}. * Entity must attached to an entity context. */ @Generated public void refresh() { __throwIfDetached(); myDao.refresh(this); } @Generated private void __throwIfDetached() { if (myDao == null) { throw new DaoException("Entity is detached from DAO context"); } } }