本文整理汇总了Java中com.intellij.openapi.roots.impl.libraries.LibraryEx.ModifiableModelEx方法的典型用法代码示例。如果您正苦于以下问题:Java LibraryEx.ModifiableModelEx方法的具体用法?Java LibraryEx.ModifiableModelEx怎么用?Java LibraryEx.ModifiableModelEx使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.openapi.roots.impl.libraries.LibraryEx
的用法示例。
在下文中一共展示了LibraryEx.ModifiableModelEx方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testRemoveExcludedRootWhenParentRootIsRemoved
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
public void testRemoveExcludedRootWhenParentRootIsRemoved() {
VirtualFile jar = getJDomJar();
LibraryEx library = (LibraryEx)createLibrary("junit", jar, null);
LibraryEx.ModifiableModelEx model = library.getModifiableModel();
VirtualFile excluded = jar.findChild("org");
assertNotNull(excluded);
model.addExcludedRoot(excluded.getUrl());
commit(model);
assertOrderedEquals(library.getExcludedRoots(), excluded);
LibraryEx.ModifiableModelEx model2 = library.getModifiableModel();
model2.removeRoot(jar.getUrl(), OrderRootType.CLASSES);
commit(model2);
assertEmpty(library.getExcludedRoots());
}
示例2: actionPerformed
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@Override
public void actionPerformed(final AnActionEvent e) {
final Object o = getSelectedObject();
if (o instanceof LibraryEx) {
final LibraryEx selected = (LibraryEx)o;
final String newName = Messages.showInputDialog("Enter library name:", "Copy Library", null, selected.getName() + "2", new NonEmptyInputValidator());
if (newName == null) return;
BaseLibrariesConfigurable configurable = BaseLibrariesConfigurable.this;
final LibraryEx library = (LibraryEx)myContext.getLibrary(selected.getName(), myLevel);
LOG.assertTrue(library != null);
final LibrariesModifiableModel libsModel = configurable.getModelProvider().getModifiableModel();
final Library lib = libsModel.createLibrary(newName, library.getKind());
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)libsModel.getLibraryEditor(lib).getModel();
LibraryEditingUtil.copyLibrary(library, Collections.<String, String>emptyMap(), model);
}
}
示例3: createLibraryFromRoots
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
private Library createLibraryFromRoots(List<OrderRoot> roots, @Nullable final LibraryType libraryType) {
final PersistentLibraryKind kind = libraryType == null ? null : libraryType.getKind();
final Library library = myModuleLibrariesModel.createLibrary(null, kind);
final LibraryEx.ModifiableModelEx libModel = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
if (myDefaultPropertiesFactory != null) {
libModel.setProperties(myDefaultPropertiesFactory.fun(libraryType));
}
for (OrderRoot root : roots) {
if (root.isJarDirectory()) {
libModel.addJarDirectory(root.getFile(), false, root.getType());
}
else {
libModel.addRoot(root.getFile(), root.getType());
}
}
libModel.commit();
return library;
}
示例4: createLibraryFromRoots
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
private Library createLibraryFromRoots(List<OrderRoot> roots, @Nullable final LibraryType libraryType) {
final PersistentLibraryKind kind = libraryType == null ? null : libraryType.getKind();
final Library library = ((LibraryTableBase.ModifiableModelEx)myModuleLibrariesModel).createLibrary(null, kind);
final LibraryEx.ModifiableModelEx libModel = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
if (myDefaultPropertiesFactory != null) {
libModel.setProperties(myDefaultPropertiesFactory.fun(libraryType));
}
for (OrderRoot root : roots) {
if (root.isJarDirectory()) {
libModel.addJarDirectory(root.getFile(), false, root.getType());
}
else {
libModel.addRoot(root.getFile(), root.getType());
}
}
libModel.commit();
return library;
}
示例5: createLibraryFromRoots
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
private Library createLibraryFromRoots(ModifiableModuleRootLayer layer, List<OrderRoot> roots, @Nullable final LibraryType libraryType) {
final LibraryTable.ModifiableModel moduleLibraryModel = layer.getModuleLibraryTable().getModifiableModel();
final PersistentLibraryKind kind = libraryType == null ? null : libraryType.getKind();
final Library library = ((LibraryTableBase.ModifiableModelEx)moduleLibraryModel).createLibrary(null, kind);
final LibraryEx.ModifiableModelEx libModel = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
for (OrderRoot root : roots) {
if (root.isJarDirectory()) {
libModel.addJarDirectory(root.getFile(), false, root.getType());
}
else {
libModel.addRoot(root.getFile(), root.getType());
}
}
libModel.commit();
return library;
}
示例6: testAddRemoveExcludedRoot
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
public void testAddRemoveExcludedRoot() {
VirtualFile jar = getJDomJar();
LibraryEx library = (LibraryEx)createLibrary("junit", jar, null);
assertEmpty(library.getExcludedRoots());
LibraryEx.ModifiableModelEx model = library.getModifiableModel();
model.addExcludedRoot(jar.getUrl());
commit(model);
assertOrderedEquals(library.getExcludedRoots(), jar);
LibraryEx.ModifiableModelEx model2 = library.getModifiableModel();
model2.removeExcludedRoot(jar.getUrl());
commit(model2);
assertEmpty(library.getExcludedRoots());
}
示例7: createLibraryInTable
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@NotNull
private static Library createLibraryInTable(final @NotNull NewLibraryEditor editor, final LibraryTable table) {
LibraryTable.ModifiableModel modifiableModel = table.getModifiableModel();
final String name = StringUtil.isEmpty(editor.getName()) ? null : getUniqueLibraryName(editor.getName(), modifiableModel);
final LibraryType<?> type = editor.getType();
Library library = modifiableModel.createLibrary(name, type == null ? null : type.getKind());
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
editor.applyTo(model);
model.commit();
modifiableModel.commit();
return library;
}
示例8: copyLibrary
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
public static void copyLibrary(LibraryEx from, Map<String, String> rootMapping, LibraryEx.ModifiableModelEx target) {
target.setProperties(from.getProperties());
for (OrderRootType type : OrderRootType.getAllTypes()) {
final String[] urls = from.getUrls(type);
for (String url : urls) {
final String protocol = VirtualFileManager.extractProtocol(url);
if (protocol == null) continue;
final String fullPath = VirtualFileManager.extractPath(url);
final int sep = fullPath.indexOf(JarFileSystem.JAR_SEPARATOR);
String localPath;
String pathInJar;
if (sep != -1) {
localPath = fullPath.substring(0, sep);
pathInJar = fullPath.substring(sep);
}
else {
localPath = fullPath;
pathInJar = "";
}
final String targetPath = rootMapping.get(localPath);
String targetUrl = targetPath != null ? VirtualFileManager.constructUrl(protocol, targetPath + pathInJar) : url;
if (from.isJarDirectory(url, type)) {
target.addJarDirectory(targetUrl, false, type);
}
else {
target.addRoot(targetUrl, type);
}
}
}
}
示例9: applyTo
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
public void applyTo(LibraryEx.ModifiableModelEx model) {
model.setProperties(myProperties);
for (OrderRootType type : myRoots.keySet()) {
for (LightFilePointer pointer : myRoots.get(type)) {
if (!myJarDirectories.contains(type, pointer.getUrl())) {
model.addRoot(pointer.getUrl(), type);
}
}
}
for (OrderRootType rootType : myJarDirectories.getRootTypes()) {
for (String url : myJarDirectories.getDirectories(rootType)) {
model.addJarDirectory(url, myJarDirectories.isRecursive(rootType, url), rootType);
}
}
}
示例10: createLibrary
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@NotNull
public Library createLibrary() {
final LibraryTable.ModifiableModel modifiableModel = getTableModifiableModel();
final LibraryType<?> type = myLibraryEditor.getType();
final Library library = modifiableModel.createLibrary(myLibraryEditor.getName(), type != null ? type.getKind() : null);
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
myLibraryEditor.applyTo(model);
new WriteAction() {
@Override
protected void run(@NotNull final Result result) {
model.commit();
}
}.execute();
return library;
}
示例11: invoke
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@Override
public Object invoke(Object object, Method method, Object[] params) throws Throwable {
try {
final Object result = method.invoke(myDelegateLibrary, unwrapParams(params));
if (result instanceof LibraryEx.ModifiableModelEx) {
return Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{LibraryEx.ModifiableModelEx.class},
new LibraryModifiableModelInvocationHandler((LibraryEx.ModifiableModelEx)result));
}
return result;
}
catch (InvocationTargetException e) {
throw e.getCause();
}
}
示例12: createLibraryInTable
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@NotNull
private static Library createLibraryInTable(final @NotNull NewLibraryEditor editor, final LibraryTable table) {
LibraryTableBase.ModifiableModelEx modifiableModel = (LibraryTableBase.ModifiableModelEx) table.getModifiableModel();
final String name = StringUtil.isEmpty(editor.getName()) ? null : getUniqueLibraryName(editor.getName(), modifiableModel);
final LibraryType<?> type = editor.getType();
Library library = modifiableModel.createLibrary(name, type == null ? null : type.getKind());
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
editor.applyTo(model);
model.commit();
modifiableModel.commit();
return library;
}
示例13: createLibrary
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@NotNull
public Library createLibrary() {
final LibraryTableBase.ModifiableModelEx modifiableModel = (LibraryTableBase.ModifiableModelEx)getTableModifiableModel();
final LibraryType<?> type = myLibraryEditor.getType();
final Library library = modifiableModel.createLibrary(myLibraryEditor.getName(), type != null ? type.getKind() : null);
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
myLibraryEditor.applyTo(model);
new WriteAction() {
@Override
protected void run(final Result result) {
model.commit();
}
}.execute();
return library;
}
示例14: createLibraryInTable
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
@Nonnull
private static Library createLibraryInTable(final @Nonnull NewLibraryEditor editor, final LibraryTable table) {
LibraryTableBase.ModifiableModelEx modifiableModel = (LibraryTableBase.ModifiableModelEx) table.getModifiableModel();
final String name = StringUtil.isEmpty(editor.getName()) ? null : getUniqueLibraryName(editor.getName(), modifiableModel);
final LibraryType<?> type = editor.getType();
Library library = modifiableModel.createLibrary(name, type == null ? null : type.getKind());
final LibraryEx.ModifiableModelEx model = (LibraryEx.ModifiableModelEx)library.getModifiableModel();
editor.applyTo(model);
model.commit();
modifiableModel.commit();
return library;
}
示例15: copyLibrary
import com.intellij.openapi.roots.impl.libraries.LibraryEx; //导入方法依赖的package包/类
public static void copyLibrary(LibraryEx from, Map<String, String> rootMapping, LibraryEx.ModifiableModelEx target) {
target.setProperties(from.getProperties());
for (OrderRootType type : OrderRootType.getAllTypes()) {
final String[] urls = from.getUrls(type);
for (String url : urls) {
final String protocol = VirtualFileManager.extractProtocol(url);
if (protocol == null) continue;
final String fullPath = VirtualFileManager.extractPath(url);
final int sep = fullPath.indexOf(ArchiveFileSystem.ARCHIVE_SEPARATOR);
String localPath;
String pathInJar;
if (sep != -1) {
localPath = fullPath.substring(0, sep);
pathInJar = fullPath.substring(sep);
}
else {
localPath = fullPath;
pathInJar = "";
}
final String targetPath = rootMapping.get(localPath);
String targetUrl = targetPath != null ? VirtualFileManager.constructUrl(protocol, targetPath + pathInJar) : url;
if (from.isJarDirectory(url, type)) {
target.addJarDirectory(targetUrl, false, type);
}
else {
target.addRoot(targetUrl, type);
}
}
}
}