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

net.java.truevfs.kernel.impl.DelegatingArchiveController Maven / Gradle / Ivy

/*
 * Copyright © 2005 - 2021 Schlichtherle IT Services.
 * All rights reserved. Use is subject to license terms.
 */
package net.java.truevfs.kernel.impl;

import bali.Cache;
import bali.Lookup;
import net.java.truecommons.cio.Entry;
import net.java.truecommons.cio.InputSocket;
import net.java.truecommons.cio.OutputSocket;
import net.java.truecommons.shed.BitField;
import net.java.truevfs.kernel.spec.*;

import java.io.IOException;
import java.util.Map;
import java.util.Optional;

import static bali.CachingStrategy.NOT_THREAD_SAFE;

interface DelegatingArchiveController extends ArchiveController {

    @Lookup(param = "controller")
    ArchiveController getController();

    @Cache(NOT_THREAD_SAFE)
    @Override
    default ArchiveModel getModel() {
        return getController().getModel();
    }

    @Cache(NOT_THREAD_SAFE)
    @Override
    default FsController getParent() {
        return getController().getParent();
    }

    @Override
    default Optional node(BitField options, FsNodeName name) throws IOException {
        return getController().node(options, name);
    }

    @Override
    default void checkAccess(BitField options, FsNodeName name, BitField types) throws IOException {
        getController().checkAccess(options, name, types);
    }

    @Override
    default void setReadOnly(BitField options, FsNodeName name) throws IOException {
        getController().setReadOnly(options, name);
    }

    @Override
    default boolean setTime(BitField options, FsNodeName name, Map times) throws IOException {
        return getController().setTime(options, name, times);
    }

    @Override
    default boolean setTime(BitField options, FsNodeName name, BitField types, long time) throws IOException {
        return getController().setTime(options, name, types, time);
    }

    @Override
    default InputSocket input(BitField options, FsNodeName name) {
        return getController().input(options, name);
    }

    @Override
    default OutputSocket output(BitField options, FsNodeName name, Optional template) {
        return getController().output(options, name, template);
    }

    @Override
    default void make(BitField options, FsNodeName name, Entry.Type type, Optional template) throws IOException {
        getController().make(options, name, type, template);
    }

    @Override
    default void unlink(BitField options, FsNodeName name) throws IOException {
        getController().unlink(options, name);
    }

    @Override
    default void sync(BitField options) throws FsSyncException {
        getController().sync(options);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy