--- DevKitBundle.properties.~1~ 2006-01-09 23:48:14.000000000 -0500
+++ DevKitBundle.properties 2006-01-18 14:29:19.000000000 -0500
@@ -122,20 +122,20 @@
inspections.registration.problems.quickfix.make.public=Make {0} public
inspections.registration.problems.quickfix.make.public.read-only=Class ''{0}'' is read-only
-inspections.registration.problems.incompatible.message=According to its registration, the class should {0} ''{1}''
-inspections.registration.problems.abstract=Plugin component class must not be abstract
-inspections.registration.problems.not.public=Action class should be public
-inspections.registration.problems.ctor.not.public=Action class constructor should be public
-inspections.registration.problems.missing.noarg.ctor=Action class should have a public no-argument constructor
+inspections.registration.problems.incompatible.message=Class is listed as application component in plugin.xml but does not {0} ''{1}''
+inspections.registration.problems.abstract=Plugin component class is abstract
+inspections.registration.problems.not.public=Action class must be public
+inspections.registration.problems.ctor.not.public=Action class must have public constructor
+inspections.registration.problems.missing.noarg.ctor=Action class must have a public no-argument constructor
inspections.registration.problems.missing.implementation.class=Missing implementation-class
inspections.registration.problems.cannot.resolve.class=Cannot resolve {0} class
-inspections.registration.problems.component.should.implement=Component class should implement ''{0}''
-inspections.registration.problems.component.incompatible.interface=Component class is not assignable to its interface-class ''{0}''
-inspections.registration.problems.component.duplicate.interface=Interface class is already used
-inspections.registration.problems.action.incompatible.class=Action class should extend ''{0}''
+inspections.registration.problems.component.should.implement=Component class must implement ''{0}''
+inspections.registration.problems.component.incompatible.interface=Component class must extend its interface-class ''{0}''
+inspections.registration.problems.component.duplicate.interface=Duplicate components with interface class
+inspections.registration.problems.action.incompatible.class=Action class must extend ''{0}''
-inspections.component.not.registered.name=Component or Action not registered
+inspections.component.not.registered.name=Component/action not registered
inspections.component.not.registered.message={0} is not registered in plugin.xml
inspections.component.not.registered.option.check.actions=Check Actions
inspections.component.not.registered.option.ignore.non.public=Ignore non-public classes
Hmm, I think the fact that the class is abstract is obvious to the user. The message should IMO state what it should not be.
I somehow agree with the "should" -> "must" change, but "must have a public constructor" somehow implies the class doesn't have one at all. Since the error applies to the ctor itself I think this doesn't fit that well.
In general I'd prefer the more defensive "should" over "must", and a - very non-scientific - check in the IG messages came out 38:11 for "should". Are there any other opinions on this?
AFAIK, extending the interface class is not a hard requirement. One could use "java.lang.String" as interface class and only get a ClassCastException during runtime when calling getComponent(String.class) because of the generic method signature.
What about "Multiple components with the same interface-class [are not allowed]"?
Do you mean a "Create Class" quickfix? Unfortunately I haven't seen an OpenAPI way to let the user choose the source path where to create the class in. I'm not sure if either just handling the standard case with one source-path or even replicating that UI makes much sense.