sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konrad Windszus (JIRA)" <>
Subject [jira] [Commented] (SLING-8272) ConfigurationBuilder: Add method to check for the existence of the config
Date Thu, 14 Feb 2019 11:09:00 GMT


Konrad Windszus commented on SLING-8272:

It seems that currently there is no possibility at all to easily achieve that, because all
method from ConfigurationBuilder already take the default values into account (in contrast
to what the javadoc states, compare with SLING 8275).

> ConfigurationBuilder: Add method to check for the existence of the config
> -------------------------------------------------------------------------
>                 Key: SLING-8272
>                 URL:
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: Context-Aware Configuration API 1.1.2, Context-Aware Configuration
Impl 1.4.14
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
> Sometimes it is desirable to check if a Context Aware Configuration is there at all 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(ConfigurationBuilder.class);
><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

This message was sent by Atlassian JIRA

View raw message