1 package org.codehaus.plexus.metadata.merge.support;
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 import org.jdom2.Element;
28
29
30
31
32 public class ComponentElement extends AbstractMergeableElement {
33
34
35
36 private final DescriptorTag[] allowedTags = {
37 ROLE,
38 ROLE_HINT,
39 OPTIONAL,
40 IMPLEMENTATION,
41 FIELD_NAME,
42 LIFECYCLE_HANDLER,
43 DESCRIPTION,
44 ISOLATION_REALM,
45 CONFIGURATION,
46 RequirementsElement.TAG
47 };
48
49 static final DescriptorTag TAG = new DescriptorTag("component", true, ComponentElement.class);
50
51 static final DescriptorTag ROLE = new DescriptorTag("role");
52
53 static final DescriptorTag ROLE_HINT = new DescriptorTag("role-hint");
54
55 static final DescriptorTag OPTIONAL = new DescriptorTag("optional");
56
57 static final DescriptorTag ISOLATION_REALM = new DescriptorTag("isolated-realm");
58
59 private static final DescriptorTag DESCRIPTION = new DescriptorTag("description");
60
61 private static final DescriptorTag CONFIGURATION = new DescriptorTag("configuration");
62
63 static final DescriptorTag FIELD_NAME = new DescriptorTag("field-name");
64
65 private static final DescriptorTag IMPLEMENTATION = new DescriptorTag("implementation");
66
67 private static final DescriptorTag LIFECYCLE_HANDLER = new DescriptorTag("lifecycle-handler", false, null);
68
69 public ComponentElement(Element element) {
70 super(element);
71 }
72
73 protected boolean isExpectedElementType(Mergeable me) {
74 return me instanceof ComponentElement;
75 }
76
77 public DescriptorTag[] getAllowedTags() {
78 return allowedTags;
79 }
80 }