Repository: incubator-tamaya Updated Branches: refs/heads/master cd513bf36 -> 84bf6f827
TAMAYA-19: Added Javadoc. Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/84bf6f82 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/84bf6f82 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/84bf6f82 Branch: refs/heads/master Commit: 84bf6f8272059f8bdb184d0e3cb716176d7006fa Parents: cd513bf Author: anatole <anat...@apache.org> Authored: Wed Dec 17 00:48:28 2014 +0100 Committer: anatole <anat...@apache.org> Committed: Wed Dec 17 00:48:28 2014 +0100 ---------------------------------------------------------------------- .../core/config/AbstractConfiguration.java | 4 +++ .../core/config/ConfigurationBuilder.java | 2 +- .../core/config/ConfigurationFormats.java | 1 - .../core/config/FreezedConfiguration.java | 4 +++ .../tamaya/core/config/MappedConfiguration.java | 10 ++++-- .../tamaya/core/env/BuildableEnvironment.java | 18 +++++++++- .../tamaya/core/env/EnvironmentBuilder.java | 37 +++++++++++++++++++- .../config/ConfigTemplateInvocationHandler.java | 5 +-- ...DefaultConfigurationManagerSingletonSpi.java | 3 ++ 9 files changed, 76 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/config/AbstractConfiguration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/config/AbstractConfiguration.java b/core/src/main/java/org/apache/tamaya/core/config/AbstractConfiguration.java index 4a9c331..cfd0da3 100644 --- a/core/src/main/java/org/apache/tamaya/core/config/AbstractConfiguration.java +++ b/core/src/main/java/org/apache/tamaya/core/config/AbstractConfiguration.java @@ -26,6 +26,10 @@ import org.apache.tamaya.spi.ServiceContext; import java.util.*; import java.util.logging.Logger; +/** + * Abstract implementation class for {@link org.apache.tamaya.Configuration}, which supports optimistic + * locking and mutability. + */ public abstract class AbstractConfiguration extends AbstractPropertySource implements Configuration{ private static final Logger LOG = Logger.getLogger(AbstractConfiguration.class.getName()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/config/ConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/config/ConfigurationBuilder.java b/core/src/main/java/org/apache/tamaya/core/config/ConfigurationBuilder.java index 9cbdee9..3355e6b 100644 --- a/core/src/main/java/org/apache/tamaya/core/config/ConfigurationBuilder.java +++ b/core/src/main/java/org/apache/tamaya/core/config/ConfigurationBuilder.java @@ -28,7 +28,7 @@ import java.util.function.Supplier; import java.util.logging.Logger; /** -* Builder for assembling non trivial property providers. +* Builder for assembling non trivial {@link org.apache.tamaya.Configuration} instances. */ public final class ConfigurationBuilder { http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/config/ConfigurationFormats.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/config/ConfigurationFormats.java b/core/src/main/java/org/apache/tamaya/core/config/ConfigurationFormats.java index 26f053d..e2469ee 100644 --- a/core/src/main/java/org/apache/tamaya/core/config/ConfigurationFormats.java +++ b/core/src/main/java/org/apache/tamaya/core/config/ConfigurationFormats.java @@ -28,7 +28,6 @@ import java.util.Collection; /** * Singleton accessor for accessing {@link org.apache.tamaya.core.spi.ConfigurationFormat} instances. - * Created by Anatole on 26.02.14. */ public final class ConfigurationFormats{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/config/FreezedConfiguration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/config/FreezedConfiguration.java b/core/src/main/java/org/apache/tamaya/core/config/FreezedConfiguration.java index 48c0cd1..7ecaf5d 100644 --- a/core/src/main/java/org/apache/tamaya/core/config/FreezedConfiguration.java +++ b/core/src/main/java/org/apache/tamaya/core/config/FreezedConfiguration.java @@ -36,6 +36,10 @@ final class FreezedConfiguration extends AbstractConfiguration implements Serial private PropertySource properties; private String version; + /** + * Constructor. + * @param config The base configuration. + */ private FreezedConfiguration(Configuration config){ super(MetaInfoBuilder.of(config.getMetaInfo()).set("freezedAt", Instant.now().toString()).build()); this.properties = PropertySourceBuilder.of(config).buildFreezed(); http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/config/MappedConfiguration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/config/MappedConfiguration.java b/core/src/main/java/org/apache/tamaya/core/config/MappedConfiguration.java index d7114ce..24c715e 100644 --- a/core/src/main/java/org/apache/tamaya/core/config/MappedConfiguration.java +++ b/core/src/main/java/org/apache/tamaya/core/config/MappedConfiguration.java @@ -8,13 +8,19 @@ import java.util.function.Predicate; import java.util.function.UnaryOperator; /** - * Created by Anatole on 07.12.2014. + * Configuration implementation that maps certain parts (defined by an {@code UnaryOperator<String>}) to alternate areas. */ class MappedConfiguration extends AbstractConfiguration implements Configuration { - + /** The mapping operator. */ private UnaryOperator<String> keyMapper; + /** The base configuration. */ private Configuration config; + /** + * Creates a new instance. + * @param config the base configuration, not null + * @param keyMapper The mapping operator, not null + */ public MappedConfiguration(Configuration config, UnaryOperator<String> keyMapper) { super(MetaInfoBuilder.of(config.getMetaInfo()).setInfo("Mapped configuration, mapper=" + keyMapper).build()); this.config = Objects.requireNonNull(config); http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/env/BuildableEnvironment.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/env/BuildableEnvironment.java b/core/src/main/java/org/apache/tamaya/core/env/BuildableEnvironment.java index 0308853..547d56d 100644 --- a/core/src/main/java/org/apache/tamaya/core/env/BuildableEnvironment.java +++ b/core/src/main/java/org/apache/tamaya/core/env/BuildableEnvironment.java @@ -22,12 +22,19 @@ import org.apache.tamaya.Environment; import java.util.*; - +/** + * Environment class that is used by the {@link org.apache.tamaya.core.env.EnvironmentBuilder}. + */ class BuildableEnvironment implements Environment { private static final long serialVersionUID = 707575538680740130L; + /** The environment data. */ private Map<String,String> context = new TreeMap<>(); + /** + * Constructor. + * @param builder the builder, not null. + */ BuildableEnvironment(EnvironmentBuilder builder){ Objects.requireNonNull(builder); context.putAll(builder.contextData); @@ -77,6 +84,10 @@ class BuildableEnvironment implements Environment { return "Environment: " + getData(); } + /** + * Get the delta. + * @return + */ private String getData() { StringBuilder b = new StringBuilder(); for(Map.Entry<String,String> en: this.context.entrySet()){ @@ -87,6 +98,11 @@ class BuildableEnvironment implements Environment { return b.toString(); } + /** + * Escapes several characters. + * @param value + * @return + */ private String escape(String value){ if(value==null) return null; http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/env/EnvironmentBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/env/EnvironmentBuilder.java b/core/src/main/java/org/apache/tamaya/core/env/EnvironmentBuilder.java index b5e189d..7445430 100644 --- a/core/src/main/java/org/apache/tamaya/core/env/EnvironmentBuilder.java +++ b/core/src/main/java/org/apache/tamaya/core/env/EnvironmentBuilder.java @@ -25,39 +25,74 @@ import java.util.Map; import java.util.Objects; /** -* Created by Anatole on 06.09.2014. +* Builder to create new {@link org.apache.tamaya.Environment instances.} */ public final class EnvironmentBuilder{ + /** The property name for the stage property. */ public static final String STAGE_PROP = "stage"; + + /** THe environment data. */ Map<String,String> contextData = new HashMap<>(); + /** + * Constructor. + */ private EnvironmentBuilder() { } + /** + * Creates a new buildr instance. + * @return the new builder instance. + */ public static final EnvironmentBuilder of() { return new EnvironmentBuilder(); } + /** + * Sets a new environment property. + * @param key the key, not null. + * @param value the value, not null. + * @return the builder for chaining + */ public EnvironmentBuilder set(String key, String value){ this.contextData.put(key, value); return this; } + /** + * Sets new environment properties. + * @param values the key/values, not null. + * @return the builder for chaining + */ public EnvironmentBuilder setAll(Map<String,String> values){ this.contextData.putAll(values); return this; } + /** + * Sets the stage using the default stage key. + * @param stage The stage, not null. + * @return the builder for chaining. + */ public EnvironmentBuilder setStage(String stage){ this.contextData.put(STAGE_PROP, Objects.requireNonNull(stage)); return this; } + /** + * Access a property + * @param key the key, not null. + * @return the builder for chaining. + */ public String getProperty(String key) { return this.contextData.get(key); } + /** + * Builds a new Environment. + * @return a new Environment, never null. + */ public Environment build() { return new BuildableEnvironment(this); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/internal/config/ConfigTemplateInvocationHandler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/internal/config/ConfigTemplateInvocationHandler.java b/core/src/main/java/org/apache/tamaya/core/internal/config/ConfigTemplateInvocationHandler.java index ef9de86..18e9d03 100644 --- a/core/src/main/java/org/apache/tamaya/core/internal/config/ConfigTemplateInvocationHandler.java +++ b/core/src/main/java/org/apache/tamaya/core/internal/config/ConfigTemplateInvocationHandler.java @@ -26,11 +26,12 @@ import java.lang.reflect.Method; import java.util.Objects; /** - * Created by Anatole on 17.10.2014. + * Invocation handler that handles request against a configuration template. */ class ConfigTemplateInvocationHandler implements InvocationHandler { - + /** The underlying configuration. */ private Configuration config; + /** The configured type. */ private ConfiguredType type; public ConfigTemplateInvocationHandler(Class<?> type, Configuration config) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/84bf6f82/core/src/main/java/org/apache/tamaya/core/internal/config/DefaultConfigurationManagerSingletonSpi.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/tamaya/core/internal/config/DefaultConfigurationManagerSingletonSpi.java b/core/src/main/java/org/apache/tamaya/core/internal/config/DefaultConfigurationManagerSingletonSpi.java index 7234ec6..1a04cef 100644 --- a/core/src/main/java/org/apache/tamaya/core/internal/config/DefaultConfigurationManagerSingletonSpi.java +++ b/core/src/main/java/org/apache/tamaya/core/internal/config/DefaultConfigurationManagerSingletonSpi.java @@ -36,6 +36,9 @@ import java.util.function.Consumer; import java.util.function.Predicate; +/** + * Default SPI that implements the behaviour of {@link org.apache.tamaya.spi.ConfigurationManagerSingletonSpi}. + */ public class DefaultConfigurationManagerSingletonSpi implements ConfigurationManagerSingletonSpi { private static final String DEFAULT_CONFIG_NAME = "default";