当前位置: 首页>>代码示例>>Java>>正文


Java LibraryEx.ModifiableModelEx方法代码示例

本文整理汇总了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());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:LibraryTest.java

示例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);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:BaseLibrariesConfigurable.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:CreateModuleLibraryChooser.java

示例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;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:19,代码来源:CreateModuleLibraryChooser.java

示例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;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:19,代码来源:FileOrDirectoryDependencyTabContext.java

示例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());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:LibraryTest.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:LibrariesContainerFactory.java

示例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);
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:32,代码来源:LibraryEditingUtil.java

示例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);
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:NewLibraryEditor.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:CreateNewLibraryDialog.java

示例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();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:ModuleEditor.java

示例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;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:13,代码来源:LibrariesContainerFactory.java

示例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;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:16,代码来源:CreateNewLibraryDialog.java

示例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;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:13,代码来源:LibrariesContainerFactory.java

示例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);
      }
    }
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:32,代码来源:LibraryEditingUtil.java


注:本文中的com.intellij.openapi.roots.impl.libraries.LibraryEx.ModifiableModelEx方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。