/* * Copyright 2013 original Randori IntelliJ Plugin authors. * * 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 randori.plugin.library; import org.jetbrains.annotations.NotNull; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.libraries.ui.RootFilter; import com.intellij.openapi.vfs.JarFileSystem; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; /** * @author Frédéric THOMAS Date: 20/06/13 Time: 01:55 */ public class RandoriLibraryBinariesRootDetector extends RootFilter { public RandoriLibraryBinariesRootDetector() { super(OrderRootType.CLASSES, false, "RBL/SWC library"); } public boolean isAccepted(@NotNull VirtualFile rootCandidate, @NotNull ProgressIndicator progressIndicator) { return ("swc".equalsIgnoreCase(rootCandidate.getExtension()) && rootCandidate.getFileSystem() == JarFileSystem.getInstance() && rootCandidate.getParent() == null) || RandoriLibraryType.LIBRARY_EXTENSION.equalsIgnoreCase(rootCandidate.getExtension()) && rootCandidate.getFileSystem() == LocalFileSystem.getInstance(); } }