Groovy Documentation

org.jdesktop.ws
[Java] Class AbstractHttpService.WSSession

java.lang.Object
  org.jdesktop.beans.AbstractBean
      org.jdesktop.http.Session
          org.jdesktop.ws.AbstractHttpService.WSSession

private static final class AbstractHttpService.WSSession
extends Session

This class simply exposes the setState() method such that the AbstractHttpService can manipulate the state to keep it in synch with this class. Personally I find this solution apalling since it exposes the ability in Session to mess with the state, which I would prefer to keep private to Session. Nevertheless, this appears the best solution to the problem of keeping states in sync. While it is certainly possible to ensure that this works in this case, it opens the possiblity for abuse by other Session subclasses and also makes it tricky to keep all the invariants correct between this AbstractHttpSession class and the Session. Only sufficient unit testing can guard against it.


Field Summary
 
Fields inherited from class Session
bytesSoFar, handler, sslSecurity, state, totalBytes
 
Constructor Summary
AbstractHttpService.WSSession()

 
Method Summary
void setState(State s)

 
Methods inherited from class Session
createSocketFactory, createURL, execute, execute, execute, get, get, getBytesSoFar, getMediumSecurityHandler, getProgress, getSslSecurityLevel, getState, getTotalBytes, post, post, put, put, readFully, setBytesSoFar, setMediumSecurityHandler, setSslSecurityLevel, setState, setTotalBytes, valueOf, values
 
Methods inherited from class org.jdesktop.beans.AbstractBean
org.jdesktop.beans.AbstractBean#clone(), org.jdesktop.beans.AbstractBean#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), org.jdesktop.beans.AbstractBean#addPropertyChangeListener(java.beans.PropertyChangeListener), org.jdesktop.beans.AbstractBean#removePropertyChangeListener(java.beans.PropertyChangeListener), org.jdesktop.beans.AbstractBean#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), org.jdesktop.beans.AbstractBean#getPropertyChangeListeners(java.lang.String), org.jdesktop.beans.AbstractBean#getPropertyChangeListeners(), org.jdesktop.beans.AbstractBean#addVetoableChangeListener(java.lang.String, java.beans.VetoableChangeListener), org.jdesktop.beans.AbstractBean#addVetoableChangeListener(java.beans.VetoableChangeListener), org.jdesktop.beans.AbstractBean#removeVetoableChangeListener(java.lang.String, java.beans.VetoableChangeListener), org.jdesktop.beans.AbstractBean#removeVetoableChangeListener(java.beans.VetoableChangeListener), org.jdesktop.beans.AbstractBean#getVetoableChangeListeners(java.lang.String), org.jdesktop.beans.AbstractBean#getVetoableChangeListeners(), org.jdesktop.beans.AbstractBean#wait(), org.jdesktop.beans.AbstractBean#wait(long), org.jdesktop.beans.AbstractBean#wait(long, int), org.jdesktop.beans.AbstractBean#equals(java.lang.Object), org.jdesktop.beans.AbstractBean#toString(), org.jdesktop.beans.AbstractBean#hashCode(), org.jdesktop.beans.AbstractBean#getClass(), org.jdesktop.beans.AbstractBean#notify(), org.jdesktop.beans.AbstractBean#notifyAll()
 

Constructor Detail

AbstractHttpService.WSSession

AbstractHttpService.WSSession()


 
Method Detail

setState

public void setState(State s)


 

Groovy Documentation