package jetbrains.mps.core.tool.environment.util;
/*Generated by MPS */
import jetbrains.mps.library.contributor.LibraryContributor;
import java.util.Set;
import jetbrains.mps.library.contributor.LibDescriptor;
import java.util.Collections;
import java.util.Map;
import jetbrains.mps.internal.collections.runtime.SetSequence;
import java.util.LinkedHashSet;
import jetbrains.mps.vfs.FileSystem;
public class SetLibraryContributor implements LibraryContributor {
private final String myName;
private final Set<LibDescriptor> myLibraryPaths;
private SetLibraryContributor(String name, Set<LibDescriptor> libraryPaths) {
myName = name;
myLibraryPaths = libraryPaths;
}
@Override
public Set<LibDescriptor> getPaths() {
return Collections.unmodifiableSet(myLibraryPaths);
}
@Override
public boolean hiddenLanguages() {
return false;
}
public static SetLibraryContributor fromMap(String name, Map<String, ClassLoader> libToClassLoader) {
Set<LibDescriptor> libs = SetSequence.fromSet(new LinkedHashSet<LibDescriptor>());
for (String libPath : libToClassLoader.keySet()) {
SetSequence.fromSet(libs).addElement(new LibDescriptor(FileSystem.getInstance().getFile(libPath), libToClassLoader.get(libPath)));
}
return new SetLibraryContributor(name, libs);
}
public static SetLibraryContributor fromSet(String name, Set<LibDescriptor> libs) {
return new SetLibraryContributor(name, libs);
}
@Override
public String toString() {
return "LibraryContributor " + myName;
}
}