Package org.spongepowered.asm.service
Class MixinServiceAbstract
java.lang.Object
org.spongepowered.asm.service.MixinServiceAbstract
- All Implemented Interfaces:
IMixinService
public abstract class MixinServiceAbstract extends java.lang.Object implements IMixinService
Mixin Service base class
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringLAUNCH_PACKAGEprotected ReEntranceLocklockTransformer re-entrance lock, shared between the mixin transformer and the metadata serviceprotected static org.apache.logging.log4j.LoggerloggerLoggerprotected static java.lang.StringMIXIN_PACKAGE -
Constructor Summary
Constructors Constructor Description MixinServiceAbstract() -
Method Summary
Modifier and Type Method Description voidbeginPhase()Called whenever a new phase is startedvoidcheckEnv(java.lang.Object bootSource)Check whether the supplied object is a valid boot source for mixin environmentprotected voidgetContainersFromAgents(com.google.common.collect.ImmutableList.Builder<IContainerHandle> list)Collect mixin containers from platform agentsMixinEnvironment.PhasegetInitialPhase()Get the initial subsystem phaseMixinEnvironment.CompatibilityLevelgetMaxCompatibilityLevel()Get the maximum compatibility level supported by this service.MixinEnvironment.CompatibilityLevelgetMinCompatibilityLevel()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 processReEntranceLockgetReEntranceLock()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.StringgetSideName()Get the detected side name for this environmentvoidinit()Called at the end of subsystem bootvoidprepare()Called at subsystem bootvoidunwire()Deprecated.temporaryvoidwire(MixinEnvironment.Phase phase, IConsumer<MixinEnvironment.Phase> phaseConsumer)Deprecated.temporaryMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.spongepowered.asm.service.IMixinService
getAuditTrail, getBytecodeProvider, getClassProvider, getClassTracker, getName, getPlatformAgents, getPrimaryContainer, getResourceAsStream, getTransformerProvider, isValid
-
Field Details
-
LAUNCH_PACKAGE
protected static final java.lang.String LAUNCH_PACKAGE- See Also:
- Constant Field Values
-
MIXIN_PACKAGE
protected static final java.lang.String MIXIN_PACKAGE- See Also:
- Constant Field Values
-
logger
protected static final org.apache.logging.log4j.Logger loggerLogger -
lock
Transformer re-entrance lock, shared between the mixin transformer and the metadata service
-
-
Constructor Details
-
MixinServiceAbstract
public MixinServiceAbstract()
-
-
Method Details
-
prepare
public void prepare()Description copied from interface:IMixinServiceCalled at subsystem boot- Specified by:
preparein interfaceIMixinService
-
getInitialPhase
Description copied from interface:IMixinServiceGet the initial subsystem phase- Specified by:
getInitialPhasein interfaceIMixinService
-
getMinCompatibilityLevel
Description copied from interface:IMixinServiceGet the minimum compatibility level supported by this service. Can return null if the service has no specific minimum compatibility level, however if a value is returned, it will be used as the minimum compatibility level and no lower levels will be supported.- Specified by:
getMinCompatibilityLevelin interfaceIMixinService- Returns:
- minimum supported
MixinEnvironment.CompatibilityLevelor null
-
getMaxCompatibilityLevel
Description copied from interface:IMixinServiceGet the maximum compatibility level supported by this service. Can return null if the service has no specific maximum compatibility level. If a value is returned, a warning will be raised if a configuration attempts to se a higher compatibility level.- Specified by:
getMaxCompatibilityLevelin interfaceIMixinService- Returns:
- minimum supported
MixinEnvironment.CompatibilityLevelor null
-
beginPhase
public void beginPhase()Description copied from interface:IMixinServiceCalled whenever a new phase is started- Specified by:
beginPhasein interfaceIMixinService
-
checkEnv
public void checkEnv(java.lang.Object bootSource)Description copied from interface:IMixinServiceCheck whether the supplied object is a valid boot source for mixin environment- Specified by:
checkEnvin interfaceIMixinService- Parameters:
bootSource- boot source
-
init
public void init()Description copied from interface:IMixinServiceCalled at the end of subsystem boot- Specified by:
initin interfaceIMixinService
-
getReEntranceLock
Description copied from interface:IMixinServiceGet 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.- Specified by:
getReEntranceLockin interfaceIMixinService
-
getMixinContainers
Description copied from interface:IMixinServiceGet a collection of containers in the current environment which contain mixins we should process- Specified by:
getMixinContainersin interfaceIMixinService
-
getContainersFromAgents
protected final void getContainersFromAgents(com.google.common.collect.ImmutableList.Builder<IContainerHandle> list)Collect mixin containers from platform agents -
getSideName
public final java.lang.String getSideName()Description copied from interface:IMixinServiceGet the detected side name for this environment- Specified by:
getSideNamein interfaceIMixinService
-
wire
@Deprecated public void wire(MixinEnvironment.Phase phase, IConsumer<MixinEnvironment.Phase> phaseConsumer)Deprecated.temporaryTemp wiring. Called when the initial phase is spun up in the environment.- Parameters:
phase- Initial phasephaseConsumer- Delegate for the service (or agents) to trigger later phases
-
unwire
@Deprecated public void unwire()Deprecated.temporaryTemp wiring. Called when the default phase is started in the environment.
-