module hunt.entity.EntityFieldObject; import hunt.entity; interface IEntityFieldObject { LazyData getLazyData(Row row); FetchType fetchType(); } class EntityFieldObject(T : Object, F : Object) : EntityFieldInfo, IEntityFieldObject { protected T _value; protected F _owner; protected EntityInfo!(T,F) _entityInfo; protected EntityManager _manager; this (EntityManager manager,string fieldName, string columnName, string tableName, T fieldValue, F owner) { super(fieldName, columnName, tableName); _manager = manager; _value = fieldValue; _owner = owner; _entityInfo = new EntityInfo!(T,F)(_manager, fieldValue, owner); _typeInfo = typeid(T); } override bool isAggregateType() { return true; } FetchType fetchType() { return FetchType.LAZY; } LazyData getLazyData(Row row) { return null; } }