wonderly.jeaprs
Class JeAPRS

java.lang.Object
  |
  +--org.xml.sax.helpers.DefaultHandler
        |
        +--wonderly.jeaprs.JeAPRS
All Implemented Interfaces:
BrowserAccess, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class JeAPRS
extends org.xml.sax.helpers.DefaultHandler
implements BrowserAccess

This is the main class for the JeAPRS application

Version:
1.0
Author:
Gregg Wonderly - The information contained in this document is Copyright 2001-2003, Gregg Wonderly, all rights reserved.

Nested Class Summary
 class JeAPRS.PosImageIcon
           
 class JeAPRS.SocketAPRS
           
 class JeAPRS.StationImageIcon
           
 
Constructor Summary
JeAPRS(java.lang.String[] args)
           
 
Method Summary
static void addAPRSEventListener(wonderly.jeaprs.aprs.packet.APRSEventListener evl)
           
static void addAPRSEventListener(wonderly.jeaprs.Client c)
           
static void addDirectStation(java.lang.String call)
           
 void addKnownClient(wonderly.jeaprs.Client c, javax.swing.JFrame frame, javax.swing.JDesktopPane clPane, boolean opened)
           
static void addKnownEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator evGen)
           
static void addKnownInputStream(wonderly.jeaprs.io.aprs.APRSInput in)
           
static void addKnownOutputStream(wonderly.jeaprs.io.aprs.APRSOutput out)
           
static void addKnownStation(java.lang.String call)
           
static boolean addModuleAction(java.lang.String key, javax.swing.Action act)
           
 void buildActions(java.util.Hashtable actions)
           
 void characters(char[] arr, int start, int len)
           
static void deregisterAPRSEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator gen)
           
static void drawIcon(java.awt.Graphics g, int x, java.awt.Point p, int over, boolean overlayNum)
           
 void endDocument()
           
 void endElement(java.lang.String namespace, java.lang.String elem, java.lang.String qName)
           
 void endPrefixMapping(java.lang.String prefix)
           
static wonderly.jeaprs.Client findClient(java.lang.String name)
           
 wonderly.jeaprs.aprs.APRSAction getAction(java.lang.String name)
           
static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.io.File name)
          Get an AudioClip object to play the passed sound in the indicated File
static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.net.URL url)
          Get an AudioClip object to play the passed sound at the indicated URL
static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.net.URL url, java.lang.String name)
          Get an AudioClip object to play the passed sound at the indicated URL
 java.net.URL getCodeBase()
           
 java.lang.String getCopyrightString()
           
 java.util.Properties getDefaultProperties(java.lang.String file, java.lang.String msg)
           
static java.util.Enumeration getDirectStations()
           
static java.util.Date getDirectStationTime(java.lang.String call)
           
 wonderly.jeaprs.aprs.APRSStreamHandler getHandler()
           
static java.awt.Image getIconImage(int x)
           
 java.awt.Image getImage(java.net.URL u)
           
 java.awt.Image getImage(java.net.URL url, java.lang.String name)
           
static java.util.Enumeration getKnownClients()
           
static java.util.Vector getKnownGenerators()
           
static java.util.Vector getKnownInputs()
           
static java.util.Vector getKnownOutputs()
           
static java.util.Vector getKnownStations()
           
 java.lang.String getParameter(java.lang.String name)
           
static java.util.Properties getPropertiesForObject(java.lang.Object cls)
          This method uses introspection to find the properties for the passed object and turn them into a Properties object.
static wonderly.jeaprs.aprs.data.APRS getPropertiesInstance()
           
static java.io.InputStream getTNCStream()
           
static wonderly.jeaprs.aprs.data.APRSUI getUI()
           
 void ignorableWhitespace(char[] arr, int start, int len)
           
 void loadPropertiesModules(java.lang.String props)
           
static void main(java.lang.String[] args)
           
 void openAMapFrame(java.lang.String name)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 byte[] readURL(java.net.URL url)
           
 byte[] readURL(java.net.URL url, java.lang.String name)
           
static void registerAPRSEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator gen)
           
 void registerMappedKeyStrokes(javax.swing.JComponent c)
           
 void registerTnc(wonderly.jeaprs.TNC tnc, java.lang.String name)
           
static void removeAPRSEventListener(wonderly.jeaprs.aprs.packet.APRSEventListener evl)
           
static void savePropertiesFor(java.lang.String client, java.util.Properties p)
           
 java.lang.String selectAPRSSite()
           
static void sendPacket(wonderly.jeaprs.aprs.packet.APRSData data)
           
 void setDefaultMap(java.lang.String map, boolean openAtStartup)
           
 void setDocumentLocator(org.xml.sax.Locator loc)
           
static void setPropertiesOn(wonderly.jeaprs.Client c, javax.swing.JInternalFrame frm)
           
static void setUpIcons()
           
static void setViaReflection(java.lang.Object cls, java.util.Properties props)
          This method takes the passed object and a set of properties and uses reflection to set the property values for the object to the values inside the property object.
static wonderly.jeaprs.aprs.DynamicTextHandler showDynamicText(java.lang.String title, java.lang.String str)
           
 void showStatus(java.lang.String msg)
           
static void showText(java.lang.String title, java.lang.String str)
           
 void skippedEntity(java.lang.String name)
           
 void start()
           
 void startDocument()
           
 void startElement(java.lang.String namespace, java.lang.String qName, java.lang.String elem, org.xml.sax.Attributes attrs)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
static double stationDistanceMiles(long lt1, long lg1, long lt2, long lg2)
          Values are in seconds of arc!
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
error, fatalError, notationDecl, resolveEntity, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JeAPRS

public JeAPRS(java.lang.String[] args)
Method Detail

getKnownStations

public static java.util.Vector getKnownStations()

setDefaultMap

public void setDefaultMap(java.lang.String map,
                          boolean openAtStartup)
Specified by:
setDefaultMap in interface BrowserAccess

addKnownStation

public static void addKnownStation(java.lang.String call)

getPropertiesInstance

public static wonderly.jeaprs.aprs.data.APRS getPropertiesInstance()
Returns:
the APRS instance used by the application

setViaReflection

public static void setViaReflection(java.lang.Object cls,
                                    java.util.Properties props)
                             throws java.beans.IntrospectionException,
                                    java.beans.PropertyVetoException,
                                    java.lang.reflect.InvocationTargetException,
                                    java.lang.IllegalAccessException
This method takes the passed object and a set of properties and uses reflection to set the property values for the object to the values inside the property object.

Parameters:
cls - an object to set properties on
props - the property values to set on cls.
Throws:
java.beans.IntrospectionException - if an error occurs during introspection.
java.beans.PropertyVetoException - if a boolean property value is not one of (0,1,"yes","no","true","false")
java.lang.reflect.InvocationTargetException - if there is a problem invoking the property setting method.
java.lang.IllegalAccessException - if the property setting method can not be accessed.
See Also:
getPropertiesForObject(java.lang.Object)

getPropertiesForObject

public static java.util.Properties getPropertiesForObject(java.lang.Object cls)
                                                   throws java.beans.IntrospectionException,
                                                          java.lang.reflect.InvocationTargetException,
                                                          java.lang.IllegalAccessException
This method uses introspection to find the properties for the passed object and turn them into a Properties object.

Parameters:
cls - the object to get the properties for
Throws:
java.beans.IntrospectionException - if there are problems accessing the object
java.lang.reflect.InvocationTargetException - if the property reader can not be invoked
java.lang.IllegalAccessException - if the object is not accessible,
See Also:
setViaReflection(java.lang.Object, java.util.Properties)

getTNCStream

public static java.io.InputStream getTNCStream()
                                        throws java.io.IOException
java.io.IOException

getUI

public static wonderly.jeaprs.aprs.data.APRSUI getUI()

addDirectStation

public static void addDirectStation(java.lang.String call)

getDirectStations

public static java.util.Enumeration getDirectStations()

getDirectStationTime

public static java.util.Date getDirectStationTime(java.lang.String call)

getHandler

public wonderly.jeaprs.aprs.APRSStreamHandler getHandler()

main

public static void main(java.lang.String[] args)

getAction

public wonderly.jeaprs.aprs.APRSAction getAction(java.lang.String name)

start

public void start()

registerMappedKeyStrokes

public void registerMappedKeyStrokes(javax.swing.JComponent c)

getDefaultProperties

public java.util.Properties getDefaultProperties(java.lang.String file,
                                                 java.lang.String msg)

loadPropertiesModules

public void loadPropertiesModules(java.lang.String props)
                           throws java.io.FileNotFoundException
java.io.FileNotFoundException

registerTnc

public void registerTnc(wonderly.jeaprs.TNC tnc,
                        java.lang.String name)

findClient

public static wonderly.jeaprs.Client findClient(java.lang.String name)

setPropertiesOn

public static void setPropertiesOn(wonderly.jeaprs.Client c,
                                   javax.swing.JInternalFrame frm)

savePropertiesFor

public static void savePropertiesFor(java.lang.String client,
                                     java.util.Properties p)

addKnownClient

public void addKnownClient(wonderly.jeaprs.Client c,
                           javax.swing.JFrame frame,
                           javax.swing.JDesktopPane clPane,
                           boolean opened)

addKnownEventGenerator

public static void addKnownEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator evGen)

addKnownOutputStream

public static void addKnownOutputStream(wonderly.jeaprs.io.aprs.APRSOutput out)

addKnownInputStream

public static void addKnownInputStream(wonderly.jeaprs.io.aprs.APRSInput in)

getIconImage

public static java.awt.Image getIconImage(int x)

drawIcon

public static void drawIcon(java.awt.Graphics g,
                            int x,
                            java.awt.Point p,
                            int over,
                            boolean overlayNum)

setUpIcons

public static void setUpIcons()

stationDistanceMiles

public static double stationDistanceMiles(long lt1,
                                          long lg1,
                                          long lt2,
                                          long lg2)
Values are in seconds of arc!


registerAPRSEventGenerator

public static void registerAPRSEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator gen)

deregisterAPRSEventGenerator

public static void deregisterAPRSEventGenerator(wonderly.jeaprs.aprs.packet.APRSEventGenerator gen)

addAPRSEventListener

public static void addAPRSEventListener(wonderly.jeaprs.aprs.packet.APRSEventListener evl)

addAPRSEventListener

public static void addAPRSEventListener(wonderly.jeaprs.Client c)

removeAPRSEventListener

public static void removeAPRSEventListener(wonderly.jeaprs.aprs.packet.APRSEventListener evl)

sendPacket

public static void sendPacket(wonderly.jeaprs.aprs.packet.APRSData data)
                       throws java.io.IOException,
                              InvalidPacketConfigurationException
java.io.IOException
InvalidPacketConfigurationException

showText

public static void showText(java.lang.String title,
                            java.lang.String str)

showDynamicText

public static wonderly.jeaprs.aprs.DynamicTextHandler showDynamicText(java.lang.String title,
                                                                      java.lang.String str)

showStatus

public void showStatus(java.lang.String msg)
Specified by:
showStatus in interface BrowserAccess

getParameter

public java.lang.String getParameter(java.lang.String name)
Specified by:
getParameter in interface BrowserAccess

readURL

public byte[] readURL(java.net.URL url)
               throws java.io.IOException
java.io.IOException

readURL

public byte[] readURL(java.net.URL url,
                      java.lang.String name)
               throws java.io.IOException
java.io.IOException

getImage

public java.awt.Image getImage(java.net.URL url,
                               java.lang.String name)
                        throws java.net.MalformedURLException,
                               java.io.IOException
Specified by:
getImage in interface BrowserAccess
java.net.MalformedURLException
java.io.IOException

getImage

public java.awt.Image getImage(java.net.URL u)
                        throws java.net.MalformedURLException,
                               java.io.IOException
Specified by:
getImage in interface BrowserAccess
java.net.MalformedURLException
java.io.IOException

getAudioClip

public static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.net.URL url,
                                                            java.lang.String name)
Get an AudioClip object to play the passed sound at the indicated URL


getAudioClip

public static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.net.URL url)
                                                     throws java.io.IOException
Get an AudioClip object to play the passed sound at the indicated URL

java.io.IOException

getAudioClip

public static wonderly.jeaprs.JeAPRS.AudioClip getAudioClip(java.io.File name)
                                                     throws java.io.IOException
Get an AudioClip object to play the passed sound in the indicated File

java.io.IOException

getCodeBase

public java.net.URL getCodeBase()
                         throws java.net.MalformedURLException
Specified by:
getCodeBase in interface BrowserAccess
java.net.MalformedURLException

getCopyrightString

public java.lang.String getCopyrightString()
Specified by:
getCopyrightString in interface BrowserAccess

openAMapFrame

public void openAMapFrame(java.lang.String name)

addModuleAction

public static boolean addModuleAction(java.lang.String key,
                                      javax.swing.Action act)

buildActions

public void buildActions(java.util.Hashtable actions)

selectAPRSSite

public java.lang.String selectAPRSSite()

getKnownClients

public static java.util.Enumeration getKnownClients()

getKnownGenerators

public static java.util.Vector getKnownGenerators()

getKnownOutputs

public static java.util.Vector getKnownOutputs()

getKnownInputs

public static java.util.Vector getKnownInputs()

characters

public void characters(char[] arr,
                       int start,
                       int len)
Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler

ignorableWhitespace

public void ignorableWhitespace(char[] arr,
                                int start,
                                int len)
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Overrides:
ignorableWhitespace in class org.xml.sax.helpers.DefaultHandler

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Overrides:
processingInstruction in class org.xml.sax.helpers.DefaultHandler

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator loc)
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler
Overrides:
setDocumentLocator in class org.xml.sax.helpers.DefaultHandler

startDocument

public void startDocument()
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Overrides:
startDocument in class org.xml.sax.helpers.DefaultHandler

endDocument

public void endDocument()
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Overrides:
endDocument in class org.xml.sax.helpers.DefaultHandler

startElement

public void startElement(java.lang.String namespace,
                         java.lang.String qName,
                         java.lang.String elem,
                         org.xml.sax.Attributes attrs)
Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler

skippedEntity

public void skippedEntity(java.lang.String name)
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Overrides:
skippedEntity in class org.xml.sax.helpers.DefaultHandler

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Overrides:
startPrefixMapping in class org.xml.sax.helpers.DefaultHandler

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Overrides:
endPrefixMapping in class org.xml.sax.helpers.DefaultHandler

endElement

public void endElement(java.lang.String namespace,
                       java.lang.String elem,
                       java.lang.String qName)
Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler