All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jtrim2.cancel.SimpleChildCancellationSource Maven / Gradle / Ivy

There is a newer version: 2.0.7
Show newest version
package org.jtrim2.cancel;

import java.util.Objects;

/**
 * @see Cancellation#createChildCancellationSource(CancellationToken)
 */
final class SimpleChildCancellationSource implements CancellationSource {
    private final CancellationToken token;
    private final CancellationController controller;

    public SimpleChildCancellationSource(CancellationToken parentToken) {
        Objects.requireNonNull(parentToken, "parentToken");

        CancellationSource cancelSource = Cancellation.createCancellationSource();
        this.token = Cancellation.anyToken(parentToken, cancelSource.getToken());
        this.controller = cancelSource.getController();
    }

    @Override
    public CancellationController getController() {
        return controller;
    }

    @Override
    public CancellationToken getToken() {
        return token;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy