Class KMLViewer.WorkerThread

  • All Implemented Interfaces:
    java.lang.Runnable
    Enclosing class:
    KMLViewer

    public static class KMLViewer.WorkerThread
    extends java.lang.Thread
    A Thread that loads a KML file and displays it in an AppFrame.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected KMLViewer.AppFrame appFrame
      Indicates the AppFrame the KML file content is displayed in.
      protected java.lang.Object kmlSource
      Indicates the source of the KML file loaded by this thread.
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Constructor Summary

      Constructors 
      Constructor Description
      WorkerThread​(java.lang.Object kmlSource, KMLViewer.AppFrame appFrame)
      Creates a new worker thread from a specified kmlSource and appFrame.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected KMLRoot parse()
      Parse the KML document.
      void run()
      Loads this worker thread's KML source into a new KMLRoot, then adds the new KMLRoot to this worker thread's AppFrame.
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, toString, yield
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • kmlSource

        protected java.lang.Object kmlSource
        Indicates the source of the KML file loaded by this thread. Initialized during construction.
      • appFrame

        protected KMLViewer.AppFrame appFrame
        Indicates the AppFrame the KML file content is displayed in. Initialized during construction.
    • Constructor Detail

      • WorkerThread

        public WorkerThread​(java.lang.Object kmlSource,
                            KMLViewer.AppFrame appFrame)
        Creates a new worker thread from a specified kmlSource and appFrame.
        Parameters:
        kmlSource - the source of the KML file to load. May be a File, a URL, or an InputStream, or a String identifying a file path or URL.
        appFrame - the AppFrame in which to display the KML source.
    • Method Detail

      • run

        public void run()
        Loads this worker thread's KML source into a new KMLRoot, then adds the new KMLRoot to this worker thread's AppFrame. The KMLRoot's AVKey.DISPLAY_NAME field contains a display name created from either the KML source or the KML root feature name.

        If loading the KML source fails, this prints the exception and its stack trace to the standard error stream, but otherwise does nothing.

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

        protected KMLRoot parse()
                         throws java.io.IOException,
                                javax.xml.stream.XMLStreamException
        Parse the KML document.
        Returns:
        The parsed document.
        Throws:
        java.io.IOException - if the document cannot be read.
        javax.xml.stream.XMLStreamException - if document cannot be parsed.