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

net.java.truevfs.comp.inst.InstrumentingManager Maven / Gradle / Ivy

There is a newer version: 0.14.0
Show newest version
/*
 * Copyright (C) 2005-2015 Schlichtherle IT Services.
 * All rights reserved. Use is subject to license terms.
 */
package net.java.truevfs.comp.inst;

import java.util.Objects;
import javax.annotation.concurrent.ThreadSafe;
import net.java.truevfs.kernel.spec.*;

/**
 * @param   the type of the mediator.
 * @author Christian Schlichtherle
 */
@ThreadSafe
public class InstrumentingManager>
extends FsDecoratingManager {

    protected final M mediator;

    public InstrumentingManager(
            final M mediator,
            final FsManager manager) {
        super(manager);
        this.mediator = Objects.requireNonNull(mediator);
    }

    @Override
    public FsController controller(
            FsCompositeDriver driver,
            FsMountPoint mountPoint) {
        return mediator.instrument(this,
                manager.controller(
                    mediator.instrument(this, driver),
                    mountPoint));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy