Java tutorial
/* * Copyright 2009 New Atlanta Communications, LLC * * Licensed 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 com.newatlanta.appengine.vfs.provider; import java.util.Collection; import org.apache.commons.vfs.FileName; import org.apache.commons.vfs.FileObject; import org.apache.commons.vfs.FileSystemException; import org.apache.commons.vfs.FileSystemOptions; import org.apache.commons.vfs.provider.AbstractFileSystem; /** * Creates {@link GaeFileObject} instances. This is an internal GaeVFS implementation * class that is normally not referenced directly, but only indirectly via the * <a href="http://commons.apache.org/vfs/apidocs/index.html" target="_blank">Apache * Commons VFS API</a>. See {@link GaeVFS} as the entry point for application * code that interacts with GaeVFS. * * @author <a href="mailto:vbonfanti@gmail.com">Vince Bonfanti</a> */ public class GaeFileSystem extends AbstractFileSystem { protected GaeFileSystem(FileName rootName, FileSystemOptions fileSystemOptions) { super(rootName, null, fileSystemOptions); } @SuppressWarnings("unchecked") protected void addCapabilities(Collection capabilities) { capabilities.addAll(GaeFileProvider.capabilities); } protected FileObject createFile(FileName fileName) { return new GaeFileObject(fileName, this); } @Override public synchronized FileObject resolveFile(FileName name) throws FileSystemException { if (!"gae".equals(name.getScheme())) { return getFileSystemManager().resolveFile(name.toString()); } return super.resolveFile(name); } }