Class BasicHistoricalRecord

    • Constructor Detail

      • BasicHistoricalRecord

        public BasicHistoricalRecord()
      • BasicHistoricalRecord

        public BasicHistoricalRecord​(java.lang.String tableName,
                                     java.lang.String loggerName)
    • Method Detail

      • getFlavor

        public HistoryFlavor getFlavor()
        Description copied from interface: HistoricalData
        The very broad "flavor" designator, used to get the data to the correct sink. That is, different sinks support different types of data, and this is used to match them up.
        Specified by:
        getFlavor in interface HistoricalData
      • addColumn

        public void addColumn​(HistoricalColumn column)
        Adds a pre-defined column to the row. This allows the caller to provide a custom column type, or use something besides the standard ValueHistoricalColumn.
      • addColumn

        public void addColumn​(java.lang.String name)
        Creates a value column with the given name. Values must be added later with addRow.
      • addColumn

        public void addColumn​(java.lang.String name,
                              QualifiedValue value)
        Adds a column with data to the row. Quickest way to build a single row HistoricalRecord.
      • quoteColumnNames

        public boolean quoteColumnNames()
      • addRow

        public void addRow​(java.util.List<java.lang.Object> rowData)
      • getDataCount

        public int getDataCount()
        This returns the number of rows of this historical record.
        Specified by:
        getDataCount in interface HistoricalData
      • getLoggerName

        public java.lang.String getLoggerName()
        Description copied from interface: HistoricalData
        Returns the name of the logger that should be notified when something happens to this data. If null or empty, notifications won't occur (errors, however, may still be logged to the general logger).
        Specified by:
        getLoggerName in interface HistoricalData
      • setLoggerName

        public void setLoggerName​(java.lang.String loggerName)
      • getTablename

        public java.lang.String getTablename()
      • setTablename

        public void setTablename​(java.lang.String value)
      • getSchema

        public CacheOptimizedSchema getSchema()
        The basic record just returns itself as the schema. The actual values in the history columns are transient, so they don't get serialized.
        Specified by:
        getSchema in interface CacheOptimizedData
      • getSignature

        public java.lang.String getSignature()
        Description copied from interface: HistoricalData
        The signature is a static string that describes this data as uniquely as possible. This will be used to group data in the data cache (for example, when displaying quarantined data), as well as uniquely identifying cacheable schemas, etc.

        Basically, the golden rule is that if two pieces of data have the same signature, the came from the same place, and are going to the same place, and in theory could be grouped together (note: they won't be, that is done with the GroupableData interface).

        Specified by:
        getSignature in interface HistoricalData
      • getGroupId

        public java.lang.String getGroupId()
        Grouping optimization code
        Specified by:
        getGroupId in interface GroupableData
      • useBatching

        protected boolean useBatching()
        Execution code
      • storeToConnection

        public void storeToConnection​(SRConnection conn)
                               throws java.lang.Exception
        Description copied from interface: DatasourceData
        Called after passing through the store and forward system, the data should store itself to the open connection. If it cannot, it should throw an exception. After several retries, the data will be quarantined.
        Specified by:
        storeToConnection in interface DatasourceData
        Throws:
        java.lang.Exception
      • getQuery

        protected java.lang.String getQuery​(DBTranslator translator)