org.eclipse.emf.common.util.URI.segments()方法的使用及代码示例

x33g5p2x  于2022-01-31 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(151)

本文整理了Java中org.eclipse.emf.common.util.URI.segments()方法的一些代码示例,展示了URI.segments()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。URI.segments()方法的具体详情如下:
包路径:org.eclipse.emf.common.util.URI
类名称:URI
方法名:segments

URI.segments介绍

[英]If this is a hierarchical URI with a path, returns an array containing the segments of the path; an empty array otherwise. The leading separator in an absolute path is not represented in this array, but a trailing separator is represented by an empty-string segment as the final element.
[中]如果这是一个带有路径的层次URI,则返回一个包含路径段的数组;否则将创建空数组。绝对路径中的前导分隔符不在该数组中表示,但尾随分隔符由作为最终元素的空字符串段表示。

代码示例

代码示例来源:origin: fr.inria.atlanmod.neoemf/neoemf-core

@Override
public String[] segments() {
  return internalUri.segments();
}

代码示例来源:origin: at.bestsolution.efxclipse.eclipse/org.eclipse.emf.common

@Override
public String[] segments()
{
 return uri.segments();
}

代码示例来源:origin: atlanmod/NeoEMF

@Override
public String[] segments() {
  return base.segments();
}

代码示例来源:origin: org.eclipse.xtext/ui

protected Integer _compare(IResourceDescription rd0, IResourceDescription rd1) {
  String[] segments0 = rd0.getURI().segments();
  String[] segments1 = rd1.getURI().segments();
  for(int i=0; i<Math.min(segments0.length, segments1.length); ++i) {
    int compareToIgnoreCase = segments0[i].compareToIgnoreCase(segments1[i]);
    if(compareToIgnoreCase != 0)
      return compareToIgnoreCase;
  }
  return segments0.length - segments1.length;
}

代码示例来源:origin: atlanmod/NeoEMF

@Nonnull
@Override
public URI createRemoteUri(InetAddress host, int port, URI model) {
  checkNotNull(model, "model");
  checkNotNull(model.segments(), "model.segments");
  checkArgument(model.segments().length == 1, "model.segments must contains only one occurence");
  return createRemoteUri(host, port, model.segments()[0]);
}

代码示例来源:origin: atlanmod/NeoEMF

@Nonnull
@Override
public URI createRemoteUri(String host, int port, URI model) {
  checkNotNull(model, "model");
  checkNotNull(model.segments(), "model.segments");
  checkArgument(model.segments().length == 1, "model.segments must contains only one occurence");
  return createRemoteUri(host, port, model.segments()[0]);
}

代码示例来源:origin: org.eclipse/xtext

protected boolean isPrefix(URI prefix, URI uri) {
    if (prefix.scheme() == null || !prefix.scheme().equals(uri.scheme()))
      return false;
    String[] prefixSeg = prefix.segments();
    String[] uriSeg = uri.segments();
    if (prefixSeg.length == 0 || uriSeg.length == 0)
      return false;
    if (!"".equals(prefixSeg[prefixSeg.length - 1])) // this is true when the URI has a trailing slash ("/").
      return false;
    if (uriSeg.length < prefixSeg.length - 1)
      return false;
    for (int i = 0; i < prefixSeg.length - 1; i++)
      if (!uriSeg[i].equals(prefixSeg[i]))
        return false;
    return true;
  }
}

代码示例来源:origin: org.eclipse/org.eclipse.datatools.connectivity.sqm.core.ui

public static String getResourcePath (Resource resource)
{
  String fileName = ""; //$NON-NLS-1$
  if (resource == null || resource.getURI() == null)
  {
    return null;
  }
  String [] segments = resource.getURI().segments();
  for (int j = 1, n = segments.length; j < n ; j++)
  {
    fileName += (segments[j].indexOf(File.separator) != -1)? segments[j] : File.separator + segments[j];
  }
  return fileName;
}

代码示例来源:origin: org.jabylon/properties

private Resolvable<?, Resolvable<?, ?>> getOrCreateParent(ProjectLocale projectLocale, URI childURI) {
  Resolvable<?, Resolvable<?, ?>> currentParent = projectLocale;
  String[] segments = childURI.segments();
  for (int i = 0; i < segments.length - 1; i++) {
    currentParent = getOrCreate(currentParent, URI.decode(segments[i]));
  }
  return currentParent;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.util

/**
 * A URI is a prefix of another URI if:
 * <br/>
 * <ul>
 *     <li>Both have the same scheme</li>
 *     <li>The prefix ends with a trailing separator</li>
 *     <li>The segments of both URIs match up to the prefix's length</li>
 * </ul>
 */
public static boolean isPrefixOf(URI prefix, URI uri) {
  if (prefix.scheme() == null || !prefix.scheme().equals(uri.scheme()))
    return false;
  String[] prefixSeg = prefix.segments();
  String[] uriSeg = uri.segments();
  if (prefixSeg.length == 0 || uriSeg.length == 0)
    return false;
  if (!prefix.hasTrailingPathSeparator())
    return false;
  if (uriSeg.length < prefixSeg.length - 1)
    return false;
  for (int i = 0; i < prefixSeg.length - 1; i++)
    if (!uriSeg[i].equals(prefixSeg[i]))
      return false;
  return true;
}

代码示例来源:origin: org.jabylon/rest.api

@Override
protected void doPut(final HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  URI uri = URI.createURI(req.getPathInfo());
  String[] segmentArray = uri.segments();
  if (segmentArray.length == 1)
    putProject(req, uri, resp);
  else if (segmentArray.length == 2)
    putVersion(req, uri, resp);
  else if (segmentArray.length == 3 && uri.hasTrailingPathSeparator())
    putLocale(req, uri, resp);
  else
    putPropertyFile(req, uri, resp);
}

代码示例来源:origin: org.eclipse/org.eclipse.jem.util

protected URI normalizePluginURI(URI uri, String fragment) {
  if (uri.segmentCount() < 2)
    return uri; // Invalid, just let it go on.
  // See if already normalized.
  int u_scoreNdx = uri.segment(1).lastIndexOf('_');
  if (u_scoreNdx != -1) {
    // Not normalized. Remove the version to make it normalized.
    String[] segments = uri.segments();
    segments[1] = segments[1].substring(0, u_scoreNdx);
    return URI.createHierarchicalURI(uri.scheme(), uri.authority(), uri.device(), segments, uri.query(), fragment);
  } else
    return uri;
}

代码示例来源:origin: atlanmod/NeoEMF

@Test
void testCreateRemoteUriWithIPAddr() throws UnknownHostException {
  final URI uri = factory.createRemoteUri(InetAddress.getByName("192.168.0.1"), 1234, "test");
  assertThat(uri.isHierarchical()).isTrue();
  assertThat(uri.scheme()).isEqualTo(SCHEME);
  assertThat(uri.host()).isEqualTo("192.168.0.1");
  assertThat(uri.port()).isEqualTo(Integer.toString(1234));
  assertThat(uri.segments()).containsExactly("test");
}

代码示例来源:origin: atlanmod/NeoEMF

@Test
void testCreateRemoteUriWithStringAddr() {
  final URI uri = factory.createRemoteUri("192.168.0.1", 1234, "test");
  assertThat(uri.isHierarchical()).isTrue();
  assertThat(uri.scheme()).isEqualTo(SCHEME);
  assertThat(uri.host()).isEqualTo("192.168.0.1");
  assertThat(uri.port()).isEqualTo(Integer.toString(1234));
  assertThat(uri.segments()).containsExactly("test");
}

代码示例来源:origin: atlanmod/NeoEMF

@Test
void testCreateRemoteUriWithStringLocal() {
  final URI uri = factory.createRemoteUri("localhost", 1234, "test");
  assertThat(uri.isHierarchical()).isTrue();
  assertThat(uri.scheme()).isEqualTo(SCHEME);
  assertThat(uri.host()).isEqualTo("127.0.0.1");
  assertThat(uri.port()).isEqualTo(Integer.toString(1234));
  assertThat(uri.segments()).containsExactly("test");
}

代码示例来源:origin: atlanmod/NeoEMF

@Nonnull
@Override
public URI createLocalUri(File file) {
  checkNotNull(file, "file");
  final URI fileUri = URI.createFileURI(file.getAbsolutePath());
  final URI uri = URI.createHierarchicalURI(scheme(),
      fileUri.authority(),
      fileUri.device(),
      fileUri.segments(),
      fileUri.query(),
      fileUri.fragment());
  return createLocalUri(uri);
}

代码示例来源:origin: fr.inria.atlanmod.neoemf/neoemf-core

@Override
public String toFileString() {
  URI uri = URI.createHierarchicalURI(
      FILE_SCHEME,
      internalUri.authority(),
      internalUri.device(),
      internalUri.segments(),
      internalUri.query(),
      internalUri.fragment());
  return uri.toFileString();
}

代码示例来源:origin: atlanmod/NeoEMF

@Override
public String toFileString() {
  return URI.createHierarchicalURI(
      SCHEME,
      base.authority(),
      base.device(),
      base.segments(),
      base.query(),
      base.fragment()
  ).toFileString();
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.util

/**
  * converts the file URIs with an absent authority to one with an empty
  */
 public URI withEmptyAuthority(final URI uri) {
  URI _xifexpression = null;
  if ((uri.isFile() && (uri.authority() == null))) {
   _xifexpression = URI.createHierarchicalURI(uri.scheme(), "", uri.device(), uri.segments(), uri.query(), uri.fragment());
  } else {
   _xifexpression = uri;
  }
  return _xifexpression;
 }
}

代码示例来源:origin: org.jabylon/properties

private static void createMissingChildren(ProjectLocale template, ProjectLocale other) {
  EList<PropertyFileDescriptor> descriptors = template.getDescriptors();
  for (PropertyFileDescriptor descriptor : descriptors) {
    URI derivedLocation = computeLocaleResourceLocation(other.getLocale(), other.getParent(), descriptor.getLocation());
    Resolvable<?, ?> child = other.resolveChild(derivedLocation);
    if(child==null){
      Resolvable<?, ?> folder = getOrCreateFolder(other, derivedLocation.trimSegments(1).segments());
      PropertyFileDescriptor localeDescriptor = PropertiesFactory.eINSTANCE.createPropertyFileDescriptor();
      localeDescriptor.setMaster(descriptor);
      localeDescriptor.setVariant(other.getLocale());
      localeDescriptor.setLocation(derivedLocation);
      localeDescriptor.setProjectLocale(other);
      localeDescriptor.setParent(folder);
      localeDescriptor.setName(URI.decode(derivedLocation.lastSegment()));
    }
  }
}

相关文章