[ 
https://issues.apache.org/jira/browse/SLING-9555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17147698#comment-17147698
 ] 

Konrad Windszus commented on SLING-9555:
----------------------------------------

bq. This change is not breaking any implementor of that interface

You cannot know. If some implementor has created a field with the same name 
already in a subclass of {{ResourceChangeListener}} it may break!

I will therefore move the constants to another class.

> Define ResourceChange.ChangeType also as constant string values
> ---------------------------------------------------------------
>
>                 Key: SLING-9555
>                 URL: https://issues.apache.org/jira/browse/SLING-9555
>             Project: Sling
>          Issue Type: Improvement
>          Components: API
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>             Fix For: API 2.22.2
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> As all annotation values have to be provided as constants (e.g. in 
> https://docs.osgi.org/javadoc/r6/residential/org/osgi/service/component/annotations/Component.html#property())
>  and conversion from {{Enum}} to {{String}} cannot be resolved at compile 
> time all enum values of {{ResourceChange.ChangeType}} should also be provided 
> as String constants.
> Something like this does not work
> {code}
> @Component(property = { 
> ResourceChangeListener.CHANGES+"="+ResourceChange.ChangeType.REMOVED.toString()}
> )
> {code}
> Compare with https://stackoverflow.com/a/13253879.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to