コード例 #1
0
ファイル: Executor.cs プロジェクト: jpayne0061/HotSauceDB
        public static Executor GetInstance(string databaseName = Constants.FILE_NAME)
        {
            if (_instance == null)
            {
                lock (_lockObject)
                {
                    if (databaseName != null)
                    {
                        if (!File.Exists(databaseName))
                        {
                            using (File.Create(databaseName));
                        }
                    }

                    var updateParser    = new UpdateParser();
                    var stringParser    = new StringParser();
                    var reader          = new Reader();
                    var writer          = new Writer(reader);
                    var lockManager     = new LockManager(writer, reader);
                    var schemaFetcher   = new SchemaFetcher(reader);
                    var selectParser    = new SelectParser();
                    var insertParser    = new InsertParser(schemaFetcher);
                    var generalParser   = new GeneralParser();
                    var createParser    = new CreateParser();
                    var predicateParser = new PredicateParser();

                    var interpreter = new Interpreter(
                        selectParser,
                        insertParser,
                        updateParser,
                        schemaFetcher,
                        generalParser,
                        createParser,
                        stringParser,
                        lockManager,
                        reader,
                        predicateParser);

                    _instance = new Executor(interpreter);
                }
            }

            return(_instance);
        }
コード例 #2
0
ファイル: Interpreter.cs プロジェクト: jpayne0061/HotSauceDB
 public Interpreter(SelectParser selectParser,
                    InsertParser insertParser,
                    UpdateParser updateParser,
                    SchemaFetcher schemaFetcher,
                    GeneralParser generalParser,
                    CreateParser createParser,
                    StringParser stringParser,
                    LockManager lockManager,
                    Reader reader,
                    PredicateParser predicateParser)
 {
     _selectParser    = selectParser;
     _insertParser    = insertParser;
     _updateParser    = updateParser;
     _schemaFetcher   = schemaFetcher;
     _generalParser   = generalParser;
     _createParser    = createParser;
     _stringParser    = stringParser;
     _lockManager     = lockManager;
     _reader          = reader;
     _predicateParser = predicateParser;
 }