package net.eusashead.bjugquerydsl.hateoas;
import java.util.Date;
import org.springframework.http.ResponseEntity;
public interface ResponseEntityBuilder<T> {
/**
* Set the location header
* for use when creating
* a new resource
* @param path
* @param objects
* @return
*/
ResponseEntityBuilder<T> location(String path, Object... objects);
/**
* Create ETag header based
* on hash representation of object
* @return
*/
ResponseEntityBuilder<T> etag();
ResponseEntityBuilder<T> etag(Date date);
ResponseEntityBuilder<T> etag(Integer version);
ResponseEntityBuilder<T> lastModified(Date date);
ResponseEntityBuilder<T> expireIn(long millis);
ResponseEntity<T> get();
ResponseEntity<T> create();
ResponseEntity<T> update();
ResponseEntity<T> delete();
ResponseEntity<T> head();
}