Newer
Older
//@author Ajit Jagtap
//@version Wed Jul 04 2018 20:15:13 GMT+0530 (IST)
// Package dalmdl will help you access
package dalmdl
import (
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/dalmdl/fdb"
"github.com/tidwall/gjson"
)
// BaseDAO help to fetch data
type BaseDAO struct {
filePath string
query []string
Output gjson.Result
isCacheable bool
}
// DAOBuilder will help to run gson query
type DAOBuilder struct {
BaseDAO
}
// GetDAO return new instance
func GetDAO() *DAOBuilder {
return &DAOBuilder{}
}
// Run : Execute Query
func (db *DAOBuilder) Run() *gjson.Result {
db.Output = gjson.Result{}
for _, qry := range db.query {
db.Output, _ = fdb.GetDataDAO(db.filePath, qry, db.isCacheable, db.Output)
}
return &db.Output
}
// FilePath to open File and get data from FDB
func (db *DAOBuilder) FilePath(name string) *DAOBuilder {
db.BaseDAO.filePath = name
return db
}
// IsCacheable to open File and get data from FDB
func (db *DAOBuilder) IsCacheable(isCacheable bool) *DAOBuilder {
db.BaseDAO.isCacheable = isCacheable
return db
}
// Query give multiple queries for and condition
func (db *DAOBuilder) Query(query ...string) *DAOBuilder {
db.BaseDAO.query = query
return db
}