[jboss-dev] building the documentation for JBoss public and private API...
David M. Lloyd
david.lloyd at redhat.com
Wed Jun 3 11:43:22 EDT 2009
But of course in AS 6, private APIs won't be accessible to customer
deployments anyway, since we'll have nice API/impl separation and we'll be
fully modularized.
Right guys?
RIGHT?!?
- DML
On 06/02/2009 09:36 PM, Scott Marlow wrote:
> One illegal usage might be detecting that a private (JBoss internal) API
> was used by a customer application. This would be useful for our
> customers to know as private API can change unexpectedly from release to
> release.
>
> Applications that use private APIs will need more refactoring during
> migration to a new AS release.
>
> Perhaps we could also have a usage check for unsupported APIs (some
> projects have contributions that may be considered experimental).
> David M. Lloyd wrote:
>> Illegal usages such as what?
>>
>> - DML
>>
>> On 06/01/2009 04:04 PM, Emmanuel Bernard wrote:
>>> +1 for annotations as we could also flag illegal usages at compile
>>> time via an annotations compiler.
>>>
>>> On Jun 1, 2009, at 17:00, David M. Lloyd wrote:
>>>
>>>> On 06/01/2009 03:19 PM, Scott Marlow wrote:
>>>>> We were just talking about building a list of all JBoss AS public
>>>>> API calls. This will be used to document the public API versus
>>>>> what is considered private (we will include only the public API in
>>>>> this "public api" documentation).
>>>>> One idea mentioned already is that we could use an annotation (e.g.
>>>>> something like @publicAPI mentioned elsewhere
>>>>> http://www.opends.org/promoted-builds/2.0.0-RC1/javadoc/org/opends/server/types/PublicAPI.html).
>>>>> We would then build the "public API" documentation based on the
>>>>> @publicAPI annotations (the how to be determined).
>>>>> We might want to also include a @privateAPI tag, for source files
>>>>> that contain a mix of public and private API (or maybe we should
>>>>> move anything private into separate modules).
>>>>
>>>> The way I traditionally tackle this is by using package-private
>>>> access for non-API stuff in the API package. Otherwise, a taglet
>>>> would be a great way to do this (annotations are probably
>>>> overkill). Javadoc may be an old technology but it's still decent.
>>>>
>>>> One thing I also have for Remoting 3 is a set of javadoc tags that I
>>>> can stick on a class or interface which causes a generic explanation
>>>> to be appended to the javadoc (like "This interface is intended to
>>>> be implemented by the end user" or "This interface is intended for
>>>> service providers, so new methods may be added without notice",
>>>> etc). I can provide a link as soon as I get around to getting the
>>>> javadoc published for 3.1.
>>>>
>>>> - DML
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
>
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
More information about the jboss-development
mailing list