20 package net.sf.gridarta.model.configsource;
22 import java.util.ArrayList;
23 import java.util.MissingResourceException;
26 import net.
sf.japi.swing.action.ActionBuilder;
27 import net.
sf.japi.swing.action.ActionBuilderFactory;
28 import org.jetbrains.annotations.NotNull;
47 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
54 private final ArrayList<ConfigSource>
configSources =
new ArrayList<>();
62 final Class<?> configSourceClass;
64 configSourceClass = Class.forName(configSourceClassName);
65 }
catch (
final ClassNotFoundException ex) {
67 throw new MissingResourceException(
"Class does not exist: " + configSourceClassName +
": " + ex.getMessage(),
"net.sf.gridarta",
CONFIG_SOURCES_KEY);
70 final Class<? extends ConfigSource> configSourceClass2;
72 configSourceClass2 = configSourceClass.asSubclass(
ConfigSource.class);
73 }
catch (
final ClassCastException ex) {
75 throw new MissingResourceException(
"Class does not implement ConfigSource: " + configSourceClassName +
": " + ex.getMessage(),
"net.sf.gridarta",
CONFIG_SOURCES_KEY);
80 configSource = configSourceClass2.newInstance();
81 }
catch (
final InstantiationException ex) {
83 throw new MissingResourceException(
"Class cannot be instantiated: " + configSourceClassName +
": " + ex.getMessage(),
"net.sf.gridarta",
CONFIG_SOURCES_KEY);
84 }
catch (
final IllegalAccessException ex) {
86 throw new MissingResourceException(
"Class cannot be instantiated: " + configSourceClassName +
": " + ex.getMessage(),
"net.sf.gridarta",
CONFIG_SOURCES_KEY);
89 configSources.add(configSource);
92 configSources.trimToSize();
98 return configSources.toArray(
new ConfigSource[configSources.size()]);
105 if (configSource.getName().equals(name)) {
110 return configSources.get(0);
116 return configSources.get(0);
Utility class for string manipulation.
DefaultConfigSourceFactory()
Creates a new instance.
ConfigSource getDefaultConfigSource()
Returns the default ConfigSource.
static final String CONFIG_SOURCES_KEY
The action key for configuration source class names.
static final Pattern PATTERN_SPACE
The pattern that matches a single space.
final ArrayList< ConfigSource > configSources
The defined configuration sources.
static String getString(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final String defaultValue)
Returns the value of a key.
Base package of all Gridarta classes.
ConfigSource getConfigSource(@NotNull final String name)
Returns a ConfigSource by name.
A factory for creating ConfigSources.
Possible source locations for configuration files.
static final ActionBuilder ACTION_BUILDER
The ActionBuilder.
ConfigSource [] getConfigSources()
Returns all defined configuration sources.
A ConfigSourceFactory that is configured through action keys.
Utility class for ActionBuilder related functions.