appconfig.java
来自「RESIN 3.2 最新源码」· Java 代码 · 共 99 行
JAVA
99 行
package example;import javax.annotation.*;import java.net.*;import java.io.*;import com.caucho.vfs.*;/** * AppConfig is a singleton <bean> service containing configuration. */public class AppConfig { ConfigFilesLocation _cfl = null; /** * Set the base for subsequent call's to openConfigFileRead() * and openConfigFileWrite() * * @param location a file path or url */ public void setConfigFilesLocation(String location) throws Exception { _cfl = new ConfigFilesLocation(); _cfl.setLocation(location); } @PostConstruct public void init() throws Exception { if (_cfl == null) throw new Exception("'config-files-location' must be set"); } /** * Create and return a ReadStream for a configuration file, with * the file being relative to the base previously set with * setConfigFilesLocation() * * @return a WriteStream, which can be treated as a * java.io.InputStream if desired * * @see java.io.InputStream */ public ReadStream openConfigFileRead(String file) throws IOException { return _cfl.openRead(file); } /** * Create and return an WriteStream for a configuration file, with * the file being relative to the base previously set with * setConfigFilesLocation(). * * @return a WriteStream, which can be treated as a * java.io.OutputStream if desired * * @see java.io.OutputStream */ public WriteStream openConfigFileWrite(String file) throws IOException { return _cfl.openWrite(file); } public static class ConfigFilesLocation { Path _path; // com.caucho.vfs.Path public void setLocation(String location) { _path = Vfs.lookup().lookup(location); } public ReadStream openRead(String file) throws IOException { Path p = _path.lookup(file); if (! p.getFullPath().startsWith(_path.getFullPath())) throw new IllegalStateException(); return p.openRead(); } public WriteStream openWrite(String file) throws IOException { Path p = _path.lookup(file); if (! p.getFullPath().startsWith(_path.getFullPath())) throw new IllegalStateException(); return p.openWrite(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?