[
https://issues.apache.org/jira/browse/SLING-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16766068#comment-16766068
]
Konrad Windszus commented on SLING-8272:
----------------------------------------
My idea is that it also returns true if the config is inherited from somewhere
(either parent level or fallback paths). The default values from the annotation
should not count as existence (this was the original driver for this request).
I am not 100% sure yet about configuration override, but I would rather say
this should not count either (as you don't give a specific value name in this
method I would also not be sure on how you could potentially implement this).
Does that make sense?
> 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 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);
> 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)