Interface MultiDataContext<K extends ViewTraverse<K>,​D extends DataContext>

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default java.util.List<java.lang.String> collect​(java.util.function.Predicate<K> viewFilter, java.lang.String group, java.lang.String key)
      Resolve all data values for the matching views
      default java.util.Map<java.lang.String,​java.lang.String> collectMap​(java.util.function.Predicate<K> viewFilter, java.util.function.Function<K,​java.lang.String> keyMapper, java.lang.String group, java.lang.String key)
      Resolve all data values for the matching views
      MultiDataContext<K,​D> consolidate()  
      MultiDataContext<K,​D> getBase()  
      java.util.Set<K> getConsolidatedKeys()  
      java.util.Map<K,​D> getData()  
      D getData​(K key)  
      java.util.Set<K> getKeys()  
      void merge​(MultiDataContext<K,​D> input)
      Merge another multi context
      void merge​(K key, D data)
      Merge the data into the key
      default java.lang.String resolve​(K view, java.lang.String group, java.lang.String key)
      Resolve a data value from a starting scope
      default java.lang.String resolve​(K view, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
      Resolve a data value from a starting scope or return a default
      default java.lang.String resolve​(K view, K widestScope, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
      Resolve a data value with optional scope widening or return a default value.
    • Method Detail

      • getData

        java.util.Map<K,​D> getData()
        Returns:
        keyed data
      • getData

        D getData​(K key)
        Parameters:
        key - key
        Returns:
        data for given key
      • getKeys

        java.util.Set<K> getKeys()
      • getConsolidatedKeys

        java.util.Set<K> getConsolidatedKeys()
      • merge

        void merge​(K key,
                   D data)
        Merge the data into the key
        Parameters:
        key -
        data -
      • merge

        void merge​(MultiDataContext<K,​D> input)
        Merge another multi context
        Parameters:
        input -
      • resolve

        default java.lang.String resolve​(K view,
                                         java.lang.String group,
                                         java.lang.String key)
        Resolve a data value from a starting scope
        Parameters:
        view - scope
        group - group
        key - key
        Returns:
        value or null
      • resolve

        default java.lang.String resolve​(K view,
                                         java.lang.String group,
                                         java.lang.String key,
                                         java.lang.String defaultValue)
        Resolve a data value from a starting scope or return a default
        Parameters:
        view - scope
        group - group
        key - key
        defaultValue - default value
        Returns:
        resolved value, or the default value
      • resolve

        default java.lang.String resolve​(K view,
                                         K widestScope,
                                         java.lang.String group,
                                         java.lang.String key,
                                         java.lang.String defaultValue)
        Resolve a data value with optional scope widening or return a default value. If no local value is found for the current scope, the base data set will be queried for the current scope, and any base value will be returned, before widening the search scope.
        Parameters:
        view - scope
        widestScope - maximum search scope
        group - group
        key - key
        defaultValue - default value
        Returns:
        resolved value or default value
      • collect

        default java.util.List<java.lang.String> collect​(java.util.function.Predicate<K> viewFilter,
                                                         java.lang.String group,
                                                         java.lang.String key)
        Resolve all data values for the matching views
        Parameters:
        viewFilter - view filter
        group - group
        key - key
        Returns:
        List of all resolved values, or null
      • collectMap

        default java.util.Map<java.lang.String,​java.lang.String> collectMap​(java.util.function.Predicate<K> viewFilter,
                                                                                  java.util.function.Function<K,​java.lang.String> keyMapper,
                                                                                  java.lang.String group,
                                                                                  java.lang.String key)
        Resolve all data values for the matching views
        Parameters:
        viewFilter - view filter
        group - group
        key - key
        Returns:
        List of all resolved values, or null