/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.ignite.internal.processors.igfs; import org.apache.ignite.IgniteException; import org.apache.ignite.igfs.IgfsBlockLocation; import org.apache.ignite.igfs.IgfsFile; import org.apache.ignite.igfs.IgfsPath; import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystem; import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystemPositionedReadable; import org.jetbrains.annotations.Nullable; import java.io.OutputStream; import java.util.Collection; import java.util.Map; /** * Secondary file system over native IGFS. */ class IgfsSecondaryFileSystemImpl implements IgfsSecondaryFileSystem { /** Delegate. */ private final IgfsEx igfs; /** * Constructor. * * @param igfs Delegate. */ IgfsSecondaryFileSystemImpl(IgfsEx igfs) { this.igfs = igfs; } /** {@inheritDoc} */ @Override public boolean exists(IgfsPath path) { return igfs.exists(path); } /** {@inheritDoc} */ @Override public IgfsFile update(IgfsPath path, Map<String, String> props) throws IgniteException { return igfs.update(path, props); } /** {@inheritDoc} */ @Override public void rename(IgfsPath src, IgfsPath dest) throws IgniteException { igfs.rename(src, dest); } /** {@inheritDoc} */ @Override public boolean delete(IgfsPath path, boolean recursive) throws IgniteException { return igfs.delete(path, recursive); } /** {@inheritDoc} */ @Override public void mkdirs(IgfsPath path) throws IgniteException { igfs.mkdirs(path); } /** {@inheritDoc} */ @Override public void mkdirs(IgfsPath path, @Nullable Map<String, String> props) throws IgniteException { igfs.mkdirs(path, props); } /** {@inheritDoc} */ @Override public Collection<IgfsPath> listPaths(IgfsPath path) throws IgniteException { return igfs.listPaths(path); } /** {@inheritDoc} */ @Override public Collection<IgfsFile> listFiles(IgfsPath path) throws IgniteException { return igfs.listFiles(path); } /** {@inheritDoc} */ @Override public IgfsSecondaryFileSystemPositionedReadable open(IgfsPath path, int bufSize) throws IgniteException { return (IgfsSecondaryFileSystemPositionedReadable)igfs.open(path, bufSize); } /** {@inheritDoc} */ @Override public OutputStream create(IgfsPath path, boolean overwrite) throws IgniteException { return igfs.create(path, overwrite); } /** {@inheritDoc} */ @Override public OutputStream create(IgfsPath path, int bufSize, boolean overwrite, int replication, long blockSize, @Nullable Map<String, String> props) throws IgniteException { return igfs.create(path, bufSize, overwrite, replication, blockSize, props); } /** {@inheritDoc} */ @Override public OutputStream append(IgfsPath path, int bufSize, boolean create, @Nullable Map<String, String> props) throws IgniteException { return igfs.append(path, bufSize, create, props); } /** {@inheritDoc} */ @Override public IgfsFile info(IgfsPath path) throws IgniteException { return igfs.info(path); } /** {@inheritDoc} */ @Override public long usedSpaceSize() throws IgniteException { return igfs.usedSpaceSize(); } /** {@inheritDoc} */ @Override public void setTimes(IgfsPath path, long modificationTime, long accessTime) throws IgniteException { igfs.setTimes(path, modificationTime, accessTime); } /** {@inheritDoc} */ @Override public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len, long maxLen) throws IgniteException { return igfs.affinity(path, start, len, maxLen); } }