/** * Sets the next Restlet after the outbound chain. * * @param next * The Restlet to process after the outbound chain. */ protected synchronized void setOutboundNext(Restlet next) { if (getLastOutboundFilter() != null) { getLastOutboundFilter().setNext(next); } this.outboundNext = next; }
/** * Returns the next Restlet in the outbound chain. * * @return The next Restlet in the outbound chain. */ public synchronized Restlet getOutboundNext() { Restlet result = null; if (getLastOutboundFilter() != null) { result = getLastOutboundFilter().getNext(); } else { result = this.outboundNext; } return result; }
/** * Adds a new outbound filter to the chain. * * @param filter * The outbound filter to add. */ protected synchronized void addOutboundFilter(Filter filter) { Restlet next = getOutboundNext(); if (getFirstOutboundFilter() == null) { setFirstOutboundFilter(filter); } else if (getLastOutboundFilter() != null) { getLastOutboundFilter().setNext(filter); } setLastOutboundFilter(filter); setOutboundNext(next); }