com.bbn.openmap.layer.link
Class LinkServer

java.lang.Object
  extended by java.lang.Thread
      extended by com.bbn.openmap.layer.link.LinkServer
All Implemented Interfaces:
LinkPropertiesConstants, java.lang.Runnable
Direct Known Subclasses:
ShapeLinkServer, TestLinkServer

public class LinkServer
extends java.lang.Thread
implements LinkPropertiesConstants

The Link Server is the object communicating with the LinkLayer. It is launched within its own thread to handle a specific client. If the server is accessing a database or an object that many LinkServers may be contacting, You'll need to ensure some amount of thread safety for the data if the data is being modified by the LinkServer.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
protected  Link link
          The Link to use to talk to the client.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface com.bbn.openmap.layer.link.LinkPropertiesConstants
LPC_BACKWARD_DIAG_PATTERN, LPC_CENTER_LAT, LPC_CENTER_LONG, LPC_CLEAR_PROPERTIES, LPC_CLEAR_PROPERTIES_CHAR, LPC_CROSS_PATTERN, LPC_DASH, LPC_DASH_DOT, LPC_DASH_DOT_DOT, LPC_DIAG_CROSS_PATTERN, LPC_DOT, LPC_FILLCOLOR, LPC_FILLPATTERN, LPC_FORWARD_DIAG_PATTERN, LPC_GRAPHICID, LPC_HEIGHT, LPC_HIGHLIGHTCOLOR, LPC_HORIZONTAL_PATTERN, LPC_HTML, LPC_INFO, LPC_LATMAX, LPC_LATMIN, LPC_LINECOLOR, LPC_LINESTYLE, LPC_LINEWIDTH, LPC_LINKRASTERIMAGEURL, LPC_LINKROTATION, LPC_LINKTEXTBASELINE, LPC_LINKTEXTFONT, LPC_LINKTEXTSTRING, LPC_LONG_DASH, LPC_LONMAX, LPC_LONMIN, LPC_MESSAGE, LPC_OLD_FILLCOLOR, LPC_OLD_FILLPATTERN, LPC_OLD_HIGHLIGHTCOLOR, LPC_OLD_LINECOLOR, LPC_OLD_LINESTYLE, LPC_OLD_LINEWIDTH, LPC_OLD_LINKTEXTFONT, LPC_OLD_LINKTEXTSTRING, LPC_PROJECTION, LPC_PROPERY_MANAGEMENT_POLICY, LPC_PROPERY_MANAGEMENT_POLICY_CHAR, LPC_REUSE_PROPERTIES, LPC_REUSE_PROPERTIES_CHAR, LPC_SCALE, LPC_SOLID, LPC_SOLID_PATTERN, LPC_TIME, LPC_URL, LPC_VERTICAL_PATTERN, LPC_WIDTH
 
Constructor Summary
LinkServer()
          Constructor used by the LinkServerStarter in using this class as a LinkServerFactory.
LinkServer(java.net.Socket s)
          Create child thread that will handle the client.
 
Method Summary
 void getRectangle(LinkMapRequest query, Link link)
          An example of how to handle GraphicsLinkQueries.
 void handleClient()
          handleClient is a method that listens to the link to a client, and responds to requests that are made.
 void handleGesture(LinkActionRequest lar, Link link)
          An example of how to handle LinkActionRequest.
 void huh(Link link)
          If a request is not handled, or not understood, reply with this.
 void run()
          From the Runnable interface.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

link

protected Link link
The Link to use to talk to the client.

Constructor Detail

LinkServer

public LinkServer()
Constructor used by the LinkServerStarter in using this class as a LinkServerFactory.


LinkServer

public LinkServer(java.net.Socket s)
Create child thread that will handle the client.

Parameters:
s - the socket to communicate over.
Method Detail

run

public void run()
From the Runnable interface. The thread starts here...

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

handleClient

public void handleClient()
                  throws java.io.IOException
handleClient is a method that listens to the link to a client, and responds to requests that are made.

Throws:
java.io.IOException

huh

public void huh(Link link)
         throws java.io.IOException
If a request is not handled, or not understood, reply with this.

Throws:
java.io.IOException

getRectangle

public void getRectangle(LinkMapRequest query,
                         Link link)
                  throws java.io.IOException
An example of how to handle GraphicsLinkQueries.

Parameters:
query - the GraphicsLinkQuery, so you can get more information about the parameters of the map screen of the client.
link - the link to communicate the response back to the client.
Throws:
java.io.IOException

handleGesture

public void handleGesture(LinkActionRequest lar,
                          Link link)
                   throws java.io.IOException
An example of how to handle LinkActionRequest.

Parameters:
lar - the LinkActionRequest, so you can get more information about the parameters of the gesture frome the client.
link - the link to communicate the response back to the client.
Throws:
java.io.IOException


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details