/** * Releases the representation and all associated objects like streams, * channels or files which are used to produce its content, transient or * not. This method must be systematically called when the representation is * no longer intended to be used. The framework automatically calls back * this method via its connectors on the server-side when sending responses * with an entity and on the client-side when sending a request with an * entity. By default, it calls the {@link #setAvailable(boolean)} method * with "false" as a value.<br> * <br> * Note that for transient socket-bound representations, calling this method * after consuming the whole content shouldn't prevent the reuse of * underlying socket via persistent connections for example. However, if the * content hasn't been read, or has been partially read, the impact should * be to discard the remaining content and to close the underlying * connections.<br> * <br> * Therefore, if you are not interested in the content, or in the remaining * content, you should first call the {@link #exhaust()} method or if this * could be too costly, you should instead explicitly abort the parent * request and the underlying connections using the {@link Request#abort()} * method or a shortcut one like * {@link org.restlet.resource.ServerResource#abort()} or * {@link Response#abort()}. */ public void release() { setAvailable(false); }
/** * Releases the representation and all associated objects like streams, * channels or files which are used to produce its content, transient or * not. This method must be systematically called when the representation is * no longer intended to be used. The framework automatically calls back * this method via its connectors on the server-side when sending responses * with an entity and on the client-side when sending a request with an * entity. By default, it calls the {@link #setAvailable(boolean)} method * with "false" as a value.<br> * <br> * Note that for transient socket-bound representations, calling this method * after consuming the whole content shouldn't prevent the reuse of * underlying socket via persistent connections for example. However, if the * content hasn't been read, or has been partially read, the impact should * be to discard the remaining content and to close the underlying * connections.<br> * <br> * Therefore, if you are not interested in the content, or in the remaining * content, you should first call the {@link #exhaust()} method or if this * could be too costly, you should instead explicitly abort the parent * request and the underlying connections using the {@link Request#abort()} * method or a shortcut one like * {@link org.restlet.resource.ServerResource#abort()} or * {@link Response#abort()}. */ public void release() { setAvailable(false); }
@Override public void setAvailable(boolean isAvailable) { getWrappedRepresentation().setAvailable(isAvailable); }