Lines 48-54
Link Here
|
48 |
* Information about the set of available {@linkplain ModuleInfo modules}. |
48 |
* Information about the set of available {@linkplain ModuleInfo modules}. |
49 |
* @since org.openide.modules 7.19 |
49 |
* @since org.openide.modules 7.19 |
50 |
*/ |
50 |
*/ |
51 |
public abstract class Modules { |
51 |
public class Modules { |
|
|
52 |
/** |
53 |
* Constructor for subclasses. |
54 |
*/ |
55 |
protected Modules() {} |
52 |
|
56 |
|
53 |
/** |
57 |
/** |
54 |
* Gets the singleton set of modules. |
58 |
* Gets the singleton set of modules. |
Lines 59-73
Link Here
|
59 |
public static Modules getDefault() { |
63 |
public static Modules getDefault() { |
60 |
Modules impl = Lookup.getDefault().lookup(Modules.class); |
64 |
Modules impl = Lookup.getDefault().lookup(Modules.class); |
61 |
if (impl == null) { |
65 |
if (impl == null) { |
62 |
impl = new Trivial(); |
66 |
impl = new Modules(); |
63 |
} |
67 |
} |
64 |
return impl; |
68 |
return impl; |
65 |
} |
69 |
} |
66 |
|
70 |
|
67 |
/** |
71 |
/* Finds a module with given code name base. |
68 |
* Constructor for subclasses. |
72 |
* @param cnb the {@link ModuleInfo#getCodeNameBase() code name base} of a module |
|
|
73 |
* @return the found module or <code>null</code>, if such module is not known |
74 |
* to the system |
75 |
* @since 7.37 |
69 |
*/ |
76 |
*/ |
70 |
protected Modules() {} |
77 |
public ModuleInfo findCodeNameBase(String cnb) { |
|
|
78 |
for (ModuleInfo module : Lookup.getDefault().lookupAll(ModuleInfo.class)) { |
79 |
if (cnb.equals(module.getCodeNameBase())) { |
80 |
return module; |
81 |
} |
82 |
} |
83 |
return null; |
84 |
} |
71 |
|
85 |
|
72 |
/** |
86 |
/** |
73 |
* Finds the module which loaded a class. |
87 |
* Finds the module which loaded a class. |
Lines 75-93
Link Here
|
75 |
* @return the owner of the class, or null if it is not owned by any module |
89 |
* @return the owner of the class, or null if it is not owned by any module |
76 |
* @see ModuleInfo#owns |
90 |
* @see ModuleInfo#owns |
77 |
*/ |
91 |
*/ |
78 |
public abstract ModuleInfo ownerOf(Class<?> clazz); |
92 |
public ModuleInfo ownerOf(Class<?> clazz) { |
79 |
|
93 |
for (ModuleInfo module : Lookup.getDefault().lookupAll(ModuleInfo.class)) { |
80 |
private static class Trivial extends Modules { |
94 |
if (module.owns(clazz)) { |
81 |
|
95 |
return module; |
82 |
public @Override ModuleInfo ownerOf(Class<?> clazz) { |
|
|
83 |
for (ModuleInfo module : Lookup.getDefault().lookupAll(ModuleInfo.class)) { |
84 |
if (module.owns(clazz)) { |
85 |
return module; |
86 |
} |
87 |
} |
96 |
} |
88 |
return null; |
|
|
89 |
} |
97 |
} |
90 |
|
98 |
return null; |
91 |
} |
99 |
} |
92 |
|
|
|
93 |
} |
100 |
} |