本文整理汇总了Java中org.eclipse.core.runtime.IPath.segments方法的典型用法代码示例。如果您正苦于以下问题:Java IPath.segments方法的具体用法?Java IPath.segments怎么用?Java IPath.segments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.core.runtime.IPath
的用法示例。
在下文中一共展示了IPath.segments方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例2: createFolderPath
import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
/**
* Creates all non-existing segments of the given path.
*
* @param path
* The path to create
* @param parent
* The container in which the path should be created in
* @param monitor
* A progress monitor. May be {@code null}
*
* @return The folder specified by the path
*/
private IContainer createFolderPath(IPath path, IContainer parent, IProgressMonitor monitor) {
IContainer activeContainer = parent;
if (null != monitor) {
monitor.beginTask("Creating folders", path.segmentCount());
}
for (String segment : path.segments()) {
IFolder folderToCreate = activeContainer.getFolder(new Path(segment));
try {
if (!folderToCreate.exists()) {
createFolder(segment, activeContainer, monitor);
}
if (null != monitor) {
monitor.worked(1);
}
activeContainer = folderToCreate;
} catch (CoreException e) {
LOGGER.error("Failed to create module folders.", e);
MessageDialog.open(MessageDialog.ERROR, getShell(),
FAILED_TO_CREATE_FOLDER_TITLE, String.format(FAILED_TO_CREATE_FOLDER_MESSAGE,
folderToCreate.getFullPath().toString(), e.getMessage()),
SWT.NONE);
break;
}
}
return activeContainer;
}
示例3: isValidFolderPath
import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
/**
* Returns {@code true} if path is a valid folder path.
*
* That means that every segment needs to be a valid folder name.
*
*/
public static boolean isValidFolderPath(IPath path) {
for (String segment : path.segments()) {
if (!isValidFolderName(segment)) {
return false;
}
}
return true;
}
示例4: getTemplateURI
import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
/**
* Finds the template in the plug-in. Returns the template plug-in URI.
*
* @param bundleID
* is the plug-in ID
* @param relativePath
* is the relative path of the template in the plug-in
* @return the template URI
* @throws IOException
* @generated
*/
@SuppressWarnings("unchecked")
private URI getTemplateURI(String bundleID, IPath relativePath) throws IOException {
Bundle bundle = Platform.getBundle(bundleID);
if (bundle == null) {
// no need to go any further
return URI.createPlatformResourceURI(new Path(bundleID).append(relativePath).toString(), false);
}
URL url = bundle.getEntry(relativePath.toString());
if (url == null && relativePath.segmentCount() > 1) {
Enumeration<URL> entries = bundle.findEntries("/", "*.emtl", true);
if (entries != null) {
String[] segmentsRelativePath = relativePath.segments();
while (url == null && entries.hasMoreElements()) {
URL entry = entries.nextElement();
IPath path = new Path(entry.getPath());
if (path.segmentCount() > relativePath.segmentCount()) {
path = path.removeFirstSegments(path.segmentCount() - relativePath.segmentCount());
}
String[] segmentsPath = path.segments();
boolean equals = segmentsPath.length == segmentsRelativePath.length;
for (int i = 0; equals && i < segmentsPath.length; i++) {
equals = segmentsPath[i].equals(segmentsRelativePath[i]);
}
if (equals) {
url = bundle.getEntry(entry.getPath());
}
}
}
}
URI result;
if (url != null) {
result = URI.createPlatformPluginURI(new Path(bundleID).append(new Path(url.getPath())).toString(), false);
} else {
result = URI.createPlatformResourceURI(new Path(bundleID).append(relativePath).toString(), false);
}
return result;
}
示例5: getTemplateURI
import org.eclipse.core.runtime.IPath; //导入方法依赖的package包/类
/**
* Finds the template in the plug-in. Returns the template plug-in URI.
*
* @param bundleID
* is the plug-in ID
* @param relativePath
* is the relative path of the template in the plug-in
* @return the template URI
* @throws IOException
* @generated
*/
@SuppressWarnings ( "unused" )
private URI getTemplateURI ( final String bundleID, final IPath relativePath ) throws IOException
{
final Bundle bundle = Platform.getBundle ( bundleID );
if ( bundle == null )
{
// no need to go any further
return URI.createPlatformResourceURI ( new Path ( bundleID ).append ( relativePath ).toString (), false );
}
URL url = bundle.getEntry ( relativePath.toString () );
if ( url == null && relativePath.segmentCount () > 1 )
{
final Enumeration<URL> entries = bundle.findEntries ( "/", "*.emtl", true );
if ( entries != null )
{
final String[] segmentsRelativePath = relativePath.segments ();
while ( url == null && entries.hasMoreElements () )
{
final URL entry = entries.nextElement ();
IPath path = new Path ( entry.getPath () );
if ( path.segmentCount () > relativePath.segmentCount () )
{
path = path.removeFirstSegments ( path.segmentCount () - relativePath.segmentCount () );
}
final String[] segmentsPath = path.segments ();
boolean equals = segmentsPath.length == segmentsRelativePath.length;
for ( int i = 0; equals && i < segmentsPath.length; i++ )
{
equals = segmentsPath[i].equals ( segmentsRelativePath[i] );
}
if ( equals )
{
url = bundle.getEntry ( entry.getPath () );
}
}
}
}
URI result;
if ( url != null )
{
result = URI.createPlatformPluginURI ( new Path ( bundleID ).append ( new Path ( url.getPath () ) ).toString (), false );
}
else
{
result = URI.createPlatformResourceURI ( new Path ( bundleID ).append ( relativePath ).toString (), false );
}
return result;
}