Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [pde-dev] [api tooling] Re: ApiTools_Architecture


 
Esteemed Colleages,
 
A (seemingly) defunct notion of reuse contracts hangs about the edges of the software maintenance domain.  Perchance these tags fall into the software maintenance category as a they are directed and adaptors and perfectors.
 
Are there any other ideas from reuse contracts that we can coax into the javadoc tags?  The attached paper gives a flavour.  Not all need come over but some might be useful.
 
Not really the forum (I know) but food for thought, as there is a lot of IP out there, relating to software maintenance, that appears to fall on deaf ears despite its relevance within the Agil community.
 
Cheers
AD





> To: Boris_Bokowski@xxxxxxxxxx
> From: Darin_Wright@xxxxxxxxxx
> Date: Wed, 31 Oct 2007 21:41:55 -0500
> CC: pde-dev@xxxxxxxxxxx
> Subject: [pde-dev] [api tooling] Re: ApiTools_Architecture
>
> >
> > When is a good time to provide feedback?
>
> Anytime. The sooner we get feedback, the better. I'm posting your note to
> pde-dev for the benefit of all interested.
>
> >
> > One thing that caught my eye immediately was the list of new Javadoc
> tags:
> >
> > @nosubclass - This class is not intended to be subclassed.
> > @noinstantiate - This class is not intended to be instantiated.
> > @noimplement - This interface is not intended to be implemented by
> clients.
> > @noreference - This type is not intended to be referenced by clients.
> >
> > It seems that for the first two, you should add "...by clients" as
> > well.
>
> Well, that is a good point. It could be that a class is not intended to be
> subclassed at all (clients or internally - basically a final class).
> However, it is more important that clients do not subclass, so we could
> add "by clients". The similar situation may be true for @noinstantiate -
> i.e. a utility class with only static methods.
>
> > I assume "clients" refers to anyone outside of the current
> > bundle? How do you express exceptions for friends such as test bundles?
>
> So far, exceptions are handled by x-friends in a Manifest.MF, rather than
> javadoc tags. However, friends were intended to have API access to classes
> that are internal/private - friends were not intended to override the
> restrictions above. So, we need to think about how that might work.
>
> Currently, there is no concept of SPI (service provider interface) - an
> API interface for a select few. However, we were thinking of adding
> special tags in the Manifest to represent this. I could also imagine
> adding special tags to allow tests suites/clients to have unrestricted
> access to packages/bundles.
>
> >
> > You are only talking about using these annotations for types. We
> > have similar constraints for methods and fields. For example, SWT
> > has public fields that could be marked with @noreference. If
> > @noreference was available for constructors, wouldn't that be a good
> > replacement for @noinstantiate? I'm sure that we also have methods
> > that are @nooverride.
>
> Yes - we intend to extend the mechanisms to members. Jeff suggested that
> we might use @noextend for both types and methods.
>
> Thanks,
>
> Darin
>
> _______________________________________________
> pde-dev mailing list
> pde-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/pde-dev



Listen now! New music from the Rogue Traders.

Attachment: reuse contracts.pdf
Description: Adobe PDF document


Back to the top