-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove change detection from SqlResourceManager and Add SqlResourceLo…
…ader
- Loading branch information
1 parent
11da69c
commit 35f6ef3
Showing
16 changed files
with
738 additions
and
1,106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
/** | ||
* Copyright (c) 2017-present, Future Corporation | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
package jp.co.future.uroborosql.store; | ||
|
||
import java.nio.file.Path; | ||
|
||
/** | ||
* SQLファイルの情報を保持するオブジェクト | ||
*/ | ||
public class SqlInfo { | ||
/** zip, jar内のファイルのscheme */ | ||
public static final String SCHEME_JAR = "jar"; | ||
|
||
/** ファイルシステム上のファイルのscheme */ | ||
public static final String SCHEME_FILE = "file"; | ||
|
||
/** sqlNameに対応するPath. */ | ||
private final Path path; | ||
|
||
/** 読み込みを行ったSQLルートパス */ | ||
private final Path rootPath; | ||
|
||
/** 読み込んだファイルのscheme */ | ||
private final String scheme; | ||
|
||
/** SQLファイルの内容.*/ | ||
private final String sqlBody; | ||
|
||
/** | ||
* コンストラクタ | ||
* @param path Path | ||
* @param rootPath 読み込みを行ったSQLルートパス | ||
* @param scheme 読み込んだファイルのscheme | ||
* @param sqlBody SqlBody | ||
*/ | ||
public SqlInfo(final Path path, final Path rootPath, final String scheme, final String sqlBody) { | ||
this.path = path; | ||
this.rootPath = rootPath; | ||
this.scheme = scheme; | ||
this.sqlBody = sqlBody; | ||
} | ||
|
||
/** | ||
* sqlNameに対応するPath.を取得します. | ||
* @return sqlNameに対応するPath. | ||
*/ | ||
public Path getPath() { | ||
return path; | ||
} | ||
|
||
/** | ||
* 読み込みを行ったSQLルートパスを取得します. | ||
* @return 読み込みを行ったSQLルートパス | ||
*/ | ||
public Path getRootPath() { | ||
return rootPath; | ||
} | ||
|
||
/** | ||
* 読み込んだファイルのschemeを取得します. | ||
* @return 読み込んだファイルのscheme | ||
*/ | ||
public String getScheme() { | ||
return scheme; | ||
} | ||
|
||
/** | ||
* SQLファイルの内容.を取得します. | ||
* @return SQLファイルの内容. | ||
*/ | ||
public String getSqlBody() { | ||
return sqlBody; | ||
} | ||
|
||
} |
90 changes: 90 additions & 0 deletions
90
src/main/java/jp/co/future/uroborosql/store/SqlResourceLoader.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
/** | ||
* Copyright (c) 2017-present, Future Corporation | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
package jp.co.future.uroborosql.store; | ||
|
||
import java.io.IOException; | ||
import java.io.InputStream; | ||
import java.net.URL; | ||
import java.nio.charset.Charset; | ||
import java.nio.file.Path; | ||
import java.util.List; | ||
|
||
/** | ||
* SQLリソースローダー インタフェース. | ||
* | ||
* @author H.Sugimoto | ||
* @since v1.0.0 | ||
*/ | ||
public interface SqlResourceLoader { | ||
/** | ||
* ファイル拡張子を取得します. | ||
* @return ファイル拡張子 | ||
*/ | ||
String getFileExtension(); | ||
|
||
/** | ||
* ファイル拡張子を設定します. | ||
* @param fileExtension ファイル拡張子 | ||
*/ | ||
void setFileExtension(final String fileExtension); | ||
|
||
/** | ||
* Charsetを取得します. | ||
* @return Charset | ||
*/ | ||
Charset getCharset(); | ||
|
||
/** | ||
* Charsetを設定します. | ||
* @param charset Charset | ||
*/ | ||
void setCharset(final Charset charset); | ||
|
||
/** | ||
* クラスローダーを取得します. | ||
* @return クラスローダー | ||
*/ | ||
ClassLoader getClassLoader(); | ||
|
||
/** | ||
* 指定した名前に対するリソースのURLを取得します. | ||
* @param name リソース名 | ||
* @return リソースに対するURL | ||
*/ | ||
URL getResource(String name); | ||
|
||
/** | ||
* 指定した名前に対するリソースのURLを取得します. | ||
* @param path リソースパス | ||
* @return リソースに対するURL | ||
*/ | ||
URL getResource(Path path); | ||
|
||
/** | ||
* 指定したパス配下のSQLリソースをすべて取得します. | ||
* @param rootPath SQLリソースのルートパス | ||
* @return 取得したSQL情報のリスト | ||
*/ | ||
List<SqlInfo> loadAllSql(final Path rootPath); | ||
|
||
/** | ||
* 指定されたInputStreamからSQL本文を取得します. 引数のInputStreamは読み込み後クローズされます. | ||
* @param is 対象のInputStream | ||
* @return SQL本文 | ||
* @throws IOException SQLの読み込みに失敗した場合 | ||
*/ | ||
String loadSql(final InputStream is) throws IOException; | ||
|
||
/** | ||
* 指定されたURLからSQL本文を取得します. 引数のURLから取得したInputStreamは読み込み後クローズされます. | ||
* @param url 対象のURL | ||
* @return SQL本文 | ||
* @throws IOException SQLの読み込みに失敗した場合 | ||
*/ | ||
String loadSql(final URL url) throws IOException; | ||
|
||
} |
Oops, something went wrong.