类javax.ws.rs.core.Link.Builder源码实例Demo

下面列出了怎么用javax.ws.rs.core.Link.Builder的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: rest-schemagen   文件: LinkCreator.java
private void addHttpMethod(Builder builder, Scope scope) {
    final List<Class<? extends Annotation>> httpMethodAnnotations = Arrays.asList(GET.class,
            POST.class, PUT.class, DELETE.class);
    final Method invokedMethod = scope.getInvokedMethod();
    final Optional<Class<? extends Annotation>> httpMethod = httpMethodAnnotations.stream()
            .filter(invokedMethod::isAnnotationPresent).findFirst();

    if (httpMethod.isPresent()) {
        builder.param(METHOD_PARAM_KEY, httpMethod.get().getSimpleName());
    } else {
        throw new IllegalArgumentException(
                "LinkCreator: The method has to be annotated with one of: " + String.join(", ",
                        (Iterable<String>) httpMethodAnnotations.stream().map(
                                Class::getSimpleName).map(m -> '@' + m)::iterator));
    }
}
 
源代码2 项目: rest-schemagen   文件: LinkCreator.java
public static Builder setRelation(Relation relation, URI uri) {
    requireNonNull(relation);
    requireNonNull(uri);
    Builder builder = Link.fromUri(uri).rel(relation.getName());
    if (requireNonNull(relation).getType().isShouldBeSerialized()) {
        builder.param("relType", relation.getType().getName());
        builder.param("target", relation.getType().getSerializedName());
    }
    return builder;
}
 
源代码3 项目: rest-schemagen   文件: LinkCreator.java
/**
 * create a link for a resource method
 *
 * @param scopes
 *            list of Scope objects for every scope level
 * @param relation
 *            relation of method
 * @param linkFactoryContext
 *            the base URI for resolution of relative URIs and method and
 *            property checkers
 * @return link with schema if applicable
 */
public Link createFor(List<Scope> scopes, Relation relation,
        LinkFactoryContext linkFactoryContext) {
    final Class<?> resourceClass = scopes.get(0).getInvokedClass();
    UriBuilder uriBuilder = UriBuilder.fromResource(resourceClass);

    Map<String, Object> pathParameters = new HashMap<>();
    for (Scope scope : scopes) {
        final Method method = scope.getInvokedMethod();
        final Object[] parameters = scope.getParams();
        if (method.isAnnotationPresent(Path.class)) {
            uriBuilder.path(method.getDeclaringClass(), method.getName());
        }
        pathParameters.putAll(collectPathParameters(scope, parameters));
        setQueryParameters(uriBuilder, scope, parameters);
    }

    URI uri = mergeUri(linkFactoryContext.getBaseUri(), uriBuilder, pathParameters);

    Builder builder = setRelation(relation, uri);

    addLinkProperties(scopes, builder);

    detectMediaType(scopes, builder);

    final Scope lastScopedMethod = Iterables.getLast(scopes);
    addHttpMethod(builder, lastScopedMethod);
    addSchemaIfNeeded(builder, lastScopedMethod, linkFactoryContext);
    return builder.build();
}
 
源代码4 项目: rest-schemagen   文件: LinkCreator.java
private void addLinkProperties(List<Scope> scopes, Builder builder) {
    final LinkProperties properties = Iterables.getLast(scopes).getInvokedMethod()
            .getAnnotation(LinkProperties.class);
    if (properties != null) {
        Stream.of(properties.value()).forEach(x -> builder.param(x.key(), x.value()));
    }
}
 
源代码5 项目: rest-schemagen   文件: LinkCreator.java
private void addSchemaIfNeeded(Builder builder, Scope method,
        LinkFactoryContext linkFactoryContext) {
    Optional<String> optionalInputSchema = jsonSchemaGenerator.createInputSchema(method,
            linkFactoryContext.getFieldCheckerForSchema());
    optionalInputSchema.ifPresent(s -> builder.param(SCHEMA_PARAM_KEY, s));
    Optional<String> mt = detectMediaType(method.getInvokedMethod());
    if (mt.isPresent() && MediaType.APPLICATION_JSON.equals(mt.get())) {
        Optional<String> optionalOutputSchema = jsonSchemaGenerator.createOutputSchema(method,
                linkFactoryContext.getFieldCheckerForSchema());
        optionalOutputSchema.ifPresent(s -> builder.param(TARGET_SCHEMA_PARAM_KEY, s));
    }
}
 
源代码6 项目: rest-schemagen   文件: ExternalLinkFactory.java
public Link createFor(URI uri, Optional<String> schemaForLink, String relName) {
	Objects.requireNonNull(uri);
	Objects.requireNonNull(schemaForLink);
	Objects.requireNonNull(relName);

	Relation rel = Relation.of(relName, RelType.OTHER);
	Builder linkBuilder = LinkCreator.setRelation(rel, uri);
	schemaForLink.ifPresent(s -> linkBuilder.param(LinkCreator.SCHEMA_PARAM_KEY, s));
	return linkBuilder.build();
}
 
源代码7 项目: cxf   文件: LinkBuilderImpl.java
@Override
public Builder param(String name, String value) {
    checkNotNull(name);
    checkNotNull(value);
    params.put(name, value);
    return this;
}
 
源代码8 项目: ambiverse-nlu   文件: ResponseWrapper.java
@Override public Builder getLinkBuilder(final String relation) {
  return delegate.getLinkBuilder(relation);
}
 
源代码9 项目: raml-module-builder   文件: ResponseImpl.java
@Override
public Builder getLinkBuilder(String relation) {
  // TODO Auto-generated method stub
  return null;
}
 
源代码10 项目: rest-schemagen   文件: LinkCreator.java
private void detectMediaType(Collection<Scope> scopes, Builder builder) {
    detectMediaType(Iterables.getLast(scopes).getInvokedMethod()).ifPresent(mediatype -> builder
            .param("mediaType", mediatype));
}
 
源代码11 项目: gitlab4j-api   文件: MockResponse.java
@Override
public Builder getLinkBuilder(String relation) {
    return null;
}
 
源代码12 项目: cxf   文件: CustomResponse.java
@Override
public Builder getLinkBuilder(String arg0) {
    return null;
}
 
源代码13 项目: cxf   文件: LinkBuilderImpl.java
@Override
public Builder uriBuilder(UriBuilder builder) {
    this.ub = builder;
    return this;
}
 
源代码14 项目: cxf   文件: LinkBuilderImpl.java
@Override
public Builder baseUri(URI uri) {
    this.baseUri = uri;
    return this;
}
 
源代码15 项目: cxf   文件: LinkBuilderImpl.java
@Override
public Builder baseUri(String uri) {
    baseUri = URI.create(uri);
    return this;
}
 
源代码16 项目: cxf   文件: AbstractResponseContextImpl.java
public Builder getLinkBuilder(String rel) {
    return r.getLinkBuilder(rel);
}
 
源代码17 项目: cxf   文件: ResponseImplTest.java
@Test
public void testGetNoLinkBuilder() throws Exception {
    Response response = Response.ok().build();
    Builder builder = response.getLinkBuilder("anyrelation");
    assertNull(builder);
}
 
源代码18 项目: cxf   文件: ResponseImplTest.java
@Override
public Builder createLinkBuilder() {
    return original.createLinkBuilder();
}
 
源代码19 项目: nifi   文件: JacksonResponse.java
@Override
public Builder getLinkBuilder(String relation) {
    return null;
}