Protocols Plug-in Download

System Requirements

The Protocols plug-in requires Eclipse version 3.0.

If you would like to try to make it work on an older version, be my guest, but be prepared to address diverse instances of odd behavior due to subtle changes in the platform. Please share your results if you are successful.

Installation

Install the Protocols plug-in by unzipping and placing the entire resulting directory (se.bergner.protocol_n.n.n) in the .../eclipse/plugins directory of your Eclipse installation.

Looking for the Source Code?

Download the plug-in. The source code is in protocolsrc.zip.

License

This is free software under GPL. See the file license.txt in the se.bergner.protocol_n.n.n directory.

Version History

Version
Description
1.0.4
Original release. Replaced by version 1.0.5.
1.0.5

For Eclipse 3.0 M4 and M5

Fixed issue with certain header formats, notably those containing many dashes or ending immediately after the protocol name. Such would result in an unhandled ProtocolContractBreachException. Selecting Type by switching between editors is not supported (see version 1.1.0).

1.1.0

For Eclipse 3.0 M6

Fixed issue with selecting a Type by switching Editor rather than using the Types view. When this happened, the Protocols view would not react. As of version 1.1.0, the Protocols view is "linked with editor" as is the default for other views and the use of multiple editors thus supported.

1.1.1

For Eclipse 3.0 M6 and M7

Fixed problem with a comment but no member preceding the first protocol header.

2.0.0

For Eclipse 3.0

"Final header" moved out of the class definition to stop conflicts with code generating commands. "Final header" name place holder changed from "-----" to "--X-X--" allowing for series of dashes to be used in headers. Added the "Sort and Format Source" command to the Packages View so that the command now can be applied to all the types in any combination of packages from the same project at once.

2.0.1

For Eclipse 3.0

Fixed several minor problems in connection the Protocols View's reaction to selections in other views. E.g. multiple selections in the Members View will no longer make the Protocols View go blank. The Protocols View's compatibility with perspectives other than Java Browsing has been improved and it now integrates smoothly into the Java Perspective if the Members View is used.

Upgrading from 1.x.x? Please see note on backwards compatibility below.

2.0.2

For Eclipse 3.0 and 3.1

Fixed problems in connection with handling inner types that were introduced in 2.0.1. Also removed the basis for a ClassCastException occuring during selection in the Packages view.

Upgrading from 1.x.x? Please see note on backwards compatibility below.

Important note on backward compatibility

When upgrading from any of the milestone release versions (i.e. 1.n.n) to version 2.0.1, affects of the changes to the "final header" will unfortunately require your attention.

The "final header", which is the last header in the file, automatically placed there to specify the header format used, is no longer based on "----" but rather "--X-X--". This change allows for the use of a comment template containing lines of dashes, which has been in popular demand. Furthermore, it has been moved to after the last "}" to make it less in conflict with other code manipulation.

Sadly, this means that all code written using the previous versions of protocols will lack the final header and display a "-----" named header with no members (which of course looks rather ugly). When the final header is missing, the header style is decided by the setting on the preference page, so it will only be a problem if you use different styles in different files.

For consolation, I included the awareness of this situation into the Sort and Format operation, so that it removes the empty "-----" protocol and (as always) adds the missing final header, now in the new format. I also made this command available from the Packages View, so one can select as many packages in a project that one wants and run Sort and Format on all the contained classes as a single command.

Apologies for the inconvenience but it just had to be done. By doing this now I hope to avoid more severe problems in the future, and I promise I will not do this again for a very long time.

Download

Platform
Download
Eclipse 3.0 M4 se.bergner.protocol_1.0.5.zip
Eclipse 3.0 M5 se.bergner.protocol_1.0.5.zip
Eclipse 3.0 M6 se.bergner.protocol_1.1.1.zip
Eclipse 3.0 M7 se.bergner.protocol_1.1.1.zip
Eclipse 3.x se.bergner.protocol_2.0.2.zip

Enjoy!
se.bergner@bergner.se