package org.objectstyle.wolips.baseforplugins.util;
import java.io.File;
import java.net.URI;
import java.util.LinkedList;
import java.util.List;
import org.eclipse.core.resources.FileInfoMatcherDescription;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceFilterDescription;
import org.eclipse.core.resources.IResourceProxyVisitor;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
public class FilesystemFolder extends FilesystemResource implements IFolder {
private List<File> _children;
public FilesystemFolder(File file) {
this(file, null);
}
public FilesystemFolder(File file, List<File> children) {
super(file);
_children = children;
}
public int getType() {
return IResource.FOLDER;
}
public void accept(IResourceProxyVisitor visitor, int memberFlags) throws CoreException {
if (visitor.visit(createProxy())) {
for (IResource resource : members(memberFlags)) {
if ((memberFlags & IContainer.INCLUDE_HIDDEN) != 0 || !resource.isHidden()) {
resource.accept(visitor, memberFlags);
}
}
}
}
public boolean exists(IPath path) {
throw new UnsupportedOperationException();
}
public IResource findMember(String name) {
throw new UnsupportedOperationException();
}
public IResource findMember(String name, boolean includePhantoms) {
throw new UnsupportedOperationException();
}
public IResource findMember(IPath path) {
throw new UnsupportedOperationException();
}
public IResource findMember(IPath path, boolean includePhantoms) {
throw new UnsupportedOperationException();
}
public String getDefaultCharset() throws CoreException {
throw new UnsupportedOperationException();
}
public String getDefaultCharset(boolean checkImplicit) throws CoreException {
throw new UnsupportedOperationException();
}
public IFile getFile(IPath path) {
return new FilesystemFile(new File(_file(), path.toOSString()));
}
public IFolder getFolder(IPath path) {
throw new UnsupportedOperationException();
}
public IResource[] members() throws CoreException {
return members(IResource.NONE);
}
public IResource[] members(boolean includePhantoms) throws CoreException {
throw new UnsupportedOperationException();
}
public IResource[] members(int memberFlags) throws CoreException {
File[] memberFiles = _children == null ? _file().listFiles() : _children.toArray(new File[_children.size()]);
List<IResource> members = new LinkedList<IResource>();
if (memberFiles != null) {
for (File memberFile : memberFiles) {
members.add(FilesystemResource.resource(memberFile));
}
}
return members.toArray(new IResource[members.size()]);
}
public IFile[] findDeletedMembersWithHistory(int depth, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public void setDefaultCharset(String charset) throws CoreException {
throw new UnsupportedOperationException();
}
public void setDefaultCharset(String charset, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public IResourceFilterDescription createFilter(int type, FileInfoMatcherDescription matcherDescription, int updateFlags, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public IResourceFilterDescription[] getFilters() throws CoreException {
throw new UnsupportedOperationException();
}
public void create(boolean force, boolean local, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public void create(int updateFlags, boolean local, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public void createLink(IPath localLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public void createLink(URI location, int updateFlags, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public void delete(boolean force, boolean keepHistory, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
public IFile getFile(String name) {
throw new UnsupportedOperationException();
}
public IFolder getFolder(String name) {
throw new UnsupportedOperationException();
}
public void move(IPath destination, boolean force, boolean keepHistory, IProgressMonitor monitor) throws CoreException {
throw new UnsupportedOperationException();
}
}