summaryrefslogtreecommitdiff
path: root/plugins/devkit/resources/inspectionDescriptions/ComponentRegistrationProblems.html
blob: eeddcef6c4fd890169b5eb8875169399440dd363 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<body>
This inspection finds various problems about incorrect registration of plugin components
(Components and Actions) both in Java code as well as the plugin.xml descriptor.

<p>
    Those problems include
    <ul>
        <li>Unresolved component/action implementation-classes (plugin.xml)</li>
        <li>Unresolved component interface-classes (plugin.xml)</li>
        <li>Component implementation-class is not assignable to its interface-class (plugin.xml)</li>
        <li>Incorrect component registration, e.g. ProjectComponent is registered as Application Component
            or the class doesn't implement any component interface at all (plugin.xml / Java Code)
        </li>
        <li>Incorrect class modifiers: Action classes must be public and must have a public
            no-argument constructor. Additionally, Action and Component implementation classes
            must not be abstract (plugin.xml / Java Code)
        </li>
        <li>Duplicate interface-class: A class may only be used once as interface-class (plugin.xml)</li>
    </ul>
</p>

<p>
    The inspection provides options to switch off the checks in plugin.xml and Java code. Checking
    Action classes in Java can also be toggled separately.
</p>
</body>
</html>