Reimplemented (also simjplified) Tamaya core completely based on latest JSR 
API. Moved prior Tamaya API into compat module.

Signed-off-by: Anatole Tresch <anat...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/9bc56a38
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/9bc56a38
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/9bc56a38

Branch: refs/heads/configjsr
Commit: 9bc56a38b01ead60cd36a87c29d3eb14a2edfeea
Parents: 27c0d76
Author: Anatole Tresch <anat...@apache.org>
Authored: Sun Dec 10 23:02:02 2017 +0100
Committer: Anatole Tresch <anat...@apache.org>
Committed: Sun Dec 10 23:02:10 2017 +0100

----------------------------------------------------------------------
 code/api/bnd.bnd                                |  24 -
 code/api/pom.xml                                |  65 ---
 .../java/org/apache/tamaya/ConfigException.java |  44 --
 .../java/org/apache/tamaya/ConfigOperator.java  |  38 --
 .../java/org/apache/tamaya/ConfigQuery.java     |  37 --
 .../java/org/apache/tamaya/Configuration.java   | 179 -------
 .../apache/tamaya/ConfigurationProvider.java    | 138 ------
 .../java/org/apache/tamaya/TypeLiteral.java     | 212 ---------
 .../java/org/apache/tamaya/package-info.java    |  24 -
 .../apache/tamaya/spi/ConfigurationBuilder.java | 348 --------------
 .../apache/tamaya/spi/ConfigurationContext.java | 174 -------
 .../tamaya/spi/ConfigurationContextBuilder.java | 336 -------------
 .../tamaya/spi/ConfigurationProviderSpi.java    | 128 -----
 .../apache/tamaya/spi/ConversionContext.java    | 267 -----------
 .../org/apache/tamaya/spi/Experimental.java     |  32 --
 .../org/apache/tamaya/spi/FilterContext.java    | 140 ------
 .../apache/tamaya/spi/PropertyConverter.java    |  44 --
 .../org/apache/tamaya/spi/PropertyFilter.java   |  51 --
 .../org/apache/tamaya/spi/PropertySource.java   | 174 -------
 .../tamaya/spi/PropertySourceProvider.java      |  61 ---
 .../org/apache/tamaya/spi/PropertyValue.java    | 232 ---------
 .../apache/tamaya/spi/PropertyValueBuilder.java | 196 --------
 .../spi/PropertyValueCombinationPolicy.java     |  71 ---
 .../org/apache/tamaya/spi/ServiceContext.java   |  93 ----
 .../tamaya/spi/ServiceContextManager.java       | 118 -----
 .../org/apache/tamaya/spi/package-info.java     |  24 -
 code/api/src/main/resources/tamaya-banner.txt   |  11 -
 .../org/apache/tamaya/ConfigExceptionTest.java  |  45 --
 .../org/apache/tamaya/ConfigurationTest.java    |  63 ---
 .../org/apache/tamaya/TestConfiguration.java    | 137 ------
 .../tamaya/TestConfigurationProvider.java       |  79 ----
 .../java/org/apache/tamaya/TypeLiteralTest.java |  90 ----
 .../tamaya/spi/ConversionContextTest.java       | 194 --------
 .../apache/tamaya/spi/FilterContextTest.java    | 158 -------
 .../tamaya/spi/PropertyValueBuilderTest.java    | 246 ----------
 .../spi/PropertyValueCombinationPolicyTest.java |  89 ----
 .../apache/tamaya/spi/PropertyValueTest.java    | 250 ----------
 .../tamaya/spi/ServiceContextManagerTest.java   |  90 ----
 .../apache/tamaya/spi/ServiceContextTest.java   | 113 -----
 .../apache/tamaya/spi/TestServiceContext.java   | 105 -----
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  19 -
 .../org.apache.tamaya.spi.ServiceContext        |  19 -
 .../org/apache/tamaya/base/FormatUtils.java     |  47 ++
 .../tamaya/spi/ConfigContextSupplier.java       |  47 ++
 .../spi/ConfigValueCombinationPolicy.java       |  72 +++
 .../tamaya/spi/StandaloneConfigContext.java     | 292 ++++++++++++
 code/core/bnd.bnd                               |  28 +-
 code/core/pom.xml                               |  11 +-
 .../org/apache/tamaya/core/OSGIActivator.java   |  29 +-
 .../tamaya/core/internal/BannerManager.java     | 165 -------
 .../tamaya/core/internal/CoreConfiguration.java |  43 --
 .../core/internal/CoreConfigurationBuilder.java |  91 ----
 .../internal/CoreConfigurationProvider.java     | 101 ----
 .../core/internal/OSGIServiceComparator.java    |  70 ---
 .../core/internal/OSGIServiceContext.java       | 172 -------
 .../tamaya/core/internal/OSGIServiceLoader.java | 254 ----------
 .../converters/BigDecimalConverter.java         |  76 ---
 .../converters/BigIntegerConverter.java         | 106 -----
 .../internal/converters/BooleanConverter.java   |  73 ---
 .../core/internal/converters/ByteConverter.java |  83 ----
 .../core/internal/converters/CharConverter.java |  80 ----
 .../internal/converters/ClassConverter.java     |  78 ---
 .../core/internal/converters/ConvertQuery.java  |  68 ---
 .../internal/converters/CurrencyConverter.java  | 102 ----
 .../internal/converters/DoubleConverter.java    |  93 ----
 .../internal/converters/DurationConverter.java  |  59 ---
 .../core/internal/converters/FileConverter.java |  62 ---
 .../internal/converters/FloatConverter.java     |  93 ----
 .../internal/converters/InstantConverter.java   |  57 ---
 .../internal/converters/IntegerConverter.java   |  86 ----
 .../internal/converters/LocalDateConverter.java |  57 ---
 .../converters/LocalDateTimeConverter.java      |  57 ---
 .../internal/converters/LocalTimeConverter.java |  57 ---
 .../core/internal/converters/LongConverter.java |  83 ----
 .../internal/converters/NumberConverter.java    |  84 ----
 .../converters/OffsetDateTimeConverter.java     |  57 ---
 .../converters/OffsetTimeConverter.java         |  57 ---
 .../internal/converters/OptionalConverter.java  |  65 ---
 .../core/internal/converters/PathConverter.java |  63 ---
 .../internal/converters/ShortConverter.java     |  84 ----
 .../internal/converters/SupplierConverter.java  |  71 ---
 .../core/internal/converters/URIConverter.java  |  62 ---
 .../core/internal/converters/URLConverter.java  |  62 ---
 .../core/internal/converters/package-info.java  |  23 -
 .../tamaya/core/internal/package-info.java      |  25 -
 .../org/apache/tamaya/core/package-info.java    |   2 +-
 .../services/org.apache.tamaya.Configuration    |  19 -
 ...he.tamaya.core.internal.ConfigValueEvaluator |  19 -
 .../org.apache.tamaya.spi.ConfigurationBuilder  |  19 -
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  19 -
 .../org.apache.tamaya.spi.PropertyConverter     |  44 --
 .../org.apache.tamaya.spi.PropertySource        |  22 -
 .../org.apache.tamaya.spi.ServiceContext        |   2 +-
 .../tamaya/core/ConfigurationBuilderTest.java   | 440 -----------------
 .../core/ConfigurationContextBuilderTest.java   | 422 -----------------
 .../apache/tamaya/core/ConfigurationTest.java   |  27 +-
 .../apache/tamaya/core/TestPropertySource.java  |  72 ---
 .../tamaya/core/internal/BannerManagerTest.java |  90 ----
 .../tamaya/core/internal/CTestConverter.java    |   7 +-
 .../internal/CoreConfigurationBuilderTest.java  | 219 ---------
 .../internal/CoreConfigurationProviderTest.java |  93 ----
 .../core/internal/CoreConfigurationTest.java    | 177 -------
 .../internal/DefaultJavaConfigurationTest.java  |  98 ++--
 .../converters/BigDecimalConverterTest.java     |  51 +-
 .../converters/BooleanConverterTest.java        |  55 ++-
 .../internal/converters/ByteConverterTest.java  |  27 +-
 .../internal/converters/CharConverterTest.java  |  36 +-
 .../internal/converters/ClassConverterTest.java |  17 +-
 .../ConverterTestsPropertySource.java           | 202 ++++----
 .../converters/CurrencyConverterTest.java       |  50 +-
 .../converters/DoubleConverterTest.java         |  51 +-
 .../converters/DurationConverterTest.java       |  15 +-
 .../internal/converters/FloatConverterTest.java |  51 +-
 .../converters/InstantConverterTest.java        |   7 +-
 .../converters/IntegerConverterTest.java        |  33 +-
 .../converters/LocalDateConverterTest.java      |   7 +-
 .../converters/LocalDateTimeConverterTest.java  |   7 +-
 .../converters/LocalTimeConverterTest.java      |   7 +-
 .../internal/converters/LongConverterTest.java  |  33 +-
 .../converters/NumberConverterTest.java         |  28 +-
 .../converters/OffsetDateTimeConverterTest.java |   7 +-
 .../converters/OffsetTimeConverterTest.java     |   7 +-
 .../converters/OptionalConverterTest.java       |  13 +-
 .../internal/converters/PathConverterTest.java  |   7 +-
 .../internal/converters/ShortConverterTest.java |  31 +-
 .../internal/converters/URIConverterTest.java   |  29 +-
 .../internal/converters/URLConverterTest.java   |  17 +-
 .../testdata/TestPropertyDefaultSource.java     |  57 ---
 .../core/testdata/TestPropertyFilter.java       |  41 --
 .../testdata/TestPropertySourceProvider.java    |  36 +-
 .../testdata/TestRemovingPropertyFilter.java    |  45 --
 .../META-INF/javaconfiguration.properties       |  22 -
 .../resources/META-INF/javaconfiguration.xml    |  25 -
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  18 -
 .../org.apache.tamaya.spi.PropertyConverter     |  19 -
 .../org.apache.tamaya.spi.PropertyFilter        |  20 -
 .../org.apache.tamaya.spi.PropertySource        |  22 -
 ...org.apache.tamaya.spi.PropertySourceProvider |  19 -
 code/old/api/bnd.bnd                            |  24 +
 code/old/api/pom.xml                            |  65 +++
 .../java/org/apache/tamaya/ConfigException.java |  44 ++
 .../java/org/apache/tamaya/ConfigOperator.java  |  38 ++
 .../java/org/apache/tamaya/ConfigQuery.java     |  37 ++
 .../java/org/apache/tamaya/Configuration.java   | 179 +++++++
 .../apache/tamaya/ConfigurationProvider.java    | 138 ++++++
 .../java/org/apache/tamaya/TypeLiteral.java     | 212 +++++++++
 .../java/org/apache/tamaya/package-info.java    |  24 +
 .../apache/tamaya/spi/ConfigurationBuilder.java | 348 ++++++++++++++
 .../apache/tamaya/spi/ConfigurationContext.java | 174 +++++++
 .../tamaya/spi/ConfigurationContextBuilder.java | 336 +++++++++++++
 .../tamaya/spi/ConfigurationProviderSpi.java    | 128 +++++
 .../apache/tamaya/spi/ConversionContext.java    | 267 +++++++++++
 .../org/apache/tamaya/spi/Experimental.java     |  32 ++
 .../org/apache/tamaya/spi/FilterContext.java    | 140 ++++++
 .../apache/tamaya/spi/PropertyConverter.java    |  44 ++
 .../org/apache/tamaya/spi/PropertyFilter.java   |  51 ++
 .../org/apache/tamaya/spi/PropertySource.java   | 174 +++++++
 .../tamaya/spi/PropertySourceProvider.java      |  61 +++
 .../org/apache/tamaya/spi/PropertyValue.java    | 232 +++++++++
 .../apache/tamaya/spi/PropertyValueBuilder.java | 196 ++++++++
 .../spi/PropertyValueCombinationPolicy.java     |  71 +++
 .../org/apache/tamaya/spi/ServiceContext.java   |  93 ++++
 .../tamaya/spi/ServiceContextManager.java       | 118 +++++
 .../org/apache/tamaya/spi/package-info.java     |  24 +
 .../api/src/main/resources/tamaya-banner.txt    |  11 +
 .../org/apache/tamaya/ConfigExceptionTest.java  |  45 ++
 .../org/apache/tamaya/ConfigurationTest.java    |  63 +++
 .../org/apache/tamaya/TestConfiguration.java    | 137 ++++++
 .../tamaya/TestConfigurationProvider.java       |  79 ++++
 .../java/org/apache/tamaya/TypeLiteralTest.java |  90 ++++
 .../tamaya/spi/ConversionContextTest.java       | 194 ++++++++
 .../apache/tamaya/spi/FilterContextTest.java    | 158 +++++++
 .../tamaya/spi/PropertyValueBuilderTest.java    | 246 ++++++++++
 .../spi/PropertyValueCombinationPolicyTest.java |  89 ++++
 .../apache/tamaya/spi/PropertyValueTest.java    | 250 ++++++++++
 .../tamaya/spi/ServiceContextManagerTest.java   |  90 ++++
 .../apache/tamaya/spi/ServiceContextTest.java   | 113 +++++
 .../apache/tamaya/spi/TestServiceContext.java   | 105 +++++
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  19 +
 .../org.apache.tamaya.spi.ServiceContext        |  19 +
 code/old/core/bnd.bnd                           |  43 ++
 code/old/core/pom.xml                           |  95 ++++
 .../org/apache/tamaya/core/OSGIActivator.java   |  68 +++
 .../tamaya/core/internal/BannerManager.java     | 165 +++++++
 .../tamaya/core/internal/CoreConfiguration.java |  43 ++
 .../core/internal/CoreConfigurationBuilder.java |  89 ++++
 .../internal/CoreConfigurationProvider.java     | 101 ++++
 .../core/internal/OSGIServiceComparator.java    |  70 +++
 .../core/internal/OSGIServiceContext.java       | 172 +++++++
 .../tamaya/core/internal/OSGIServiceLoader.java | 254 ++++++++++
 .../converters/BigDecimalConverter.java         |  76 +++
 .../converters/BigIntegerConverter.java         | 106 +++++
 .../internal/converters/BooleanConverter.java   |  73 +++
 .../core/internal/converters/ByteConverter.java |  83 ++++
 .../core/internal/converters/CharConverter.java |  80 ++++
 .../internal/converters/ClassConverter.java     |  78 +++
 .../core/internal/converters/ConvertQuery.java  |  68 +++
 .../internal/converters/CurrencyConverter.java  | 102 ++++
 .../internal/converters/DoubleConverter.java    |  93 ++++
 .../internal/converters/DurationConverter.java  |  59 +++
 .../core/internal/converters/FileConverter.java |  62 +++
 .../internal/converters/FloatConverter.java     |  93 ++++
 .../internal/converters/InstantConverter.java   |  57 +++
 .../internal/converters/IntegerConverter.java   |  86 ++++
 .../internal/converters/LocalDateConverter.java |  57 +++
 .../converters/LocalDateTimeConverter.java      |  57 +++
 .../internal/converters/LocalTimeConverter.java |  57 +++
 .../core/internal/converters/LongConverter.java |  83 ++++
 .../internal/converters/NumberConverter.java    |  84 ++++
 .../converters/OffsetDateTimeConverter.java     |  57 +++
 .../converters/OffsetTimeConverter.java         |  57 +++
 .../internal/converters/OptionalConverter.java  |  65 +++
 .../core/internal/converters/PathConverter.java |  63 +++
 .../internal/converters/ShortConverter.java     |  84 ++++
 .../internal/converters/SupplierConverter.java  |  71 +++
 .../core/internal/converters/URIConverter.java  |  62 +++
 .../core/internal/converters/URLConverter.java  |  62 +++
 .../core/internal/converters/package-info.java  |  23 +
 .../tamaya/core/internal/package-info.java      |  25 +
 .../org/apache/tamaya/core/package-info.java    |  24 +
 .../services/org.apache.tamaya.Configuration    |  19 +
 ...he.tamaya.core.internal.ConfigValueEvaluator |  19 +
 .../org.apache.tamaya.spi.ConfigurationBuilder  |  19 +
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  19 +
 .../org.apache.tamaya.spi.PropertyConverter     |  44 ++
 .../org.apache.tamaya.spi.PropertySource        |  22 +
 .../org.apache.tamaya.spi.ServiceContext        |  19 +
 .../tamaya/core/ConfigurationBuilderTest.java   | 438 +++++++++++++++++
 .../core/ConfigurationContextBuilderTest.java   | 422 +++++++++++++++++
 .../apache/tamaya/core/ConfigurationTest.java   |  57 +++
 .../apache/tamaya/core/TestPropertySource.java  |  72 +++
 .../java/org/apache/tamaya/core/internal/A.java |  29 ++
 .../java/org/apache/tamaya/core/internal/B.java |  29 ++
 .../tamaya/core/internal/BannerManagerTest.java |  90 ++++
 .../java/org/apache/tamaya/core/internal/C.java |  56 +++
 .../tamaya/core/internal/CTestConverter.java    |  32 ++
 .../internal/CoreConfigurationBuilderTest.java  | 219 +++++++++
 .../internal/CoreConfigurationProviderTest.java |  93 ++++
 .../core/internal/CoreConfigurationTest.java    | 178 +++++++
 .../internal/DefaultJavaConfigurationTest.java  |  50 ++
 .../converters/BigDecimalConverterTest.java     | 133 ++++++
 .../converters/BooleanConverterTest.java        | 118 +++++
 .../internal/converters/ByteConverterTest.java  |  81 ++++
 .../internal/converters/CharConverterTest.java  |  86 ++++
 .../internal/converters/ClassConverterTest.java |  67 +++
 .../ConverterTestsPropertySource.java           | 254 ++++++++++
 .../converters/CurrencyConverterTest.java       | 159 +++++++
 .../converters/DoubleConverterTest.java         | 175 +++++++
 .../converters/DurationConverterTest.java       |  79 ++++
 .../internal/converters/FloatConverterTest.java | 176 +++++++
 .../converters/InstantConverterTest.java        |  57 +++
 .../converters/IntegerConverterTest.java        | 111 +++++
 .../converters/LocalDateConverterTest.java      |  57 +++
 .../converters/LocalDateTimeConverterTest.java  |  57 +++
 .../converters/LocalTimeConverterTest.java      |  57 +++
 .../internal/converters/LongConverterTest.java  | 111 +++++
 .../converters/NumberConverterTest.java         | 103 ++++
 .../converters/OffsetDateTimeConverterTest.java |  57 +++
 .../converters/OffsetTimeConverterTest.java     |  56 +++
 .../converters/OptionalConverterTest.java       |  42 ++
 .../internal/converters/PathConverterTest.java  |  58 +++
 .../internal/converters/ShortConverterTest.java | 111 +++++
 .../internal/converters/URIConverterTest.java   |  68 +++
 .../internal/converters/URLConverterTest.java   |  69 +++
 .../testdata/TestPropertyDefaultSource.java     |  57 +++
 .../core/testdata/TestPropertyFilter.java       |  41 ++
 .../testdata/TestPropertySourceProvider.java    |  79 ++++
 .../testdata/TestRemovingPropertyFilter.java    |  45 ++
 .../META-INF/javaconfiguration.properties       |  22 +
 .../resources/META-INF/javaconfiguration.xml    |  25 +
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  18 +
 .../org.apache.tamaya.spi.PropertyConverter     |  19 +
 .../org.apache.tamaya.spi.PropertyFilter        |  20 +
 .../org.apache.tamaya.spi.PropertySource        |  22 +
 ...org.apache.tamaya.spi.PropertySourceProvider |  19 +
 .../src/test/resources/invalid-properties.xml   |  25 +
 .../src/test/resources/java-security.policy     |   5 +
 .../src/test/resources/non-xml-properties.xml   |  18 +
 .../test/resources/overrideOrdinal.properties   |  25 +
 .../core/src/test/resources/testfile.properties |  22 +
 .../src/test/resources/valid-properties.xml     |  25 +
 code/old/core/src/test/resources/x34.properties |  19 +
 code/old/spi-support/bnd.bnd                    |  26 +
 code/old/spi-support/pom.xml                    |  81 ++++
 .../tamaya/spisupport/ConfigValueEvaluator.java |  48 ++
 .../tamaya/spisupport/ConfigurationBuilder.java | 334 +++++++++++++
 .../spisupport/DefaultConfigValueEvaluator.java |  70 +++
 .../tamaya/spisupport/DefaultConfiguration.java | 283 +++++++++++
 .../spisupport/DefaultConfigurationBuilder.java | 239 ++++++++++
 .../spisupport/DefaultConfigurationContext.java | 277 +++++++++++
 .../DefaultConfigurationContextBuilder.java     | 437 +++++++++++++++++
 .../spisupport/DefaultServiceContext.java       | 204 ++++++++
 .../apache/tamaya/spisupport/EnumConverter.java |  83 ++++
 .../spisupport/PriorityServiceComparator.java   |  84 ++++
 .../spisupport/PropertyConverterManager.java    | 471 +++++++++++++++++++
 .../spisupport/PropertyFilterComparator.java    |  72 +++
 .../tamaya/spisupport/PropertyFiltering.java    | 124 +++++
 .../spisupport/PropertySourceComparator.java    | 122 +++++
 .../tamaya/spisupport/ReflectionUtil.java       |  42 ++
 .../tamaya/spisupport/RegexPropertyFilter.java  |  84 ++++
 .../propertysource/BasePropertySource.java      | 172 +++++++
 .../propertysource/BuildablePropertySource.java | 231 +++++++++
 .../BuildablePropertySourceProvider.java        | 114 +++++
 .../propertysource/CLIPropertySource.java       | 137 ++++++
 .../EnvironmentPropertySource.java              | 287 +++++++++++
 .../JavaConfigurationPropertySource.java        | 134 ++++++
 .../propertysource/MapPropertySource.java       | 102 ++++
 .../PropertiesResourcePropertySource.java       | 109 +++++
 .../propertysource/SimplePropertySource.java    | 284 +++++++++++
 .../propertysource/SystemPropertySource.java    | 199 ++++++++
 .../propertysource/WrappedPropertySource.java   | 126 +++++
 .../spisupport/propertysource/package-info.java |  23 +
 .../java/org/apache/tamaya/spisupport/A.java    |  29 ++
 .../java/org/apache/tamaya/spisupport/B.java    |  29 ++
 .../BuildablePropertySourceProviderTest.java    |  78 +++
 .../spisupport/BuildablePropertySourceTest.java |  89 ++++
 .../java/org/apache/tamaya/spisupport/C.java    |  56 +++
 .../tamaya/spisupport/CTestConverter.java       |  32 ++
 .../DefaultConfigurationBuilderTest.java        | 220 +++++++++
 .../spisupport/DefaultConfigurationTest.java    | 202 ++++++++
 .../spisupport/DefaultServiceContextTest.java   | 138 ++++++
 .../spisupport/EmptyConfigurationContext.java   |  78 +++
 .../EmptyConfigurationContextBuilder.java       | 174 +++++++
 .../tamaya/spisupport/EnumConverterTest.java    |  52 ++
 .../PriorityServiceComparatorTest.java          |  44 ++
 .../PropertyConverterManagerTest.java           | 180 +++++++
 .../PropertyFilterComparatorTest.java           |  76 +++
 .../spisupport/RegexPropertyFilterTest.java     |  70 +++
 .../spisupport/TestConfigurationProvider.java   |  92 ++++
 .../propertysource/BasePropertySourceTest.java  | 136 ++++++
 .../propertysource/CLIPropertySourceTest.java   |  59 +++
 .../propertysource/EnumConverterTest.java       |  60 +++
 .../EnvironmentPropertySourceTest.java          |  68 +++
 .../JavaConfigurationProviderTest.java          |  46 ++
 .../propertysource/MapPropertySourceTest.java   |  76 +++
 .../PropertiesFilePropertySourceTest.java       |  60 +++
 .../SimplePropertySourceTest.java               |  89 ++++
 .../SystemPropertySourceTest.java               |  91 ++++
 .../TestPropertyDefaultSource.java              |  57 +++
 .../services/DefaultServiceContext.java         | 205 ++++++++
 .../META-INF/javaconfiguration.properties       |  22 +
 .../resources/META-INF/javaconfiguration.xml    |  25 +
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  18 +
 .../org.apache.tamaya.spi.PropertyConverter     |  19 +
 .../org.apache.tamaya.spi.ServiceContext        |  19 +
 ...tServiceContextTest$InvalidPriorityInterface |  18 +
 ...efaultServiceContextTest$MultiImplsInterface |  20 +
 .../src/test/resources/invalid-properties.xml   |  25 +
 .../src/test/resources/non-xml-properties.xml   |  18 +
 .../test/resources/overrideOrdinal.properties   |  25 +
 .../src/test/resources/testfile.properties      |  22 +
 .../src/test/resources/valid-properties.xml     |  25 +
 code/pom.xml                                    |   4 +-
 code/spi-support/bnd.bnd                        |  26 -
 code/spi-support/pom.xml                        |  81 ----
 .../tamaya/spisupport/ConfigValueEvaluator.java |  48 --
 .../tamaya/spisupport/ConfigurationBuilder.java | 334 -------------
 .../spisupport/DefaultConfigValueEvaluator.java |  70 ---
 .../tamaya/spisupport/DefaultConfiguration.java | 283 -----------
 .../spisupport/DefaultConfigurationBuilder.java | 236 ----------
 .../spisupport/DefaultConfigurationContext.java | 277 -----------
 .../DefaultConfigurationContextBuilder.java     | 437 -----------------
 .../spisupport/DefaultServiceContext.java       | 204 --------
 .../apache/tamaya/spisupport/EnumConverter.java |  83 ----
 .../spisupport/PriorityServiceComparator.java   |  84 ----
 .../spisupport/PropertyConverterManager.java    | 471 -------------------
 .../spisupport/PropertyFilterComparator.java    |  72 ---
 .../tamaya/spisupport/PropertyFiltering.java    | 124 -----
 .../spisupport/PropertySourceComparator.java    | 122 -----
 .../tamaya/spisupport/ReflectionUtil.java       |  42 --
 .../tamaya/spisupport/RegexPropertyFilter.java  |  84 ----
 .../propertysource/BasePropertySource.java      | 173 -------
 .../propertysource/BuildablePropertySource.java | 231 ---------
 .../BuildablePropertySourceProvider.java        | 114 -----
 .../propertysource/CLIPropertySource.java       | 137 ------
 .../EnvironmentPropertySource.java              | 287 -----------
 .../JavaConfigurationPropertySource.java        | 134 ------
 .../propertysource/MapPropertySource.java       | 102 ----
 .../PropertiesResourcePropertySource.java       | 109 -----
 .../propertysource/SimplePropertySource.java    | 284 -----------
 .../propertysource/SystemPropertySource.java    | 199 --------
 .../propertysource/WrappedPropertySource.java   | 126 -----
 .../spisupport/propertysource/package-info.java |  23 -
 .../java/org/apache/tamaya/spisupport/A.java    |  29 --
 .../java/org/apache/tamaya/spisupport/B.java    |  29 --
 .../BuildablePropertySourceProviderTest.java    |  78 ---
 .../spisupport/BuildablePropertySourceTest.java |  89 ----
 .../java/org/apache/tamaya/spisupport/C.java    |  56 ---
 .../tamaya/spisupport/CTestConverter.java       |  32 --
 .../DefaultConfigurationBuilderTest.java        | 220 ---------
 .../spisupport/DefaultConfigurationTest.java    | 202 --------
 .../spisupport/DefaultServiceContextTest.java   | 138 ------
 .../spisupport/EmptyConfigurationContext.java   |  78 ---
 .../EmptyConfigurationContextBuilder.java       | 174 -------
 .../tamaya/spisupport/EnumConverterTest.java    |  52 --
 .../PriorityServiceComparatorTest.java          |  44 --
 .../PropertyConverterManagerTest.java           | 180 -------
 .../PropertyFilterComparatorTest.java           |  76 ---
 .../spisupport/RegexPropertyFilterTest.java     |  70 ---
 .../spisupport/TestConfigurationProvider.java   |  92 ----
 .../propertysource/BasePropertySourceTest.java  | 136 ------
 .../propertysource/CLIPropertySourceTest.java   |  59 ---
 .../propertysource/EnumConverterTest.java       |  60 ---
 .../EnvironmentPropertySourceTest.java          |  68 ---
 .../JavaConfigurationProviderTest.java          |  46 --
 .../propertysource/MapPropertySourceTest.java   |  76 ---
 .../PropertiesFilePropertySourceTest.java       |  60 ---
 .../SimplePropertySourceTest.java               |  89 ----
 .../SystemPropertySourceTest.java               |  91 ----
 .../TestPropertyDefaultSource.java              |  57 ---
 .../services/DefaultServiceContext.java         | 205 --------
 .../META-INF/javaconfiguration.properties       |  22 -
 .../resources/META-INF/javaconfiguration.xml    |  25 -
 ...g.apache.tamaya.spi.ConfigurationProviderSpi |  18 -
 .../org.apache.tamaya.spi.PropertyConverter     |  19 -
 .../org.apache.tamaya.spi.ServiceContext        |  19 -
 ...tServiceContextTest$InvalidPriorityInterface |  18 -
 ...efaultServiceContextTest$MultiImplsInterface |  20 -
 .../src/test/resources/invalid-properties.xml   |  25 -
 .../src/test/resources/non-xml-properties.xml   |  18 -
 .../test/resources/overrideOrdinal.properties   |  25 -
 .../src/test/resources/testfile.properties      |  22 -
 .../src/test/resources/valid-properties.xml     |  25 -
 pom.xml                                         |  10 +
 424 files changed, 21726 insertions(+), 18153 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/bnd.bnd
----------------------------------------------------------------------
diff --git a/code/api/bnd.bnd b/code/api/bnd.bnd
deleted file mode 100644
index b606a72..0000000
--- a/code/api/bnd.bnd
+++ /dev/null
@@ -1,24 +0,0 @@
--buildpath: \
-       osgi.annotation; version=6.0.0,\
-       osgi.core; version=6.0,\
-       osgi.cmpn; version=6.0
-
--testpath: \
-       ${junit}
-
-javac.source: 1.8
-javac.target: 1.8
-
-Bundle-Version: ${version}.${tstamp}
-Bundle-SymbolicName: org.apache.tamaya
-Bundle-Name: Apache Tamaya - API
-Bundle-Description: Apacha Tamaya Configuration Java API
-Bundle-Category: API
-Bundle-Copyright: (C) Apache Foundation
-Bundle-License: Apache Licence version 2
-Bundle-Vendor: Apache Software Foundation
-Bundle-ContactAddress: dev-tam...@incubator.apache.org
-Bundle-DocURL: http://tamaya.apache.org
-Export-Package: \
-       org.apache.tamaya,\
-       org.apache.tamaya.spi

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/pom.xml
----------------------------------------------------------------------
diff --git a/code/api/pom.xml b/code/api/pom.xml
deleted file mode 100644
index 581e18d..0000000
--- a/code/api/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy current the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.tamaya</groupId>
-        <artifactId>tamaya-code</artifactId>
-        <version>0.4-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>tamaya-api</artifactId>
-    <name>Apache Tamaya Core API</name>
-    <packaging>jar</packaging>
-
-    <description>
-        The API for accessing configuration data.
-    </description>
-    
-
-    <url>http://tamaya.incubator.apache.org</url>
-    
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>java-hamcrest</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.annotation</artifactId>
-            <scope>provided</scope>
-            <optional>true</optional>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/ConfigException.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigException.java 
b/code/api/src/main/java/org/apache/tamaya/ConfigException.java
deleted file mode 100644
index 38b0801..0000000
--- a/code/api/src/main/java/org/apache/tamaya/ConfigException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-/**
- * Exception class (runtime exception) for configuration issues.
- */
-public class ConfigException extends RuntimeException{
-
-    private static final long serialVersionUID = -5886094818057522680L;
-
-    /**
-     * Creates a new configuration exception.
-     * @param message the exception message, not {@code null}.
-     */
-    public ConfigException(String message){
-        super(message);
-    }
-
-    /**
-     * Creates a new configuration exception.
-     * @param message the exception message, not {@code null}.
-     * @param t the throwable.
-     */
-    public ConfigException(String message, Throwable t){
-        super(message, t);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java 
b/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
deleted file mode 100644
index b14c155..0000000
--- a/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-/**
- * Models a function that maps a given {@link org.apache.tamaya.Configuration} 
to another {@link org.apache.tamaya.Configuration}. This can be used
- * to modell additional functionality and applying it to a given {@link 
org.apache.tamaya.Configuration} instance by calling
- * the {@link 
org.apache.tamaya.Configuration#with(org.apache.tamaya.ConfigOperator)} method.
- */
-@FunctionalInterface
-public interface ConfigOperator {
-
-    /**
-     * Creates a new {@link org.apache.tamaya.Configuration} based on the 
given Configuration. Operators basically acts similar to
-     * decorators, whereas operated instances may have non compatible 
behaviour, e.g. by applying security constraints
-     * or view restrictions.
-     *
-     * @param config the input configuration, not {@code null}.
-     * @return the operated configuration, never {@code null}.
-     */
-    Configuration operate(Configuration config);
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java 
b/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
deleted file mode 100644
index 28b8b93..0000000
--- a/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-/**
- * Models a function that maps a given {@link Configuration} to something 
else. This can be used
- * to model additional functionality and applying it to a given {@link 
Configuration} instance by
- * calling the {@link Configuration#query(ConfigQuery)} method.
- */
-@FunctionalInterface
-public interface ConfigQuery<T> {
-
-    /**
-     * Creates a result based on the given Configuration. Queries basically 
acts similar to
-     * operators, whereas they returns any kind of result.
-     *
-     * @param config the input configuration, not {@code null}.
-     * @return the query result.
-     */
-    T query(Configuration config);
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/Configuration.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/Configuration.java 
b/code/api/src/main/java/org/apache/tamaya/Configuration.java
deleted file mode 100644
index b891d43..0000000
--- a/code/api/src/main/java/org/apache/tamaya/Configuration.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-import org.apache.tamaya.spi.ConfigurationBuilder;
-import org.apache.tamaya.spi.ConfigurationContext;
-
-import java.util.Map;
-
-
-/**
- * <p>A configuration models a aggregated set current properties, identified by
- * a unique key, but adds higher level access functions to
- * a {@link org.apache.tamaya.spi.PropertySource}. Hereby in most
- * cases a configuration is a wrapper around a composite
- * {@link org.apache.tamaya.spi.PropertySource} instance, which may combine
- * multiple child config in well defined tree like structure,
- * where nodes define logically the rules current priority, filtering,
- * combination and overriding.
- * </p>
- * <h3>Implementation Requirements</h3>
- * Implementations current this interface must be
- * <ul>
- *  <li>Thread safe</li>
- *  <li>Immutable</li>
- * </ul>
- *
- * <p>It is not recommended that implementations also are serializable, since 
the any configuration can be <i>frozen</i>
- * by reading out its complete configuration map into a serializable and 
remotable structure. This helps significantly
- * simplifying the development current this interface, e.g. for being backed 
up by systems and stores that are not part current
- * this library at all.</p>
- */
-public interface Configuration {
-
-    /**
-     * Access a property.
-     *
-     * @param key the property's key, not {@code null}.
-     * @return the property's value.
-     */
-    default String get(String key){
-        return get(key, TypeLiteral.of(String.class));
-    }
-
-    /**
-     * Access a property.
-     *
-     * @param key the property's key, not {@code null}.
-     * @param defaultValue value to be returned, if no value is present, not 
{@code null}
-     * @return the property's keys.
-     */
-    default String getOrDefault(String key, String defaultValue){
-        return getOrDefault(key, TypeLiteral.of(String.class), defaultValue);
-    }
-
-    /**
-     * Get the property keys as type T. This will implicitly require a 
corresponding {@link
-     * org.apache.tamaya.spi.PropertyConverter} to be available that is 
capable current providing type T
-     * fromMap the given String keys.
-     *
-     * @param <T> the type of the class modeled by the type parameter
-     * @param key          the property's absolute, or relative path, e.g. 
@code
-     *                     a/b/c/d.myProperty}, not  {@code null}.
-     * @param type         The target type required, not  {@code null}.
-     * @param defaultValue value to be used, if no value is present, not 
{@code null}
-     * @return the property value, never {@code null}.
-     * @throws ConfigException if the keys could not be converted to the 
required target type.
-     */
-    default <T> T getOrDefault(String key, Class<T> type, T defaultValue){
-        return getOrDefault(key, TypeLiteral.of(type), defaultValue);
-    }
-
-    /**
-     * Get the property keys as type T. This will implicitly require a 
corresponding {@link
-     * org.apache.tamaya.spi.PropertyConverter} to be available that is 
capable current providing type T
-     * fromMap the given String keys.
-     *
-     * @param <T> the type of the class modeled by the type parameter
-     * @param key          the property's absolute, or relative path, e.g. 
@code
-     *                     a/b/c/d.myProperty}.
-     * @param type         The target type required, not {@code null}.
-     * @return the property value, never {@code null}.
-     * @throws ConfigException if the keys could not be converted to the 
required target type.
-     */
-    default <T> T get(String key, Class<T> type){
-        return get(key, TypeLiteral.of(type));
-    }
-
-    /**
-     * Get the property keys as type T. This will implicitly require a 
corresponding {@link
-     * org.apache.tamaya.spi.PropertyConverter} to be available that is 
capable current providing type T
-     * fromMap the given String keys.
-     *
-     * @param <T> the type of the type literal
-     * @param key          the property's absolute, or relative path, e.g. 
@code
-     *                     a/b/c/d.myProperty}, not {@code null}.
-     * @param type         The target type required, not {@code null}.
-     * @return the property value, never {@code null}.
-     * @throws ConfigException if the keys could not be converted to the 
required target type.
-     */
-    <T> T get(String key, TypeLiteral<T> type);
-
-    /**
-     * Get the property keys as type T. This will implicitly require a 
corresponding {@link
-     * org.apache.tamaya.spi.PropertyConverter} to be available that is 
capable current providing type T
-     * fromMap the given String keys.
-     *
-     * @param <T> the type of the type literal
-     * @param key          the property's absolute, or relative path, e.g.
-     *                     {@code a/b/c/d.myProperty}, not {@code null}.
-     * @param type         The target type required, not {@code null}.
-     * @param defaultValue default value to be used, if no value is present.
-     * @return the property value, never null.
-     * @throws ConfigException if the keys could not be converted to the 
required target type.
-     */
-    <T> T getOrDefault(String key, TypeLiteral<T> type, T defaultValue);
-
-    /**
-     * Access all currently known configuration properties as a full {@code 
Map<String,String>}.
-     * Be aware that entries from non scannable parts of the registered {@link 
org.apache.tamaya.spi.PropertySource}
-     * instances may not be contained in the result, but nevertheless be 
accessible calling one of the
-     * {@code get(...)} methods.
-     * @return all currently known configuration properties.
-     */
-    Map<String,String> getProperties();
-
-    /**
-     * Extension point for adjusting configuration.
-     *
-     * @param operator A configuration operator, e.g. a filter, or an adjuster
-     *                 combining configurations, never  {@code null}.
-     * @return the new adjusted configuration returned by the {@code 
operator}, never {@code null}.
-     */
-    default Configuration with(ConfigOperator operator){
-        return operator.operate(this);
-    }
-
-    /**
-     * Query a configuration.
-     *
-     * @param <T> the type of the configuration.
-     * @param query the query, not {@code null}.
-     * @return the result returned by the {@code query}.
-     */
-    default <T> T query(ConfigQuery<T> query){
-        return query.query(this);
-    }
-
-    /**
-     * Access a configuration's context.
-     * @return the configuration context, never null.
-     */
-    ConfigurationContext getContext();
-
-    /**
-     * Create a new builder using this instance as it's base.
-     * @return a new builder, never null.
-     */
-    default ConfigurationBuilder toBuilder() {
-        return 
ConfigurationProvider.getConfigurationBuilder().setConfiguration(this);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
----------------------------------------------------------------------
diff --git 
a/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java 
b/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
deleted file mode 100644
index bacb944..0000000
--- a/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-import org.apache.tamaya.spi.*;
-
-import java.util.logging.Logger;
-
-/**
- * Static access to the {@link Configuration} for the very application.
- */
-public final class ConfigurationProvider {
-
-    private static final Logger LOG = 
Logger.getLogger(ConfigurationProvider.class.getName());
-
-    private static ConfigurationProviderSpi spi() {
-        ConfigurationProviderSpi spi = 
ServiceContextManager.getServiceContext()
-                .getService(ConfigurationProviderSpi.class);
-        if(spi==null){
-            throw new IllegalStateException("ConfigurationProviderSpi not 
available.");
-        }
-        return spi;
-    }
-
-    private ConfigurationProvider() {
-        // just to prevent initialisation
-    }
-
-    /**
-     * Access the current configuration.
-     *
-     * @return the corresponding Configuration instance, never {@code null}.
-     */
-    public static Configuration getConfiguration() {
-        return spi().getConfiguration();
-    }
-
-    /**
-     * Creates a new configuration instance based on the given context.
-     *
-     * @param context the configuration context, not {@code null}.
-     * @return a new Configuration instance, never {@code null}.
-     */
-    public static Configuration createConfiguration(ConfigurationContext 
context) {
-        return spi().createConfiguration(context);
-    }
-
-    /**
-     * Get access to the current ConfigurationContext.
-     *
-     * @return the current ConfigurationContext, never null.
-     * @deprecated Use {@link Configuration#getContext()} instead of.
-     */
-    @Deprecated
-    public static ConfigurationContext getConfigurationContext() {
-        return spi().getConfigurationContext();
-    }
-
-    /**
-     * This method allows to replace the current {@link 
org.apache.tamaya.spi.ConfigurationContext} with a new
-     * instance. This can be used to update the context with a new one, e.g. 
because some of the configuration
-     * data has changed and should be updated. It is the responsibility of the 
ConfigurationProvider to trigger
-     * corresponding update events for the current {@link 
org.apache.tamaya.Configuration}, so observing
-     * listeners can do whatever is appropriate to react to any given 
configuration changes.
-     *
-     * @param context the new ConfigurationContext to be applied.
-     * @throws java.lang.UnsupportedOperationException if the current provider 
is read-only and does not support
-     *                                                 applying a new 
ConfigurationContext.
-     * @deprecated Use #setConfiguration(Configuration) instead of.
-     */
-    @Deprecated
-    public static void setConfigurationContext(ConfigurationContext context) {
-        spi().setConfigurationContext(context);
-    }
-
-    /**
-     * This method allows to replace the current default {@link 
org.apache.tamaya.Configuration} with a new
-     * instance. It is the responsibility of the ConfigurationProvider to 
trigger
-     * corresponding update events for the current {@link 
org.apache.tamaya.Configuration}, so observing
-     * listeners can do whatever is appropriate to react to any given 
configuration change.
-     *
-     * @param config the new Configuration to be applied, not {@code null}
-     * @throws java.lang.UnsupportedOperationException if the current provider 
is read-only and
-     *                                                 does not support
-     *                                                 applying a new 
Configuration.
-     */
-    public static void setConfiguration(Configuration config) {
-        LOG.info("TAMAYA Applying new Configuration: " + config);
-        spi().setConfiguration(config);
-    }
-
-    /**
-     * Create a new {@link ConfigurationBuilder} instance. This method creates
-     * a new builder instance that is not related to any concrete {@link 
org.apache.tamaya.spi.ConfigurationContext}.
-     * You can use {@link 
#setConfigurationContext(org.apache.tamaya.spi.ConfigurationContext)} to change 
the
-     * current configuration context.
-     *
-     * @return a new, empty {@link ConfigurationBuilder}, never null.
-     * @see 
#setConfigurationContext(org.apache.tamaya.spi.ConfigurationContext)
-     * @see org.apache.tamaya.spi.ConfigurationContext
-     * @deprecated Will be removed.
-     */
-    @Deprecated
-    public static ConfigurationContextBuilder getConfigurationContextBuilder() 
{
-        return spi().getConfigurationContextBuilder();
-    }
-
-    /**
-     * Create a new {@link ConfigurationBuilder} instance. This method creates
-     * a new builder instance that is not related to any concrete {@link 
org.apache.tamaya.spi.ConfigurationContext}.
-     * You can use {@link 
#setConfigurationContext(org.apache.tamaya.spi.ConfigurationContext)} to change 
the
-     * current configuration context.
-     *
-     * @return a new, empty {@link ConfigurationBuilder}, never null.
-     * @see 
#setConfigurationContext(org.apache.tamaya.spi.ConfigurationContext)
-     * @see org.apache.tamaya.spi.ConfigurationContext
-     */
-    public static ConfigurationBuilder getConfigurationBuilder() {
-        return spi().getConfigurationBuilder();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java 
b/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
deleted file mode 100644
index f530a29..0000000
--- a/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya;
-
-import java.io.Serializable;
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Objects;
-
-
-/**
- * <p>Class for instantiation of objects that represent parameterized types
- * with current parameters.</p>
- *
- * <p>An object that represents a parameterized type may be obtained by
- * subclassing <tt>TypeLiteral</tt>.</p>
- *
- * <pre>
- * TypeLiteral&lt;List&lt;Integer&gt;&gt; stringListType = new 
TypeLiteral&lt;List&lt;Integer&gt;&gt;() {};
- * </pre>
- *
- * @param <T> the type, including all type parameters
- */
-public class TypeLiteral<T> implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    private static final Type[] EMPTY_TYPE_ARRAY = new Type[0];
-    /** The current defined type. */
-    private final Type definedType;
-
-    /**
-     * Constructor.
-     * @param definedType the defined type.
-     */
-    public TypeLiteral(Type definedType) {
-        Objects.requireNonNull(definedType, "Type must be given");
-
-        this.definedType = definedType;
-    }
-
-    /**
-     * Constructor only for directly implemeting a TypeLiteral hereby 
dynamically implementing a generic interface.
-     */
-    public TypeLiteral() {
-        this.definedType = getDefinedType(this.getClass());
-    }
-
-    /**
-     * Creates a new TypeLiteral based on a given type.
-     *
-     * @param type the type , not {@code null}.
-     * @param <R>  the literal generic type.
-     * @return the corresponding TypeLiteral, never {@code null}.
-     */
-    public static <R> TypeLiteral<R> of(Type type) {
-        Objects.requireNonNull(type, "Type must be given.");
-
-        return new TypeLiteral<>(type);
-    }
-
-    /**
-     * Checks the current implemented generic interfaces and evaluates the 
given single type parameter.
-     *
-     * @param clazz         the class to check, not  {@code null}.
-     * @param interfaceType the interface type to be checked, not {@code null}.
-     * @return the generic type parameters, or an empty array, if it cannot be 
evaluated.
-     */
-    public static Type[] getGenericInterfaceTypeParameters(Class<?> clazz, 
Class<?> interfaceType) {
-        Objects.requireNonNull(clazz, "Class parameter must be given.");
-        Objects.requireNonNull(interfaceType, "Interface parameter must be 
given.");
-
-        for (Type type : clazz.getGenericInterfaces()) {
-            if (type instanceof ParameterizedType) {
-                ParameterizedType parameterizedType = (ParameterizedType) type;
-                if(parameterizedType.getRawType().equals(interfaceType)){
-                    return parameterizedType.getActualTypeArguments();
-                }
-            }
-        }
-        return EMPTY_TYPE_ARRAY;
-    }
-
-    /**
-     * Method that checks the class's type for a generic interface 
implementation type.
-     *
-     * @param type         the type, not {@code null}.
-     * @return the generic type parameter of the given single type generic 
interfaceType, or an empty array.
-     */
-    public static Type[] getTypeParameters(Type type) {
-        Objects.requireNonNull(type, "Type must be given.");
-
-        if (type instanceof ParameterizedType) {
-            ParameterizedType parameterizedType = (ParameterizedType) type;
-            return parameterizedType.getActualTypeArguments();
-        }
-        return EMPTY_TYPE_ARRAY;
-    }
-
-    public final Type getType() {
-        return definedType;
-    }
-
-    /**
-     * Returns basic raw Java type.
-     *
-     * @return the actual type represented by this object
-     */
-    @SuppressWarnings("unchecked")
-       public final Class<T> getRawType() {
-        Class<T> rawType;
-
-        if (this.definedType instanceof ParameterizedType) {
-            ParameterizedType pt = (ParameterizedType) this.definedType;
-            rawType = (Class<T>) pt.getRawType();
-        } else if (this.definedType instanceof GenericArrayType) {
-            rawType = (Class<T>) Object[].class;
-        } else if (this.definedType instanceof Class) {
-            rawType = (Class<T>) this.definedType;
-        } else {
-            throw new RuntimeException("Illegal type for the Type Literal 
Class");
-        }
-
-        return rawType;
-    }
-
-
-    protected Type getDefinedType(Class<?> clazz) {
-        Type type;
-
-        if (clazz == null) {
-            throw new RuntimeException("Class parameter clazz can not be 
null");
-        }
-
-        Type superClazz = clazz.getGenericSuperclass();
-
-        if (superClazz instanceof ParameterizedType) {
-            ParameterizedType pt = (ParameterizedType) superClazz;
-            Type[] actualArgs = pt.getActualTypeArguments();
-
-            if (actualArgs.length == 1) {
-                type = actualArgs[0];
-
-            } else {
-                throw new RuntimeException("More than one parametric type");
-            }
-
-        } else if (superClazz.equals(Object.class)) {
-            throw new RuntimeException("Super class must be parametrized 
type");
-        } else {
-            type = getDefinedType((Class<?>) superClazz);
-        }
-
-        return type;
-    }
-
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((definedType == null) ? 0 : 
definedType.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        TypeLiteral<?> other = (TypeLiteral<?>) obj;
-        if (definedType == null) {
-            if (other.definedType != null) {
-                return false;
-            }
-        } else if (!definedType.equals(other.definedType)) {
-            return false;
-        }
-        return true;
-    }
-
-
-    @Override
-    public String toString() {
-        return "TypeLiteral{" +
-                "type=" + definedType +
-                '}';
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/package-info.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/package-info.java 
b/code/api/src/main/java/org/apache/tamaya/package-info.java
deleted file mode 100644
index 60692a4..0000000
--- a/code/api/src/main/java/org/apache/tamaya/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * This package contains the Apache Tamaya API.
- */
-@org.osgi.annotation.versioning.Version("0.4")
-package org.apache.tamaya;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationBuilder.java
----------------------------------------------------------------------
diff --git 
a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationBuilder.java 
b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationBuilder.java
deleted file mode 100644
index a2b3257..0000000
--- a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationBuilder.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya.spi;
-
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.TypeLiteral;
-
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A builder for creating new instance of {@link Configuration}.
- * Builders can be obtained in exactly two ways:
- * <ol>
- *     <li>By accessing a preinitialized builder from an existing {@link 
Configuration},
- *     by calling {@link org.apache.tamaya.spi.Configuration#toBuilder()}.</li>
- *     <li>By accessing an empty builder instance from
- *     {@link 
org.apache.tamaya.ConfigurationProvider#getConfigurationBuilder()}.</li>
- * </ol>
- * After all changes are applied to a builder a new {@link Configuration} 
instance can
- * be created and can be applied by calling
- * {@link #build()}}.
- *
- */
-public interface ConfigurationBuilder {
-
-    /**
-     * Init this builder instance with the given {@link Configuration} 
instance. This
-     * method will use any existing property sources, filters, converters and 
the combination
-     * policy of the given {@link Configuration} and initialize the current 
builder
-     * with them. All previous property sources, filters, converters and the 
combination
-     * policy of this instance will be replaced.
-     *
-     * @param config the {@link Configuration} instance to be used, not {@code 
null}.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder setConfiguration(Configuration config);
-
-    /**
-     * Init this builder instance with the given {@link ConfigurationContext} 
instance. This
-     * method will use any existing property sources, filters, converters and 
the combination
-     * policy of the given {@link ConfigurationContext} and initialize the 
current builder
-     * with them. All previous property sources, filters, converters and the 
combination
-     * policy of this instance will be replaced.
-     *
-     * @param context the {@link ConfigurationContext} instance to be used, 
not {@code null}.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder setContext(ConfigurationContext context);
-
-    /**
-     * This method can be used for adding {@link PropertySource}s.
-     * Hereby the property source is added to the tail of property sources with
-     * lowest priority  regardless of its current ordinal value. To sort the 
property
-     * sources based on their ordinals call {@link #sortPropertySources}.
-     *
-     * @param propertySources the PropertySources to add
-     * @return this builder, for chaining, never null.
-     * @throws IllegalArgumentException If a property source with a given name 
already
-     * exists.
-     */
-    ConfigurationBuilder addPropertySources(PropertySource... propertySources);
-
-    /**
-     * This method can be used for programmatically adding {@link 
PropertySource}s.
-     * Hereby the property source is added to the tail of property sources with
-     * lowest priority regardless of its current ordinal value. To sort the 
property
-     * sources based on their ordinals call {@link #sortPropertySources}.
-     *
-     * @param propertySources the PropertySources to add
-     * @return this builder, for chaining, never null.
-     * @throws IllegalArgumentException If a property source with a given name 
already
-     * exists.
-     */
-    ConfigurationBuilder addPropertySources(Collection<PropertySource> 
propertySources);
-
-    /**
-     * Add all registered (default) property sources to the context built. The 
sources are ordered
-     * based on their ordinal values and added to the chain of property 
sources with
-     * higher priority.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder addDefaultPropertySources();
-
-    /**
-     * Removes the given property sources, if existing. The existing order of 
property
-     * sources is preserved.
-     *
-     * @param propertySources the property sources to remove, not {@code null}.
-     * @return the builder for chaining.
-     */
-    ConfigurationBuilder removePropertySources(PropertySource... 
propertySources);
-
-    /**
-     * Removes the given property sources, if existing. The existing order of 
property
-     * sources is preserved.
-     *
-     * @param propertySources the property sources to remove, not {@code null}.
-     * @return the builder for chaining.
-     */
-    ConfigurationBuilder removePropertySources(Collection<PropertySource> 
propertySources);
-
-    /**
-     * Access the current chain of property sources. Items at the end of the 
list have
-     * precedence/more significance.
-     *
-     * @return the property source chain, never {@code null}.
-     */
-    List<PropertySource> getPropertySources();
-
-    /**
-     * Access the current chain of property filters. Items at the end of the 
list have
-     * precedence/more significance.
-     *
-     * @return the property filter chain, never {@code null}.
-     */
-    List<PropertyFilter> getPropertyFilters();
-
-    /**
-     * Access the current registered property converters.
-     *
-     * @return the current registered property converters.
-     */
-    Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> 
getPropertyConverter();
-
-    /**
-     * Increases the priority of the given property source, by moving it 
towards the end
-     * of the chain of property sources. If the property source given is 
already at the end
-     * this method has no effect. This operation does not change any ordinal 
values.
-     *
-     * @param propertySource the property source to be incresed regarding its 
significance.
-     * @return the builder for chaining.
-     * @throws IllegalArgumentException If no such property source exists in 
the current
-     * chain.
-     */
-    ConfigurationBuilder increasePriority(PropertySource propertySource);
-
-    /**
-     * Decreases the priority of the given property source, by moving it 
towards the start
-     * of the chain of property sources. If the property source given is 
already the first
-     * this method has no effect. This operation does not change any ordinal 
values.
-     *
-     * @param propertySource the property source to be decresed regarding its 
significance.
-     * @return the builder for chaining.
-     * @throws IllegalArgumentException If no such property source exists in 
the current
-     * chain.
-     */
-    ConfigurationBuilder decreasePriority(PropertySource propertySource);
-
-    /**
-     * Increases the priority of the given property source to be maximal, by 
moving it to
-     * the tail of the of property source chain. If the property source given 
is
-     * already the last item this method has no effect. This operation does 
not change
-     * any ordinal values.
-     *
-     * @param propertySource the property source to be maximized regarding its 
significance.
-     * @return the builder for chaining.
-     * @throws IllegalArgumentException If no such property source exists in 
the current
-     * chain.
-     */
-    ConfigurationBuilder highestPriority(PropertySource propertySource);
-
-    /**
-     * Decreases the priority of the given property source to be minimal, by 
moving it to
-     * the start of the chain of property source chain. If the property source 
given is
-     * already the first item this method has no effect. This operation does 
not change
-     * any ordinal values.
-     *
-     * @param propertySource the property source to be minimized regarding its 
significance.
-     * @return the builder for chaining.
-     * @throws IllegalArgumentException If no such property source exists in 
the current
-     * chain.
-     */
-    ConfigurationBuilder lowestPriority(PropertySource propertySource);
-
-    /**
-     * Adds the given PropertyFilter instances, hereby the instances are added
-     * to the end of the list with highest priority. The ordering of existing
-     * property filters remains unchanged. To sort the property
-     * filters call {@link #sortPropertyFilter}.
-     *
-     * @param filters the filters to add
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder addPropertyFilters(PropertyFilter... filters);
-
-    /**
-     * Adds the given PropertyFilter instances, hereby the instances are added
-     * to the end of the list with highest priority. The ordering of existing
-     * property filters remains unchanged. To sort the property
-     * filters call {@link #sortPropertyFilter}.
-     *
-     * @param filters the filters to add
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder addPropertyFilters(Collection<PropertyFilter> 
filters);
-
-    /**
-     * Add all auto-discoverable property filters to the context built.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder addDefaultPropertyFilters();
-
-
-    /**
-     * Removes the given PropertyFilter instances, if existing. The order of 
the remaining
-     * filters is preserved.
-     *
-     * @param filters the filter to remove
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder removePropertyFilters(PropertyFilter... filters);
-
-    /**
-     * Removes the given PropertyFilter instances, if existing. The order of 
the remaining
-     * filters is preserved.
-     *
-     * @param filters the filter to remove
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder removePropertyFilters(Collection<PropertyFilter> 
filters);
-
-    /**
-     * This method can be used for adding {@link PropertyConverter}s.
-     * Converters are added at the end after any existing converters.
-     * For converters already registered for the current target type the
-     * method has no effect.
-     *
-     * @param typeToConvert     the type for which the converter is for
-     * @param propertyConverters the PropertyConverters to add for this type
-     * @param <T> the target type.
-     * @return this builder, for chaining, never null.
-     */
-    <T> ConfigurationBuilder addPropertyConverters(TypeLiteral<T> 
typeToConvert,
-                                                   
@SuppressWarnings("unchecked") PropertyConverter<T>... propertyConverters);
-
-    /**
-     * This method can be used for adding {@link PropertyConverter}s.
-     * Converters are added at the end after any existing converters.
-     * For converters already registered for the current target type the
-     * method has no effect.
-     *
-     * @param typeToConvert the type for which the converter is for
-     * @param propertyConverters the PropertyConverters to add for this type
-     * @param <T> the target type.
-     * @return this builder, for chaining, never null.
-     */
-    <T> ConfigurationBuilder addPropertyConverters(TypeLiteral<T> 
typeToConvert,
-                                                   
Collection<PropertyConverter<T>> propertyConverters);
-
-    /**
-     * Add all auto-discoverable property converters to the context built.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder addDefaultPropertyConverters();
-
-    /**
-     * Removes the given PropertyConverter instances for the given type,
-     * if existing.
-     *
-     * @param typeToConvert the type which the converter is for
-     * @param propertyConverters    the converter to remove
-     * @param <T> the target type.
-     * @return this builder, for chaining, never null.
-     */
-    <T> ConfigurationBuilder removePropertyConverters(TypeLiteral<T> 
typeToConvert,
-                                                      
@SuppressWarnings("unchecked") PropertyConverter<T>... propertyConverters);
-
-    /**
-     * Removes the given PropertyConverter instances for the given type,
-     * if existing.
-     *
-     * @param typeToConvert the type which the converter is for
-     * @param propertyConverters    the converter to remove
-     * @param <T> the target type.
-     * @return this builder, for chaining, never null.
-     */
-    <T> ConfigurationBuilder removePropertyConverters(TypeLiteral<T> 
typeToConvert,
-                                                      
Collection<PropertyConverter<T>> propertyConverters);
-
-    /**
-     * Removes all converters for the given type, which actually renders a 
given type
-     * unsupported for type conversion.
-     *
-     * @param typeToConvert the type which the converter is for
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder removePropertyConverters(TypeLiteral<?> 
typeToConvert);
-
-    /**
-     * Sorts the current registered property sources using the given 
comparator.
-     *
-     * NOTE: property sources at the beginning have minimal significance.
-     *
-     * @param comparator the comparator to be used, not {@code null}.
-     * @return this instance for chaining.
-     */
-    ConfigurationBuilder sortPropertySources(Comparator<PropertySource> 
comparator);
-
-    /**
-     * Sorts the current registered property filters using the given 
comparator.
-     *
-     * NOTE: property filters at the beginning have minimal significance.
-     *
-     * @param comparator the comparator to be used, not {@code null}.
-     * @return this instance for chaining.
-     */
-    ConfigurationBuilder sortPropertyFilter(Comparator<PropertyFilter> 
comparator);
-
-    /**
-     * Sets the {@link PropertyValueCombinationPolicy} used to evaluate the 
final
-     * property values.
-     *
-     * @param policy the {@link PropertyValueCombinationPolicy} used, not 
{@code null}.
-     * @return this builder, for chaining, never null.
-     */
-    ConfigurationBuilder 
setPropertyValueCombinationPolicy(PropertyValueCombinationPolicy policy);
-
-    /**
-     * Builds a new {@link Configuration} based on the data in this builder. 
The ordering of property
-     * sources and property filters is not changed, regardless of their 
ordinals. For ensure a certain
-     * ordering/significance use {@link #sortPropertyFilter(Comparator)} 
and/or {@link #sortPropertySources(Comparator)}
-     * before building the context.
-     *
-     * @return the final configuration, never null.
-     */
-    Configuration build();
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9bc56a38/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
----------------------------------------------------------------------
diff --git 
a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java 
b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
deleted file mode 100644
index f077a1d..0000000
--- a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya.spi;
-
-
-import org.apache.tamaya.TypeLiteral;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Central SPI for programmatically dealing with the setup of the 
configuration system.
- * This includes adding and enlisting {@link 
org.apache.tamaya.spi.PropertySource}s,
- * managing {@link PropertyConverter}s, ConfigFilters, etc.
- */
-public interface ConfigurationContext {
-
-    /**
-     * This method can be used for programmatically adding {@link 
PropertySource}s.
-     * It is not needed for normal 'usage' by end users, but only for 
Extension Developers!
-     *
-     * @param propertySources the PropertySources to add
-     * @deprecated Use {@link ConfigurationContextBuilder} to create a new 
{@link ConfigurationContext}.
-     * @see #toBuilder()
-     */
-    @Deprecated
-    void addPropertySources(PropertySource... propertySources);
-
-    /**
-     * This method returns the current list of registered PropertySources 
ordered via their ordinal.
-     * PropertySources with a lower ordinal come last. The PropertySource with 
the
-     * highest ordinal comes first.
-     * If two PropertySources have the same ordinal number they will get sorted
-     * using their class name just to ensure the user at least gets the same 
ordering
-     * after a JVM restart, hereby names before are added last.
-     * PropertySources are loaded when this method is called the first time, 
which basically is
-     * when the first time configuration is accessed.
-     *
-     * @return a sorted list of registered PropertySources.  The returned list 
need not be modifiable
-     */
-    List<PropertySource> getPropertySources();
-
-    /**
-     * Access a {@link PropertySource} using its (unique) name.
-     * @param name the propoerty source's name, not {@code null}.
-     * @return the propoerty source found, or {@code null}.
-     */
-    PropertySource getPropertySource(String name);
-
-    /**
-     * This method can be used for programmatically adding {@link 
PropertyConverter}s.
-     * It is not needed for normal 'usage' by end users, but only for 
Extension Developers!
-     *
-     * @param <T> the type of the type literal
-     * @param type the type which the converters is for
-     * @param propertyConverter the PropertyConverters to add for this type
-     * @deprecated Use {@link ConfigurationContextBuilder} to create a new 
{@link ConfigurationContext}.
-     * @see #toBuilder()
-     */
-    @Deprecated
-    <T> void addPropertyConverter(TypeLiteral<T> type, PropertyConverter<T> 
propertyConverter);
-
-
-    /**
-     * <p>
-     * This method returns the Map of registered PropertyConverters
-     * per type.
-     * The List for each type is ordered via their {@link 
javax.annotation.Priority} and
-     * cladd name.
-     * </p>
-     *
-     * <p>A simplified scenario could be like:</p>
-     * <pre>
-     *  {
-     *      Date.class -&gt; {StandardDateConverter, TimezoneDateConverter, 
MyCustomDateConverter }
-     *      Boolean.class -&gt; {StandardBooleanConverter, 
FrenchBooleanConverter}
-     *      Integer.class -&gt; {DynamicDefaultConverter}
-     *  }
-     * </pre>
-     *
-     * @return map with sorted list of registered PropertySources per type.
-     */
-    Map<TypeLiteral<?>, List<PropertyConverter<?>>> getPropertyConverters();
-
-    /**
-     * <p>
-     * This method returns the registered PropertyConverters for a given type.
-     * The List for each type is ordered via their {@link 
javax.annotation.Priority}.
-     * </p>
-     *
-     * <p>
-     * PropertyConverters with a higher Priority come first. The 
PropertyConverter with the
-     * lowest Priority comes last.
-     * If two PropertyConverter have the same ordinal number they will get 
sorted
-     * using their class name just to ensure the user at least gets the same 
ordering
-     * after a JVM restart.
-     * </p>
-     *
-     * <p>
-     * Additionally if a PropertyProvider is accessed, which is not registered 
the implementation
-     * should try to figure out, if there could be a default implementation as 
follows:</p>
-     * <ol>
-     *     <li>Look for static factory methods: {@code of(String), 
valueOf(String), getInstance(String),
-     *     instanceOf(String), fomr(String)}</li>
-     *     <li>Look for a matching constructor: {@code T(String)}.</li>
-     * </ol>
-     *
-     * <p>
-     * If a correspoding factory method or constructor could be found, a 
corresponding
-     * PropertyConverter should be created and registered automatically for 
the given
-     * type.
-     * </p>
-     *
-     * <p> The scenario could be like:</p>
-     *
-     * <pre>
-     *  {
-     *      Date.class -&gt; {MyCustomDateConverter,StandardDateConverter, 
TimezoneDateConverter}
-     *      Boolean.class -&gt; {StandardBooleanConverter, 
FrenchBooleanConverter}
-     *      Integer.class -&gt; {DynamicDefaultConverter}
-     *  }
-     * </pre>
-     *
-     * <p>
-     * The converters returned for a type should be used as a chain, whereas 
the result of the
-     * first converters that is able to convert the configured value, is taken 
as the chain's result.
-     * No more converters are called after a converters has successfully 
converted the input into
-     * the required target type.
-     * </p>
-     * 
-     * @param <T> the type of the type literal
-     * @param type type of the desired converters
-     * @return a sorted list of registered PropertySources per type.
-     */
-    <T> List<PropertyConverter<T>> getPropertyConverters(TypeLiteral<T> type);
-
-    /**
-     * Access the current PropertyFilter instances.
-     * @return the list of registered PropertyFilters, never null.
-     */
-    List<PropertyFilter> getPropertyFilters();
-
-    /**
-     * Access the {@link org.apache.tamaya.spi.PropertyValueCombinationPolicy} 
used to evaluate the final
-     * property values.
-     * @return the {@link 
org.apache.tamaya.spi.PropertyValueCombinationPolicy} used, never null.
-     */
-    PropertyValueCombinationPolicy getPropertyValueCombinationPolicy();
-
-    /**
-     * Creates a {@link ConfigurationContextBuilder} preinitialized with the 
data from this instance.
-     * @return a new builder instance, never null.
-     * @deprecated Will be removed.
-     */
-    @Deprecated
-    ConfigurationContextBuilder toBuilder();
-
-}

Reply via email to