Class NetdataAdapter

  • All Implemented Interfaces:
    eu.binjr.core.data.adapters.DataAdapter<java.lang.Double>, java.lang.AutoCloseable

    public class NetdataAdapter
    extends eu.binjr.core.data.adapters.HttpDataAdapter<java.lang.Double>
    A DataAdapter implementation capable of consuming data from the Netdata (https://netdata.cloud) API.
    • Field Summary

      • Fields inherited from class eu.binjr.core.data.adapters.HttpDataAdapter

        BASE_ADDRESS_PARAM_NAME
      • Fields inherited from class eu.binjr.core.data.adapters.SimpleCachingDataAdapter

        DEFAULT_CACHE_SIZE
      • Fields inherited from class eu.binjr.core.data.adapters.SerializedDataAdapter

        closed
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.net.URI craftFetchUri​(java.lang.String path, java.time.Instant begin, java.time.Instant end)  
      static eu.binjr.core.data.adapters.DataAdapter<java.lang.Double> fromUrl​(java.lang.String address, java.time.ZoneId zoneId)
      Returns a new instance of NetdataAdapter for the provided address and time zone.
      org.eclipse.fx.ui.controls.tree.FilterableTreeItem<eu.binjr.core.data.adapters.SourceBinding> getBindingTree()  
      eu.binjr.core.data.codec.Decoder<java.lang.Double> getDecoder()  
      java.lang.String getEncoding()  
      eu.binjr.common.javafx.controls.TimeRange getInitialTimeRange​(java.lang.String path, java.util.List<eu.binjr.core.data.workspace.TimeSeriesInfo<java.lang.Double>> seriesInfo)  
      java.lang.String getSourceName()  
      java.time.ZoneId getTimeZoneId()  
      boolean isSortingRequired()  
      • Methods inherited from class eu.binjr.core.data.adapters.HttpDataAdapter

        close, craftRequestUri, craftRequestUri, createSslCustomContext, doHttpGet, getBaseAddress, getParams, httpClientFactory, loadParams, onCacheMiss, ping, setBaseAddress, urlFromString
      • Methods inherited from class eu.binjr.core.data.adapters.SimpleCachingDataAdapter

        fetchRawData
      • Methods inherited from class eu.binjr.core.data.adapters.SerializedDataAdapter

        fetchData
      • Methods inherited from class eu.binjr.core.data.adapters.BaseDataAdapter

        getId, isClosed, onStart, setId, toString, validateParameter, validateParameterNullity
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface eu.binjr.core.data.adapters.DataAdapter

        getAdapterInfo
    • Constructor Detail

      • NetdataAdapter

        public NetdataAdapter()
                       throws eu.binjr.core.data.exceptions.CannotInitializeDataAdapterException
        Initialises a new instance of the NetdataAdapter class.
        Throws:
        eu.binjr.core.data.exceptions.CannotInitializeDataAdapterException - if an error occurs while initializing the adapter.
    • Method Detail

      • fromUrl

        public static eu.binjr.core.data.adapters.DataAdapter<java.lang.Double> fromUrl​(java.lang.String address,
                                                                                        java.time.ZoneId zoneId)
                                                                                 throws eu.binjr.core.data.exceptions.CannotInitializeDataAdapterException
        Returns a new instance of NetdataAdapter for the provided address and time zone.
        Parameters:
        address - the address of a Netdata server.
        zoneId - the desired time zone.
        Returns:
        a new instance of NetdataAdapter for the provided address and time zone.
        Throws:
        eu.binjr.core.data.exceptions.CannotInitializeDataAdapterException - if an error occurs while initializing the adapter.
      • craftFetchUri

        protected java.net.URI craftFetchUri​(java.lang.String path,
                                             java.time.Instant begin,
                                             java.time.Instant end)
                                      throws eu.binjr.core.data.exceptions.DataAdapterException
        Specified by:
        craftFetchUri in class eu.binjr.core.data.adapters.HttpDataAdapter<java.lang.Double>
        Throws:
        eu.binjr.core.data.exceptions.DataAdapterException
      • isSortingRequired

        public boolean isSortingRequired()
      • getDecoder

        public eu.binjr.core.data.codec.Decoder<java.lang.Double> getDecoder()
        Specified by:
        getDecoder in class eu.binjr.core.data.adapters.SerializedDataAdapter<java.lang.Double>
      • getBindingTree

        public org.eclipse.fx.ui.controls.tree.FilterableTreeItem<eu.binjr.core.data.adapters.SourceBinding> getBindingTree()
                                                                                                                     throws eu.binjr.core.data.exceptions.DataAdapterException
        Throws:
        eu.binjr.core.data.exceptions.DataAdapterException
      • getEncoding

        public java.lang.String getEncoding()
      • getTimeZoneId

        public java.time.ZoneId getTimeZoneId()
      • getInitialTimeRange

        public eu.binjr.common.javafx.controls.TimeRange getInitialTimeRange​(java.lang.String path,
                                                                             java.util.List<eu.binjr.core.data.workspace.TimeSeriesInfo<java.lang.Double>> seriesInfo)
                                                                      throws eu.binjr.core.data.exceptions.DataAdapterException
        Throws:
        eu.binjr.core.data.exceptions.DataAdapterException
      • getSourceName

        public java.lang.String getSourceName()