public class StubElementTypeHolderEP extends AbstractExtensionPointBean
To speed up IDE loading, it's recommended that this extension is used for interfaces containing only
IStubElementType
(or ObjectStubSerializer
) constants,
and all other language's element types are kept in a separate interface that can be loaded later.
Also consider specifying externalIdPrefix
for further speedup.
Modifier and Type | Field and Description |
---|---|
static ExtensionPointName<StubElementTypeHolderEP> |
EP_NAME |
java.lang.String |
externalIdPrefix
Allows to avoid class initialization by declaring that the stub element type holder obeys the following contract:
It's an interface
All stub element types to load are declared as fields in the interface itself, not in super-interfaces
For all
IStubElementType fields, their ObjectStubSerializer.getExternalId() :
doesn't depend on class fields, so that it can be called during IStubElementType construction
effectively returns "somePrefix" + debugName
debugName is equal to the field name
"somePrefix" is the value of "externalIdPrefix" attribute
For all other fields, if any, the same prefix+debugName concatenation doesn't produce an external id used by any other stub element type
|
java.lang.String |
holderClass |
myPluginDescriptor
Constructor and Description |
---|
StubElementTypeHolderEP() |
Modifier and Type | Method and Description |
---|---|
void |
initialize()
Deprecated.
please don't use this extension to ensure something is initialized as a side effect of stub element type loading,
create your own narrow-scoped extension instead
|
java.lang.String |
toString() |
findClass, findClass, findClassNoExceptions, findExtensionClass, getLoaderForClass, getPluginDescriptor, getPluginId, instantiate, instantiate, instantiate, instantiateClass, setPluginDescriptor
public static final ExtensionPointName<StubElementTypeHolderEP> EP_NAME
public java.lang.String holderClass
public java.lang.String externalIdPrefix
IStubElementType
fields, their ObjectStubSerializer.getExternalId()
:
"somePrefix" + debugName
debugName
is equal to the field nameprefix+debugName
concatenation doesn't produce an external id used by any other stub element type@Deprecated public void initialize()
public java.lang.String toString()
toString
in class java.lang.Object