Class AbstractExchange

java.lang.Object
com.predic8.membrane.core.exchange.AbstractExchange
Direct Known Subclasses:
Exchange

public abstract class AbstractExchange extends Object
  • Field Details

  • Constructor Details

    • AbstractExchange

      public AbstractExchange()
    • AbstractExchange

      public AbstractExchange(AbstractExchange original)
      For HttpResendRunnable
  • Method Details

    • setStatus

      public void setStatus(ExchangeState state)
    • getStatus

      public ExchangeState getStatus()
    • getTime

      public Calendar getTime()
    • setTime

      public void setTime(Calendar time)
    • getRequest

      public Request getRequest()
    • setRequest

      public void setRequest(Request request)
    • getResponse

      public Response getResponse()
    • setResponse

      public void setResponse(Response res)
    • getRule

      public Rule getRule()
    • setRule

      public void setRule(Rule rule)
    • addExchangeViewerListener

      public void addExchangeViewerListener(IExchangeViewerListener viewer)
    • removeExchangeViewerListener

      public void removeExchangeViewerListener(IExchangeViewerListener viewer)
    • addExchangeStoreListener

      public void addExchangeStoreListener(IExchangesStoreListener viewer)
    • removeExchangeStoreListener

      public void removeExchangeStoreListener(IExchangesStoreListener viewer)
    • setCompleted

      public void setCompleted()
    • setStopped

      public void setStopped()
    • finishExchange

      public void finishExchange(boolean refresh)
    • finishExchange

      public void finishExchange(boolean refresh, String errmsg)
    • setForceToStop

      public void setForceToStop(boolean forceToStop)
    • isForcedToStop

      public boolean isForcedToStop()
    • getErrorMessage

      public String getErrorMessage()
    • setErrorMessage

      public void setErrorMessage(String errMessage)
    • informExchangeViewerOnRemoval

      public void informExchangeViewerOnRemoval()
    • setReceived

      public void setReceived()
    • getProperty

      public Object getProperty(String key)
    • getProperty

      public <T> T getProperty(String key, Class<T> clazz)
    • getStringProperty

      public String getStringProperty(String key)
    • setProperty

      public void setProperty(String key, Object value)
    • getTimeReqSent

      public long getTimeReqSent()
    • setTimeReqSent

      public void setTimeReqSent(long tReqSent)
    • getTimeReqReceived

      public long getTimeReqReceived()
    • setTimeReqReceived

      public void setTimeReqReceived(long tReqReceived)
    • received

      public void received()
    • getTimeResSent

      public long getTimeResSent()
    • setTimeResSent

      public void setTimeResSent(long tResSent)
    • getTimeResReceived

      public long getTimeResReceived()
    • setTimeResReceived

      public void setTimeResReceived(long tResReceived)
    • getOriginalRequestUri

      public String getOriginalRequestUri()
    • setOriginalRequestUri

      public void setOriginalRequestUri(String requestUri)
    • getServer

      public String getServer()
    • getResponseContentLength

      public long getResponseContentLength()
    • getRequestContentLength

      public long getRequestContentLength()
    • getRequestContentType

      public String getRequestContentType()
    • getResponseContentType

      public String getResponseContentType()
    • setDestinations

      public void setDestinations(List<String> destinations)
    • getDestinations

      public List<String> getDestinations()
      Returns:
      Probably never empty. Is this guaranteed to always contain at least 1 entry? There are many hardcoded calls with getDestinations().get(0) in the system.
    • getRemoteAddr

      public String getRemoteAddr()
      If <transport reverseDNS="true"/>, getRemoteAddr() returns the hostname of the incoming TCP connection's remote address. If false, it returns the IP address.
    • setRemoteAddr

      public void setRemoteAddr(String remoteAddr)
    • getRemoteAddrIp

      public String getRemoteAddrIp()
      Returns:
      The IP address of the incoming TCP connection's remote address.
    • setRemoteAddrIp

      public void setRemoteAddrIp(String remoteAddrIp)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • pushInterceptorToStack

      public void pushInterceptorToStack(Interceptor i)
    • popInterceptorFromStack

      public Interceptor popInterceptorFromStack()
    • getHeapSizeEstimation

      public int getHeapSizeEstimation()
    • resetHeapSizeEstimation

      public int resetHeapSizeEstimation()
    • estimateHeapSize

      protected int estimateHeapSize()
    • updateCopy

      public static <T extends AbstractExchange> T updateCopy(T source, T copy, Runnable bodyUpdatedCallback, BodyCollectingMessageObserver.Strategy strategy, long limit)
    • getPublicUrl

      public String getPublicUrl()
    • detach

      public void detach()
      Prepares for long-term storage (for example, in-memory ExchangeStores).
    • getId

      public abstract long getId()
    • getProperties

      public Map<String,Object> getProperties()
    • setProperties

      public void setProperties(Map<String,Object> properties)
    • createSnapshot

      public abstract <T extends AbstractExchange> T createSnapshot(Runnable bodyUpdatedCallback, BodyCollectingMessageObserver.Strategy strategy, long limit) throws Exception
      Throws:
      Exception
    • getInterceptorStack

      public ArrayList<Interceptor> getInterceptorStack()
    • setInterceptorStack

      public void setInterceptorStack(ArrayList<Interceptor> interceptorStack)