Class Maps

java.lang.Object
convex.core.data.Maps

public class Maps extends Object
Utility class for map functions
  • Field Details

    • MAX_ENCODING_SIZE

      public static int MAX_ENCODING_SIZE
  • Constructor Details

    • Maps

      public Maps()
  • Method Details

    • empty

      public static <K extends ACell,​ V extends ACell,​ R extends AHashMap<K,​ V>> R empty()
    • emptyRef

      public static <K extends ACell,​ V extends ACell,​ R extends AMap<K,​ V>> Ref<R> emptyRef()
    • create

      public static <K extends ACell,​ V extends ACell> MapLeaf<K,​V> create(K k, V v)
    • of

      public static <R extends AHashMap<K,​ V>,​ K extends ACell,​ V extends ACell> R of(Object... keysAndValues)
      Constructs a map with the given keys and values. If keys are repreated, later keys will overwrite earlier ones. Performs conversion to CVM types.
      Type Parameters:
      R - Map type
      K - Key type
      V - Value type
      Parameters:
      keysAndValues - Keys and values to include
      Returns:
      Map with given keys and values
    • create

      public static <R extends AHashMap<K,​ V>,​ K extends ACell,​ V extends ACell> R create(ACell[] keysAndValues)
      Constructs a map with the given keys and values. If keys are repreated, later keys will overwrite earlier ones. Performs conversion to CVM types.
      Type Parameters:
      R - Map type
      K - Key type
      V - Value type
      Parameters:
      keysAndValues - Keys and values to include
      Returns:
      Map with given keys and values
    • hashMapOf

      public static <K,​ V> HashMap<K,​V> hashMapOf(Object... keysAndValues)
    • create

      public static <K extends ACell,​ V extends ACell> AHashMap<K,​V> create(List<MapEntry<K,​V>> entries)
      Create a map with a collection of entries.
      Type Parameters:
      K - Key type
      V - Value type
      Parameters:
      entries - Entries to include
      Returns:
      AHashMap instance
    • createWithShift

      public static <K extends ACell,​ V extends ACell> AHashMap<K,​V> createWithShift(int shift, List<MapEntry<K,​V>> entries)
      Create a hashmap with the correct shift and given entries.
      Type Parameters:
      K - Key type
      V - Value type
      Parameters:
      shift - Shift level of map
      entries - Entries to include
      Returns:
      AHashMap instance
    • coerce

      public static <K extends ACell,​ V extends ACell,​ R extends AMap<K,​ V>> R coerce(AMap<?,​?> m)
    • read

      public static <K extends ACell,​ V extends ACell> AHashMap<K,​V> read(ByteBuffer bb) throws BadFormatException
      Read a Hashmap from a ByteBuffer. Assumes tag byte already read.
      Type Parameters:
      K - Key type
      V - Value type
      Parameters:
      bb - ByteBuffer to read from
      Returns:
      Map instance
      Throws:
      BadFormatException - If encoding is invalid