Class SharedSingletonMapTemplate<K>

java.lang.Object
org.opendaylight.yangtools.util.ImmutableMapTemplate<K>
org.opendaylight.yangtools.util.SharedSingletonMapTemplate<K>
Type Parameters:
K - the type of keys maintained by this template
All Implemented Interfaces:
Immutable

public abstract sealed class SharedSingletonMapTemplate<K> extends ImmutableMapTemplate<K>
Template for instantiating SharedSingletonMap instances with a fixed key. The template can then be used as a factory for instances via using instantiateTransformed(Map, BiFunction) or, more efficiently, using instantiateWithValue(Object).
  • Method Details

    • ordered

      public static <K> @NonNull SharedSingletonMapTemplate<K> ordered(K key)
      Create a template which produces Maps with specified key. The resulting map will retain insertion order through UnmodifiableMapPhase.toModifiableMap() transformations.
      Type Parameters:
      K - the type of keys maintained by resulting template
      Parameters:
      key - Single key in resulting map
      Returns:
      A template object.
      Throws:
      NullPointerException - if key is null
    • unordered

      public static <K> @NonNull SharedSingletonMapTemplate<K> unordered(K key)
      Create a template which produces Maps with specified key. The resulting map will NOT retain ordering through UnmodifiableMapPhase.toModifiableMap() transformations.
      Type Parameters:
      K - the type of keys maintained by resulting template
      Parameters:
      key - Single key in resulting map
      Returns:
      A template object.
      Throws:
      NullPointerException - if key is null
    • keySet

      public final SingletonSet<K> keySet()
      Description copied from class: ImmutableMapTemplate
      Returns the set of keys expected by this template, in the iteration order Maps resulting from instantiation will have.
      Specified by:
      keySet in class ImmutableMapTemplate<K>
      Returns:
      This template's key set
      See Also:
    • instantiateTransformed

      public final <T, V> @NonNull SharedSingletonMap<K,V> instantiateTransformed(Map<K,T> fromMap, BiFunction<K,T,V> valueTransformer)
      Description copied from class: ImmutableMapTemplate
      Instantiate an immutable map by applying specified transformer to values of fromMap.
      Specified by:
      instantiateTransformed in class ImmutableMapTemplate<K>
      Type Parameters:
      T - the type of input values
      V - the type of mapped values
      Parameters:
      fromMap - Input map
      valueTransformer - Transformation to apply to values
      Returns:
      An immutable map
    • instantiateWithValues

      @SafeVarargs public final <V> @NonNull SharedSingletonMap<K,V> instantiateWithValues(V... values)
      Description copied from class: ImmutableMapTemplate
      Instantiate an immutable map by filling values from provided array. The array MUST be ordered to match key order as returned by ImmutableMapTemplate.keySet().
      Specified by:
      instantiateWithValues in class ImmutableMapTemplate<K>
      Type Parameters:
      V - the type of mapped values
      Parameters:
      values - Values to use
      Returns:
      An immutable map
    • instantiateWithValue

      public abstract <V> @NonNull SharedSingletonMap<K,V> instantiateWithValue(V value)
      Instantiate an immutable map with the value supplied.
      Type Parameters:
      V - the type of mapped values
      Parameters:
      value - Value to use
      Returns:
      An immutable map
      Throws:
      NullPointerException - if value is null
    • toString

      public final String toString()
      Overrides:
      toString in class Object