package samplest.etag;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableList;
import com.google.common.hash.Hashing;
import restx.http.ETagProvider;
import restx.factory.Component;
import restx.http.CacheControl;
import restx.http.ETag;
/**
* Date: 22/5/14
* Time: 20:36
*/
@Component
public class SampleETagProvider implements ETagProvider<ETagSampleObject> {
@Override
public Class<ETagSampleObject> getEntityType() {
return ETagSampleObject.class;
}
@Override
public ETag provideETagFor(ETagSampleObject entity) {
return new ETag(Hashing.md5().hashString(entity.getName(), Charsets.UTF_8).toString(),
new CacheControl(-1, ImmutableList.of("must-revalidate")));
}
}