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


Java UriBuilder.scheme方法代码示例

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


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

示例1: ArchiveLogCollection

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
/**
 * コンストラクタ.
 * @param cell コレクションが属するCellオブジェクト
 * @param uriInfo コレクションのURL情報
 */
public ArchiveLogCollection(Cell cell, UriInfo uriInfo) {
    // archiveコレクションの作成日と更新日はセルの作成日とする
    // ただし更新日についてはアーカイブログファイルが作成されている場合、そのファイルの最新日が「createFileInformation」で設定される
    this.created = cell.getPublished();
    this.updated = cell.getPublished();

    // archiveコレクションのURLを生成
    StringBuilder urlSb = new StringBuilder();
    UriBuilder uriBuilder = uriInfo.getBaseUriBuilder();
    uriBuilder.scheme(PersoniumUnitConfig.getUnitScheme());
    urlSb.append(uriBuilder.build().toASCIIString());
    urlSb.append(uriInfo.getPath());
    this.url = urlSb.toString();

    StringBuilder archiveDirName = EventUtils.getEventLogDir(cell.getId(), cell.getOwner()).append("archive");
    this.directoryPath = archiveDirName.toString();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:23,代码来源:ArchiveLogCollection.java

示例2: getBaseUri

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
private static String getBaseUri(final UriInfo uriInfo, String cellName) {
    // URLを生成してSet
    StringBuilder urlSb = new StringBuilder();
    UriBuilder uriBuilder = uriInfo.getBaseUriBuilder();
    uriBuilder.scheme(PersoniumUnitConfig.getUnitScheme());
    urlSb.append(uriBuilder.build().toASCIIString());
    urlSb.append(cellName);
    urlSb.append("/");
    return urlSb.toString();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:11,代码来源:CellEsImpl.java

示例3: uriOverride

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
/**
 * Uriのオーバーライド処理.
 * @param request 加工するリクエスト
 */
private void uriOverride(final ContainerRequest request) {
    String xForwardedProto = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_PROTO);
    String xForwardedHost = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_HOST);
    String xForwardedPath = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_PATH);

    UriBuilder bub = request.getBaseUriBuilder();
    UriBuilder rub = request.getRequestUriBuilder();

    if (xForwardedProto != null) {
        bub.scheme(xForwardedProto);
        rub.scheme(xForwardedProto);
    }
    if (xForwardedHost != null) {
        bub.host(xForwardedHost);
        rub.host(xForwardedHost);
    }
    if (xForwardedPath != null) {
        bub.replacePath("/");
        // クエリを含んでいる場合は、クエリを削除してリクエストパスに設定する
        if (xForwardedPath.contains("?")) {
            xForwardedPath = xForwardedPath.substring(0, xForwardedPath.indexOf("?"));
        }
        rub.replacePath(xForwardedPath);
    }
    request.setUris(bub.build(), rub.build());
}
 
开发者ID:personium,项目名称:personium-core,代码行数:31,代码来源:PersoniumCoreContainerFilter.java

示例4: getPageUrl

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
/**
 * Get the URL defined by the specified {@link PageUrl} annotation.
 * <p>
 * <b>NOTES</b>: <ul>
 *     <li>If the {@code pageUrl} argument is {@code null} or the {@code value} element of the specified
 *         {@link PageUrl} annotation is unspecified, this method returns {@code null}.
 *     <li>If {@code scheme} of the specified {@code pageUrl} argument is unspecified or set to {@code http/https},
 *         the specified {@code targetUri} is overlaid by the elements of the {@link PageUrl} annotation to
 *         produce the fully-qualified <b>HTTP</b> target page URL.</li>
 *     <li>For <b>HTTP</b> URLs that require query parameters, these parameters must be included in the
 *         {@code value} element of the specified {@link PageUrl} annotation. The {@code params} element of the
 *         annotation is only used for pattern-based landing page verification.</li>
 *     <li>If {@code scheme} of the specified {@code pageUrl} is set to {@code file}, the value of the
 *         {@code targetUri} argument is ignored. The only element of the {@link PageUrl} annotation that
 *         is used to produce the fully-qualified <b>FILE</b> target page URL is {@code value}. The value of the
 *         {@code value} element specifies the relative path of a file within your project's resources, which is
 *         resolved via {@link ClassLoader#getResource}.</li>
 * </ul>
 * 
 * @param pageUrl page URL annotation
 * @param targetUri target URI
 * @return defined page URL as a string (may be 'null')
 */
public static String getPageUrl(PageUrl pageUrl, URI targetUri) {
    if (pageUrl == null || PLACEHOLDER.equals(pageUrl.value())) {
        return null;
    }
    
    String result = null;
    String scheme = pageUrl.scheme();
    String path = pageUrl.value();
    
    if ("file".equals(scheme)) {
        result = Thread.currentThread().getContextClassLoader().getResource(path).toString();
    } else {
        String userInfo = pageUrl.userInfo();
        String host = pageUrl.host();
        String port = pageUrl.port();
        
        UriBuilder builder = UriBuilder.fromUri(targetUri);
        
        if (!PLACEHOLDER.equals(scheme)) {
            builder.scheme(scheme.isEmpty() ? null : scheme);
        }
        
        if (!path.isEmpty()) {
            builder.path(path);
        }
        
        if (!PLACEHOLDER.equals(userInfo)) {
            builder.userInfo(userInfo.isEmpty() ? null : userInfo);
        }
        
        if (!PLACEHOLDER.equals(host)) {
            builder.host(host.isEmpty() ? null : host);
        }
        
        if (!PLACEHOLDER.equals(port)) {
            builder.port(port.isEmpty() ? -1 : Integer.parseInt(port));
        }
        
        result = builder.build().toString();
    }
    
    return result;
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:67,代码来源:ComponentContainer.java


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