Tim Baldwin created ARIES-1303:
----------------------------------

             Summary: Return type for public API getRespository() is not 
exported
                 Key: ARIES-1303
                 URL: https://issues.apache.org/jira/browse/ARIES-1303
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
    Affects Versions: blueprint-core-1.3.0
            Reporter: Tim Baldwin
            Priority: Minor


The interface class 
"org.apache.aries.blueprint.services.ExtendedBlueprintContainer" in the 
blueprint-core component is a public interface that contains a deprecated 
internal API method:

    /**
     * To be removed as internal API
     */
    @Deprecated
    Repository getRepository();

Because this is a public API interface this method is part of a public exported 
package and is visible to applications, however the return type for the method 
"org.apache.aries.blueprint.di.Repository" is an internal class and is not 
exported.

This can cause issues with tooling that performs checking that all public 
methods, parameters and return types form a consistent set.

Ideally this deprecated method should be removed from the public interface (I 
don't believe it can actually be used by anyone as the return type is not 
accessible), but as it is used internally it would need moving to some other 
internal only interface (along with all resulting references).

Alternatively, while the deprecated method remains visible, the return type 
should be publicly exported too. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to