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


Java IPath.makeRelativeTo方法代码示例

本文整理汇总了Java中org.eclipse.core.runtime.IPath.makeRelativeTo方法的典型用法代码示例。如果您正苦于以下问题:Java IPath.makeRelativeTo方法的具体用法?Java IPath.makeRelativeTo怎么用?Java IPath.makeRelativeTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.core.runtime.IPath的用法示例。


在下文中一共展示了IPath.makeRelativeTo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getPathWithinPackageFragment

import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
/**
 * Return a path relative to its package fragment root
 * 
 * @param project
 * @param path
 * @return
 * @throws JavaModelException
 */
public static IPath getPathWithinPackageFragment(IResource ifile) throws JavaModelException {
	IProject project = ifile.getProject();
	IPath path = ifile.getFullPath();
	String[] segments = path.segments();
	IJavaProject jproject = JavaCore.create(project);
	IPackageFragment[] pkgs = jproject.getPackageFragments();
	IPath p = new Path("/");
	for (int i = 0; i < segments.length; i++) {
		for (int j = 0; j < pkgs.length; j++) {
			if (pkgs[j].getPath().equals(p)) {
				IPath ret = path.makeRelativeTo(pkgs[j].getPath());
				return ret;
			}
		}
		p = p.append(segments[i]);
	}
	return null;
}
 
开发者ID:gw4e,项目名称:gw4e.project,代码行数:27,代码来源:ResourceManager.java

示例2: removePackageFragmentRoot

import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
public static IPath removePackageFragmentRoot(IProject project, IPath path) throws JavaModelException {
	IJavaProject javaProject = JavaCore.create(project);
	IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
	for (int i = 0; i < roots.length; i++) {
		if (roots[i].getPath().isPrefixOf(path))
			return path.makeRelativeTo(roots[i].getPath());
	}
	return null;
}
 
开发者ID:gw4e,项目名称:gw4e.project,代码行数:10,代码来源:JDTManager.java

示例3: buildFiles

import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
public static PgDatabase buildFiles(Collection<IFile> files, IProgressMonitor monitor,
        List<FunctionBodyContainer> funcBodies) throws InterruptedException, IOException, CoreException {
    SubMonitor mon = SubMonitor.convert(monitor, files.size());
    Set<String> schemaDirnamesLoaded = new HashSet<>();
    IPath schemasPath = new Path(WORK_DIR_NAMES.SCHEMA.name());
    PgDatabase db = new PgDatabase(false);
    db.setArguments(new PgDiffArguments());

    for (IFile file : files) {
        IPath filePath = file.getProjectRelativePath();
        if (!"sql".equals(file.getFileExtension()) || !isInProject(filePath)) { //$NON-NLS-1$
            // skip non-sql or non-project files
            // still report work
            mon.worked(1);
            continue;
        }

        if (schemasPath.isPrefixOf(filePath)) {
            IPath relSchemasPath = filePath.makeRelativeTo(schemasPath);
            String schemaDirname;
            boolean schemaDefSql = relSchemasPath.segmentCount() == 1;
            if (schemaDefSql) {
                // schema definition SQL-file
                schemaDirname = relSchemasPath.removeFileExtension().lastSegment();
            } else {
                // schema-contained object
                // preload its schema so that search_path parses normally
                schemaDirname = relSchemasPath.segment(0);
            }
            if (!schemaDirnamesLoaded.add(schemaDirname)) {
                // schema already loaded, skip
                if (schemaDefSql) {
                    // report schema pre-built if the same schema was to be built normally as well
                    mon.worked(1);
                }
                continue;
            } else if (!schemaDefSql) {
                // pre-load schema for object's search path
                // otherwise we're dealing with the schema file itself, allow it to load normally
                // don't pass progress monitor since this file isn't in the original load-set
                loadFile(file.getProject().getFile(schemasPath.append(schemaDirname + ".sql")), //$NON-NLS-1$
                        null, db, funcBodies, null);
            }
        }

        loadFile(file, mon, db, funcBodies, null);
    }
    return db;
}
 
开发者ID:pgcodekeeper,项目名称:pgcodekeeper,代码行数:50,代码来源:PgUIDumpLoader.java


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