/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.util;
import com.google.common.collect.Lists;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.WritingAccessProvider;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class DependentFilesAccessProvider extends WritingAccessProvider {
@NotNull
@Override
public Collection<VirtualFile> requestWriting(@NotNull VirtualFile... files) {
final List<VirtualFile> denied = Lists.newArrayList();
for (VirtualFile file : files) {
IFileAccessRequestor requestor = file.getUserData(IFileAccessRequestor.FILE_ACCESS_REQUESTOR);
if (requestor != null) {
Collections.addAll(denied, requestor.ensureFilesWritable(file));
}
}
return denied;
}
@Override
public boolean isPotentiallyWritable(@NotNull VirtualFile file) {
return true;
}
}