[
https://issues.apache.org/jira/browse/SLING-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Seifert updated SLING-8272:
----------------------------------
Issue Type: New Feature (was: Improvement)
> 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: New Feature
> 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
> Fix For: Context-Aware Configuration API 1.1.4, Context-Aware
> Configuration Impl 1.4.18
>
> Time Spent: 4h 50m
> Remaining Estimate: 0h
>
> 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);
> 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.14#76016)