Class DatabaseResultListener

    • Constructor Detail

      • DatabaseResultListener

        public DatabaseResultListener()
                               throws java.lang.Exception
        Sets up the database drivers
        Throws:
        java.lang.Exception - if an error occurs
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this result listener
        Returns:
        a description of the result listener suitable for displaying in the explorer/experimenter gui
      • preProcess

        public void preProcess​(ResultProducer rp)
                        throws java.lang.Exception
        Prepare for the results to be received.
        Specified by:
        preProcess in interface ResultListener
        Parameters:
        rp - the ResultProducer that will generate the results
        Throws:
        java.lang.Exception - if an error occurs during preprocessing.
      • postProcess

        public void postProcess​(ResultProducer rp)
                         throws java.lang.Exception
        Perform any postprocessing. When this method is called, it indicates that no more results will be sent that need to be grouped together in any way.
        Specified by:
        postProcess in interface ResultListener
        Parameters:
        rp - the ResultProducer that generated the results
        Throws:
        java.lang.Exception - if an error occurs
      • determineColumnConstraints

        public java.lang.String[] determineColumnConstraints​(ResultProducer rp)
                                                      throws java.lang.Exception
        Determines if there are any constraints (imposed by the destination) on any additional measures produced by resultProducers. Null should be returned if there are NO constraints, otherwise a list of column names should be returned as an array of Strings. In the case of DatabaseResultListener, the structure of an existing database will impose constraints.
        Specified by:
        determineColumnConstraints in interface ResultListener
        Parameters:
        rp - the ResultProducer to which the constraints will apply
        Returns:
        an array of column names to which resutltProducer's results will be restricted.
        Throws:
        java.lang.Exception - if an error occurs.
      • acceptResult

        public void acceptResult​(ResultProducer rp,
                                 java.lang.Object[] key,
                                 java.lang.Object[] result)
                          throws java.lang.Exception
        Submit the result to the appropriate table of the database
        Specified by:
        acceptResult in interface ResultListener
        Parameters:
        rp - the ResultProducer that generated the result
        key - The key for the results.
        result - The actual results.
        Throws:
        java.lang.Exception - if the result couldn't be sent to the database
      • isResultRequired

        public boolean isResultRequired​(ResultProducer rp,
                                        java.lang.Object[] key)
                                 throws java.lang.Exception
        Always says a result is required. If this is the first call, prints out the header for the Database output.
        Specified by:
        isResultRequired in interface ResultListener
        Parameters:
        rp - the ResultProducer wanting to generate the result
        key - The key for which a result may be needed.
        Returns:
        true if the result should be calculated.
        Throws:
        java.lang.Exception - if the database couldn't be queried
      • cacheKeyNameTipText

        public java.lang.String cacheKeyNameTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getCacheKeyName

        public java.lang.String getCacheKeyName()
        Get the value of CacheKeyName.
        Returns:
        Value of CacheKeyName.
      • setCacheKeyName

        public void setCacheKeyName​(java.lang.String newCacheKeyName)
        Set the value of CacheKeyName.
        Parameters:
        newCacheKeyName - Value to assign to CacheKeyName.