Class MixinServiceAbstract

  • All Implemented Interfaces:
    IMixinService

    public abstract class MixinServiceAbstract
    extends java.lang.Object
    implements IMixinService
    Mixin Service base class
    • Field Detail

      • SERVICE_PACKAGE

        protected static final java.lang.String SERVICE_PACKAGE
        See Also:
        Constant Field Values
      • lock

        protected final ReEntranceLock lock
        Transformer re-entrance lock, shared between the mixin transformer and the metadata service
    • Constructor Detail

      • MixinServiceAbstract

        public MixinServiceAbstract()
    • Method Detail

      • offer

        public void offer​(IMixinInternal internal)
        Description copied from interface: IMixinService
        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.
        Specified by:
        offer in interface IMixinService
        Parameters:
        internal - Internal component being offered
      • getInternal

        protected final <T extends IMixinInternal> T getInternal​(java.lang.Class<T> type)
      • init

        public void init()
        Description copied from interface: IMixinService
        Called at the end of subsystem boot
        Specified by:
        init in interface IMixinService
      • beginPhase

        public void beginPhase()
        Description copied from interface: IMixinService
        Called whenever a new phase is started
        Specified by:
        beginPhase in interface IMixinService
      • checkEnv

        public void checkEnv​(java.lang.Object bootSource)
        Description copied from interface: IMixinService
        Check whether the supplied object is a valid boot source for mixin environment
        Specified by:
        checkEnv in interface IMixinService
        Parameters:
        bootSource - boot source
      • getReEntranceLock

        public ReEntranceLock getReEntranceLock()
        Description copied from interface: IMixinService
        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.
        Specified by:
        getReEntranceLock in interface IMixinService
      • 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: IMixinService
        Get the detected side name for this environment
        Specified by:
        getSideName in interface IMixinService
      • getLogger

        public ILogger getLogger​(java.lang.String name)
        Description copied from interface: IMixinService
        Retrieve a logger adapter with the specified name (id). In general this method will be called many times for a given name so it is anticipated that the returned logger instances are cached by the service.

        There 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.

        Specified by:
        getLogger in interface IMixinService
        Parameters:
        name - Logger name
        Returns:
        Logger adapter for the underlying logging subsystem
      • createLogger

        protected ILogger createLogger​(java.lang.String name)
      • wire

        @Deprecated
        public void wire​(MixinEnvironment.Phase phase,
                         IConsumer<MixinEnvironment.Phase> phaseConsumer)
        Deprecated.
        temporary
        Temp wiring. Called when the initial phase is spun up in the environment.
        Parameters:
        phase - Initial phase
        phaseConsumer - Delegate for the service (or agents) to trigger later phases
      • unwire

        @Deprecated
        public void unwire()
        Deprecated.
        temporary
        Temp wiring. Called when the default phase is started in the environment.