Interface IsolatedAction<T>

  • Type Parameters:
    T - The type of object the action operates on.
    All Superinterfaces:
    java.io.Serializable

    @HasImplicitReceiver
    @Incubating
    public interface IsolatedAction<T>
    extends java.io.Serializable
    Defines an action that is applied to objects of type IsolatedAction, with each target getting its own isolated action instance. Each isolated action is re-created through Configuration Cache serialization before it is applied to a target. This approach ensures that sharing mutable state across targets via any means (including BuildService, which are not supported) is prevented. The absence of shared mutable state allows these actions to be safely executed in parallel as needed.

    IMPORTANT: As isolated action instances are recreated using Configuration Cache serialization, they must adhere to the same requirements as any other object serialized into the Configuration Cache.

    Since:
    8.8
    • Method Detail

      • execute

        void execute​(T target)
        Performs this action against the given object.
        Parameters:
        target - The object to perform the action on.
        Since:
        8.8