public abstract class MixinServiceAbstract extends java.lang.Object implements IMixinService
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
LAUNCH_PACKAGE |
protected ReEntranceLock |
lock
Transformer re-entrance lock, shared between the mixin transformer and
the metadata service
|
protected static java.lang.String |
MIXIN_PACKAGE |
protected static java.lang.String |
SERVICE_PACKAGE |
| Modifier | Constructor and Description |
|---|---|
protected |
MixinServiceAbstract() |
| Modifier and Type | Method and Description |
|---|---|
void |
beginPhase()
Called whenever a new phase is started
|
void |
checkEnv(java.lang.Object bootSource)
Check whether the supplied object is a valid boot source for mixin
environment
|
protected ILogger |
createLogger(java.lang.String name) |
protected void |
getContainersFromAgents(com.google.common.collect.ImmutableList.Builder<IContainerHandle> list)
Collect mixin containers from platform agents
|
MixinEnvironment.Phase |
getInitialPhase()
Get the initial subsystem phase
|
protected <T extends IMixinInternal> |
getInternal(java.lang.Class<T> type) |
ILogger |
getLogger(java.lang.String name)
Retrieve a logger adapter with the specified name (id).
|
MixinEnvironment.CompatibilityLevel |
getMaxCompatibilityLevel()
Get the maximum compatibility level supported by this service.
|
MixinEnvironment.CompatibilityLevel |
getMinCompatibilityLevel()
Get the minimum compatibility level supported by this service.
|
java.util.Collection<IContainerHandle> |
getMixinContainers()
Get a collection of containers in the current environment which contain
mixins we should process
|
ReEntranceLock |
getReEntranceLock()
Get the transformer re-entrance lock for this service, the transformer
uses this lock to track transformer re-entrance when co-operative load
and transform is performed by the service.
|
java.lang.String |
getSideName()
Get the detected side name for this environment
|
void |
init()
Called at the end of subsystem boot
|
void |
offer(IMixinInternal internal)
Called when the subsystem is offering internal components to the service,
the service can determine whether to retain or ignore the component based
on its own requirements.
|
void |
prepare()
Called at subsystem boot
|
void |
unwire()
Deprecated.
temporary
|
void |
wire(MixinEnvironment.Phase phase,
IConsumer<MixinEnvironment.Phase> phaseConsumer)
Deprecated.
temporary
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAuditTrail, getBytecodeProvider, getClassProvider, getClassTracker, getName, getPlatformAgents, getPrimaryContainer, getResourceAsStream, getTransformerProvider, isValidprotected static final java.lang.String LAUNCH_PACKAGE
protected static final java.lang.String MIXIN_PACKAGE
protected static final java.lang.String SERVICE_PACKAGE
protected final ReEntranceLock lock
public void prepare()
IMixinServiceprepare in interface IMixinServicepublic MixinEnvironment.Phase getInitialPhase()
IMixinServicegetInitialPhase in interface IMixinServicepublic MixinEnvironment.CompatibilityLevel getMinCompatibilityLevel()
IMixinServicegetMinCompatibilityLevel in interface IMixinServiceMixinEnvironment.CompatibilityLevel or nullpublic MixinEnvironment.CompatibilityLevel getMaxCompatibilityLevel()
IMixinServicegetMaxCompatibilityLevel in interface IMixinServiceMixinEnvironment.CompatibilityLevel or nullpublic void offer(IMixinInternal internal)
IMixinServiceoffer in interface IMixinServiceinternal - Internal component being offeredprotected final <T extends IMixinInternal> T getInternal(java.lang.Class<T> type)
public void init()
IMixinServiceinit in interface IMixinServicepublic void beginPhase()
IMixinServicebeginPhase in interface IMixinServicepublic void checkEnv(java.lang.Object bootSource)
IMixinServicecheckEnv in interface IMixinServicebootSource - boot sourcepublic ReEntranceLock getReEntranceLock()
IMixinServicegetReEntranceLock in interface IMixinServicepublic java.util.Collection<IContainerHandle> getMixinContainers()
IMixinServicegetMixinContainers in interface IMixinServiceprotected final void getContainersFromAgents(com.google.common.collect.ImmutableList.Builder<IContainerHandle> list)
public final java.lang.String getSideName()
IMixinServicegetSideName in interface IMixinServicepublic ILogger getLogger(java.lang.String name)
IMixinServiceThere is no contractual requirement however that adapters are cached and that the same adapter is returned for every call to this method with the same name.
This methood must not return null.
Implementations should be thread-safe since loggers may be requested by threads other than the main application thread.
getLogger in interface IMixinServicename - Logger nameprotected ILogger createLogger(java.lang.String name)
@Deprecated public void wire(MixinEnvironment.Phase phase, IConsumer<MixinEnvironment.Phase> phaseConsumer)
phase - Initial phasephaseConsumer - Delegate for the service (or agents) to trigger
later phases@Deprecated public void unwire()