本文整理匯總了Java中javax.ws.rs.core.CacheControl.setPrivate方法的典型用法代碼示例。如果您正苦於以下問題:Java CacheControl.setPrivate方法的具體用法?Java CacheControl.setPrivate怎麽用?Java CacheControl.setPrivate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.ws.rs.core.CacheControl
的用法示例。
在下文中一共展示了CacheControl.setPrivate方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: show
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("{derivate}{path: (/[^?#]*)?}")
public Response show(@Context HttpServletRequest request, @Context Request jaxReq,
@Context ServletContext context, @Context ServletConfig config) throws Exception {
MCRContent content = getContent(request);
String contentETag = content.getETag();
Response.ResponseBuilder responseBuilder = null;
EntityTag eTag = contentETag == null ? null : new EntityTag(contentETag);
if (eTag != null) {
responseBuilder = jaxReq.evaluatePreconditions(eTag);
}
if (responseBuilder == null) {
responseBuilder = Response.ok(content.asByteArray(), MediaType.valueOf(content.getMimeType()));
}
if (eTag != null) {
responseBuilder.tag(eTag);
}
if (content.isUsingSession()) {
CacheControl cc = new CacheControl();
cc.setPrivate(true);
cc.setMaxAge(0);
cc.setMustRevalidate(true);
responseBuilder.cacheControl(cc);
}
return responseBuilder.build();
}
示例2: newResponseBuilder
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
final ResponseBuilder newResponseBuilder(final Status status, @Nullable final Object entity,
@Nullable final GenericType<?> type) {
Preconditions.checkState(this.context.variant != null);
final ResponseBuilder builder = Response.status(status);
if (entity != null) {
builder.entity(type == null ? entity : new GenericEntity<Object>(entity, type
.getType()));
builder.variant(this.context.variant);
final CacheControl cacheControl = new CacheControl();
cacheControl.setNoStore(true);
if ("GET".equalsIgnoreCase(this.request.getMethod())
|| "HEAD".equalsIgnoreCase(this.request.getMethod())) {
builder.lastModified(this.context.lastModified);
builder.tag(this.context.etag);
if (isCachingEnabled()) {
cacheControl.setNoStore(false);
cacheControl.setMaxAge(0); // always stale, must revalidate each time
cacheControl.setMustRevalidate(true);
cacheControl.setPrivate(getUsername() != null);
cacheControl.setNoTransform(true);
}
}
builder.cacheControl(cacheControl);
}
return builder;
}
示例3: index
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
/**
* Show a photo.
* @param num ID of the user
* @return PNG
* @throws IOException If fails
*/
@GET
@Path("/{id : \\d+}.png")
@Produces("image/png")
public Response index(@PathParam("id") final String num)
throws IOException {
final URN urn = URN.create(String.format("urn:aintshy:%s", num));
final byte[] png = this.base().human(urn).profile().photo();
if (png == null) {
throw new WebApplicationException(
Response.seeOther(
URI.create("http://img.aintshy.com/no-photo.png")
).build()
);
}
final CacheControl cache = new CacheControl();
cache.setMaxAge((int) TimeUnit.HOURS.toSeconds(1L));
cache.setPrivate(false);
return Response.ok(new ByteArrayInputStream(png))
.cacheControl(cache)
.type("image/png")
.build();
}
示例4: createCacheControl
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
/**
* Converts a {@code Cache-Control} annotation to a {@code Cache-Control}
* Jersey API object.
*
* @param annotation the annotation
*
* @return the Jersey API object
*
* @see javax.ws.rs.core.CacheControl
* @see com.github.autermann.jersey.cache.CacheControl
*/
private CacheControl createCacheControl(
com.github.autermann.jersey.cache.CacheControl annotation) {
CacheControl cacheControl = new CacheControl();
cacheControl.setPrivate(annotation._private() ||
annotation.privateFields().length > 0);
cacheControl.getPrivateFields()
.addAll(Arrays.asList(annotation.privateFields()));
cacheControl.setMustRevalidate(annotation.mustRevalidate());
cacheControl.setNoCache(annotation.noCache() ||
annotation.noCacheFields().length > 0);
cacheControl.getNoCacheFields()
.addAll(Arrays.asList(annotation.noCacheFields()));
cacheControl.setNoStore(annotation.noStore());
cacheControl.setNoTransform(annotation.noTransform());
cacheControl.setProxyRevalidate(annotation.proxyRevalidate());
cacheControl.setMaxAge(annotation.maxAge());
cacheControl.setSMaxAge(annotation.sMaxAge());
for (CacheControlExtension e : annotation.extensions()) {
cacheControl.getCacheExtension().put(e.key(), e.value());
}
return cacheControl;
}
示例5: getVersionInfo
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("version")
@Produces(MediaType.APPLICATION_JSON)
public Response getVersionInfo() {
CacheControl cc = new CacheControl();
cc.setMaxAge(60 * 60 * 24); // seconds
cc.setPrivate(true);
return Response
.status(Response.Status.OK)
.cacheControl(cc)
.entity(graphene.getVersionInfo())
.build();
}
示例6: fromString
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@Override
public CacheControl fromString(final String value) {
if (value == null) {
return null;
}
final CacheControl result = new CacheControl();
result.setPrivate(true);
result.setNoTransform(false);
for (final String directive : value.split(",\\s+")) {
if (directive.startsWith("max-age=")) {
result.setMaxAge(Integer.parseInt(directive.split("=")[1]));
} else if (directive.equals("must-revalidate")) {
result.setMustRevalidate(true);
} else if (directive.equals("no-cache")) {
result.setNoCache(true);
} else if (directive.equals("no-store")) {
result.setNoStore(true);
} else if (directive.equalsIgnoreCase("no-transform")) {
result.setNoTransform(true);
} else if (directive.equals("private")) {
result.setPrivate(true);
} else if (directive.equals("proxy-revalidate")) {
result.setProxyRevalidate(true);
} else if (directive.equals("public")) {
result.setPrivate(false);
} else if (directive.startsWith("s-maxage=")) {
result.setSMaxAge(Integer.parseInt(directive.split("=")[1]));
}
}
return result;
}
示例7: testSerializeFull
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@Test
public void testSerializeFull() {
final CacheControl c = new CacheControl();
c.setMaxAge(100);
c.setMustRevalidate(true);
c.setNoCache(true);
c.setNoStore(true);
c.setNoTransform(false);
c.setPrivate(true);
c.setProxyRevalidate(true);
c.setSMaxAge(200);
assertEquals(
"private, max-age=100, s-maxage=200, must-revalidate, no-cache, no-store, proxy-revalidate",
d.toString(c));
}
示例8: noCache
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
/**
* Edit the response headers to indicating no caching.
*
* @param response response
* @return builder
*/
protected Response.ResponseBuilder noCache(final Response.ResponseBuilder response) {
final CacheControl cacheControl = new CacheControl();
cacheControl.setPrivate(true);
cacheControl.setNoCache(true);
cacheControl.setNoStore(true);
return response.cacheControl(cacheControl);
}
示例9: applyCachePolicyToResponse
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
/**
* Apply cache policy to a response.
*
* @param response The response builder.
* @param eTag The ETag of the resource.
* @param lastModified The last modified date of the resource.
* @return The response builder with the cache policy.
*/
private static Response.ResponseBuilder applyCachePolicyToResponse(Response.ResponseBuilder response, EntityTag eTag, Date lastModified) {
CacheControl cc = new CacheControl();
cc.setMaxAge(CACHE_SECOND);
cc.setNoTransform(false);
cc.setPrivate(false);
Calendar expirationDate = Calendar.getInstance();
expirationDate.add(Calendar.SECOND, CACHE_SECOND);
return response.cacheControl(cc)
.expires(expirationDate.getTime())
.lastModified(lastModified)
.tag(eTag);
}
示例10: createCacheControl
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
private static CacheControl createCacheControl(Cacheable cacheable) {
CacheControl cacheControl = new CacheControl();
cacheControl.setMaxAge(cacheable.maxAge());
cacheControl.setMustRevalidate(cacheable.mustRevalidate());
cacheControl.setNoCache(cacheable.noCache());
cacheControl.setNoStore(cacheable.noStore());
cacheControl.setNoTransform(cacheable.noTransform());
cacheControl.setPrivate(cacheable.privateFlag());
cacheControl.setProxyRevalidate(cacheable.proxyRevalidate());
cacheControl.setSMaxAge(cacheable.sMaxAge());
cacheControl.getNoCacheFields().addAll(Arrays.asList(cacheable.noCacheFields()));
cacheControl.getPrivateFields().addAll(Arrays.asList(cacheable.privateFields()));
return cacheControl;
}
示例11: home
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Produces(MediaType.TEXT_HTML)
public Response home(){
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(true);
ResponseBuilder builder = Response.ok(
getClass().getResourceAsStream("/static/index.html"));
builder.cacheControl(cc);
return builder.build();
}
示例12: css
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("/css")
@Produces("text/css")
public Response css() {
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(true);
ResponseBuilder builder = Response.ok(
getClass().getResourceAsStream("/static/style.css"));
builder.cacheControl(cc);
return builder.build();
}
示例13: github
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("/github")
@Produces("text/css")
public Response github() {
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(true);
ResponseBuilder builder = Response.ok(
getClass().getResourceAsStream("/static/highlight/styles/github.css"));
builder.cacheControl(cc);
return builder.build();
}
示例14: highlight
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("/highlight")
@Produces("text/javascript")
public Response highlight() {
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(true);
ResponseBuilder builder = Response.ok(
getClass().getResourceAsStream("/static/highlight/highlight.pack.js"));
builder.cacheControl(cc);
return builder.build();
}
示例15: logo
import javax.ws.rs.core.CacheControl; //導入方法依賴的package包/類
@GET
@Path("/logo")
@Produces("image/gif")
public Response logo() {
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(true);
ResponseBuilder builder = Response.ok(
getClass().getResourceAsStream("/static/Arieslogo_Horizontal.gif"));
builder.cacheControl(cc);
return builder.build();
}