2013/3/11 Felix Meschberger <[email protected]>: > Hi, > > Am 10.03.2013 um 19:59 schrieb Carsten Ziegeler: > >> Hi, >> >>> My opinion would be: >>> >>> (a) search the implementation class only >>> (b) accept all method modifiers >>> (c) document to prefer private >>> >>> Alternatively we could search the class hierarchy as is defined in section >>> 112.9.4 (Locating Component Methods) of the Declarative Services >>> specification. >> >> I think the current implementation searches the hierarchy > > Yes and no ;-) The current implementation walks the hierarchy but it uses the > Class.getMethod method to find the method, which actually only returns public > methods. So walking the hierarchy is essentially useless. > Ah, right - yes the idea was that the method has to be public, otherwise the service is not used, now I remember :)
Carsten > Just using getDeclaredMethod is not fully correct, because you probably don't > want to use a private method from a super class or a package private method > from a super class in a different package. Which is why I also refer to the > DS specification, which explains how to actually find and select methods from > superclasses. > > >> - I don't >> have a strong preference, but I think searching the hierarchy is >> better. > > I somehow have the impression that subclassing is not a concern for > InventoryPrinter services and in fact may not even make sense. Which is > probably also why Web Console 4 does not walk the class hierarchy for finding > ConfigurationPrinter methods. > > Regards > Felix > >>> >>> -- >>> Felix Meschberger | Principal Scientist | Adobe >>> >>> >>> >>> >>> >>> >>> >> >> >> >> -- >> Carsten Ziegeler >> [email protected] > > > -- > Felix Meschberger | Principal Scientist | Adobe > > > > > > > -- Carsten Ziegeler [email protected]
