Konrad Windszus created SLING-8272:
--------------------------------------
Summary: ConfigurationBuilder: Add method to check for the
existence of the config
Key: SLING-8272
URL: https://issues.apache.org/jira/browse/SLING-8272
Project: Sling
Issue Type: Improvement
Components: Extensions
Affects Versions: Context-Aware Configuration Impl 1.4.14, Context-Aware
Configuration API 1.1.2
Reporter: Konrad Windszus
Assignee: Konrad Windszus
Sometimes it is desirable to check if a Context Aware Configuration is there at
all or not via the high level API. Both methods {{as}} and {{asCollection}}
will never return null, as they will always consider the default values. All
other methods require to set at least a name.
So to simply check if a CAC content resource is existing for a certain
annotation class (defining a Context Aware Configuration) the following code is
necessary:
{code}
ConfigurationBuilder builder = contentResource.adaptTo(builder);
builder.name(<derive name from annotation type>).valueMap().isEmpty();
{code}
As there is no method exported to derive the name from an annotation type this
would require additional custom code.
I propose to add a simple
{code}
boolean has(@NotNull java.lang.Class<T> clazz)
{code}
which is only then supposed to return {{true}} in case there is an underlying
CAC content resource which can be adapted to the given class.
Compare also with
https://www.mail-archive.com/[email protected]/msg83617.html.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)