import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { BusParkingLotAttrQuickfunc } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2020-12-08 15:22
 */
interface BusParkingLotAttrQuickfuncCU extends ConditionUtil<BusParkingLotAttrQuickfuncCU>{
    ID:FieldUtil<BusParkingLotAttrQuickfuncCU>;
    ORD:FieldUtil<BusParkingLotAttrQuickfuncCU>;
    ICON:FieldUtil<BusParkingLotAttrQuickfuncCU>;
    TITLE:FieldUtil<BusParkingLotAttrQuickfuncCU>;
    URL:FieldUtil<BusParkingLotAttrQuickfuncCU>;
}

class BusParkingLotAttrQuickfuncCUImpl extends ConditionUtilImpl<BusParkingLotAttrQuickfuncCUImpl> implements BusParkingLotAttrQuickfuncCU{ 
    newInstance(): BusParkingLotAttrQuickfuncCUImpl {
        return new BusParkingLotAttrQuickfuncCUImpl();
    } 
    get ID(): FieldUtil<BusParkingLotAttrQuickfuncCU>{  
        return new FieldUtil('ID','id','', this);
    }
    get ORD(): FieldUtil<BusParkingLotAttrQuickfuncCU>{  
        return new FieldUtil('ORD','ord','', this);
    }
    get ICON(): FieldUtil<BusParkingLotAttrQuickfuncCU>{  
        return new FieldUtil('ICON','icon','', this);
    }
    get TITLE(): FieldUtil<BusParkingLotAttrQuickfuncCU>{  
        return new FieldUtil('TITLE','title','', this);
    }
    get URL(): FieldUtil<BusParkingLotAttrQuickfuncCU>{  
        return new FieldUtil('URL','url','', this);
    }
}

@Singleton 
class BusParkingLotAttrQuickfuncMU extends TableUtilImpl<BusParkingLotAttrQuickfuncCU,BusParkingLotAttrQuickfunc>{ 
    tableName  = 'bus_parking_lot_attr_quickfunc';
    tableFields  = ['id','ord','icon','title','url'];
    modelFields  = ['id','ord','icon','title','url'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): BusParkingLotAttrQuickfuncCU {
        return new BusParkingLotAttrQuickfuncCUImpl();
    }   

    static get ID(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return new FieldUtil('ID','id','', new BusParkingLotAttrQuickfuncCUImpl());
    }
    static get ORD(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return new FieldUtil('ORD','ord','', new BusParkingLotAttrQuickfuncCUImpl());
    }
    static get ICON(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return new FieldUtil('ICON','icon','', new BusParkingLotAttrQuickfuncCUImpl());
    }
    static get TITLE(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return new FieldUtil('TITLE','title','', new BusParkingLotAttrQuickfuncCUImpl());
    }
    static get URL(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return new FieldUtil('URL','url','', new BusParkingLotAttrQuickfuncCUImpl());
    }

    get ID(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return BusParkingLotAttrQuickfuncMU.ID;
    }
    get ORD(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return BusParkingLotAttrQuickfuncMU.ORD;
    }
    get ICON(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return BusParkingLotAttrQuickfuncMU.ICON;
    }
    get TITLE(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return BusParkingLotAttrQuickfuncMU.TITLE;
    }
    get URL(): FieldUtil<BusParkingLotAttrQuickfuncCU>{ 
        return BusParkingLotAttrQuickfuncMU.URL;
    }
}
export {BusParkingLotAttrQuickfuncMU, BusParkingLotAttrQuickfuncCU}
