📄 wcscapabilitiesparserfactory.java
字号:
package com.esri.solutions.jitk.datasources.ogc.wcs.parsing;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.esri.solutions.jitk.datasources.exceptions.ParserNotFoundException;
/**
* @author vlad2928
*
*/
public class WCSCapabilitiesParserFactory {
private static Map<String, String> classNames = new HashMap<String, String>();
static {
classNames.put("1.1.1", com.esri.solutions.jitk.datasources.ogc.wcs.parsing.version111.WCSCapabilitiesParser.class.getName());
classNames.put("1.1.0", com.esri.solutions.jitk.datasources.ogc.wcs.parsing.version110.WCSCapabilitiesParser.class.getName());
classNames.put("1.0.0", com.esri.solutions.jitk.datasources.ogc.wcs.parsing.version100.WCSCapabilitiesParser.class.getName());
}
public static synchronized Map<String, String> getClassNames() {
return WCSCapabilitiesParserFactory.classNames;
}
public static synchronized void setClassNames(Map<String, String> classNames) {
WCSCapabilitiesParserFactory.classNames = classNames;
}
public static synchronized void setClassName(String key, String className) {
WCSCapabilitiesParserFactory.classNames.put(key, className);
}
private static Object newInstance(String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
if(className == null) {
throw new ClassNotFoundException("Class name is null.");
} else {
Class<?> classObject = Class.forName(className);
return classObject.newInstance();
}
}
public static List<String> getSupportedVersions() {
List<String> versions = new ArrayList<String>(classNames.keySet());
Collections.sort(versions);
Collections.reverse(versions);
return versions;
}
public static boolean isSupportedVersion(String version) {
return classNames.keySet().contains(version);
}
public static IWCSCapabilitiesParser getInstance(String version) throws ParserNotFoundException {
IWCSCapabilitiesParser parser = null;
try {
parser = (IWCSCapabilitiesParser)newInstance(classNames.get(version));
} catch(ClassNotFoundException ex) {
throw new ParserNotFoundException(ex.getMessage());
} catch(IllegalAccessException ex) {
throw new ParserNotFoundException(ex.getMessage());
} catch(InstantiationException ex) {
throw new ParserNotFoundException(ex.getMessage());
}
return parser;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -