2 * This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
3 * directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
4 * including this file, may be copied, modified, propagated, or distributed except according to the terms contained
8 package wtf
.metio
.yosql
.codegen
.files
;
10 import java
.nio
.file
.Path
;
13 * Preconditions that have to be matched for SQL parsing to work.
15 public interface ParserPreconditions
{ // TODO: rename to CodegenPreconditions b/c writing is for generators not parsers
18 * Asserts that a single directory is writable. In order to be writable, the directory has to:
21 * <li>be a directory (not a file)</li>
22 * <li>be writable by the current process</li>
25 * @param directory The directory to check
27 void assertDirectoryIsWriteable(Path directory
);
30 * Asserts that a single directory is readable. In order to be readable, the directory has to:
33 * <li>be a directory (not a file)</li>
34 * <li>be readable by the current process</li>
37 * @param directory The directory to check
39 void directoryIsReadable(Path directory
);