package foundation.dao; import foundation.data.entity.Entity; import foundation.data.object.DataObject; public class PackageItemMeta { private String id; private String parentField; private String name; private DataObject dataObject; private PackageItemType type; private boolean tree; private boolean lazyLoad; public PackageItemMeta() { } public PackageItemMeta(DataObject dataObject) { this.id = dataObject.getDataName(); this.name = dataObject.getDataName(); this.type = PackageItemType.Master; this.dataObject = dataObject; } public void load(Entity entity) { //1. id = entity.getString("id"); parentField = entity.getString("parent_field", "parent_id"); tree = entity.getBoolean("is_tree", false); lazyLoad = entity.getBoolean("is_lazy_load", false); //2. String typeCode = entity.getString("type_code"); type = PackageItemType.parse(typeCode); //3. name = entity.getString("dataname"); } public void load(DataObject object) { dataObject = object; id = "dataobject-create"; name = dataObject.getDataName(); type = PackageItemType.Master; } public void setDataObject() { setDataObject(null); } public void setDataObject(DataObject dataObject) { if (dataObject == null) { dataObject = DataObject.getInstance(name); } this.dataObject = dataObject; } public String getId() { return id; } public String getName() { return name; } public DataObject getDataObject() { return dataObject; } public PackageItemType getType() { return type; } public void setType(PackageItemType type) { this.type = type; } public String getParentField() { return parentField; } public boolean isTree() { return tree; } public boolean isLasyLoad() { return lazyLoad; } public boolean isMaster() { return PackageItemType.Master == type; } }