Merge branch 'master' of git.labs.intellij.net:idea/community
[idea/community.git] / plugins / devkit / resources / inspectionDescriptions / ComponentRegistrationProblems.html
1 <html>
2 <body>
3 This inspection finds various problems about incorrect registration of plugin components
4 (Components and Actions) both in Java code as well as the plugin.xml descriptor.
5
6 <p>
7     Those problems include
8     <ul>
9         <li>Unresolved component/action implementation-classes (plugin.xml)</li>
10         <li>Unresolved component interface-classes (plugin.xml)</li>
11         <li>Component implementation-class is not assignable to its interface-class (plugin.xml)</li>
12         <li>Incorrect component registration, e.g. ProjectComponent is registered as Application Component
13             or the class doesn't implement any component interface at all (plugin.xml / Java Code)
14         </li>
15         <li>Incorrect class modifiers: Action classes must be public and must have a public
16             no-argument constructor. Additionally, Action and Component implementation classes
17             must not be abstract (plugin.xml / Java Code)
18         </li>
19         <li>Duplicate interface-class: A class may only be used once as interface-class (plugin.xml)</li>
20     </ul>
21 </p>
22
23 <p>
24     The inspection provides options to switch off the checks in plugin.xml and Java code. Checking
25     Action classes in Java can also be toggled separately.
26 </p>
27 </body>
28 </html>