Package convex.core.data


package convex.core.data
Data structures and algorithms, including a complete set of classes required to implement immutable, decentralised data objects.
  • Class
    Description
    Abstract base class for binary data stored in Java arrays.
    Abstract base class for data objects containing immutable chunks of binary data.
    ABlobMap<K extends ABlob,V extends ACell>
    Abstract base class for BlobMaps: a sorted radix-tree map of Blobs to Values.
    Immutable class representing an Ed25519 Public Key for an Account
    Class representing the current on-chain status of an account.
    Abstract base class for Cells.
    ACollection<T extends ACell>
    Abstract base class for Persistent Merkle Collections
    ACountable<E extends ACell>
    Abstract base class for Countable objects.
    Abstract base class for Persistent data structures.
    Immutable class representing an Address, generally used to uniquely identify an Account.
    AHashMap<K extends ACell,V extends ACell>
     
    AHashSet<T extends ACell>
     
    AList<T extends ACell>
    Abstract base class for lists.
     
    AMap<K extends ACell,V extends ACell>
    Abstract base class for maps.
    AMapEntry<K extends ACell,V extends ACell>
     
     
    Base class for Record data types.
    Abstract base class for generic records.
    ASequence<T extends ACell>
    Abstract base class for concrete sequential data structure (immutable persistent lists and vectors etc.)
    ASet<T extends ACell>
    Abstract based class for sets.
    Abstract base Class representing a CVM String.
    Abstract based class for symbolic objects (Keywords, Symbols)
    AVector<T extends ACell>
    Abstract base class for vectors.
    General purpose immutable wrapper for byte array data.
    Similar to Java StringBuilder designed for concatenating multiple small Blobs to produce a larger Blob.
    BlobMap<K extends ABlob,V extends ACell>
    BlobMap node implementation supporting: An optional prefix string An optional entry with this prefix Up to 16 child entries at the next level of depth
     
     
    Implementation of a large Blob data structure consisting of 2 or more chunks.
    Static utility class for message format encoding "Standards are always out of date.
    Class used to represent an immutable 32-byte Hash value.
    IAssociative<K extends ACell,V extends ACell>
    Interface for associative data structures
    Functional interface for operations on Cell Refs that may throw a MissingDataException In general, IRefFunction is used to provide a visitor for data objects containing nested Refs.
    Interface for classes that can be validated
     
    Keyword data type.
    Static Keyword values for configuration maps, records etc.
    List<T extends ACell>
    Implementation of a list wrapping a vector.
     
    Wrapper for an 8-byte long as a Blob We use this mainly for efficient management of indexes using Longs in BlobMaps.
    MapEntry<K extends ACell,V extends ACell>
    Map.Entry implementation for persistent maps.
    MapLeaf<K extends ACell,V extends ACell>
    Limited size Persistent Merkle Map implemented as a small sorted list of Key/Value pairs Must be sorted by Key hash value to ensure uniqueness of representation
    Utility class for map functions
    MapTree<K extends ACell,V extends ACell>
    Persistent Map for large hash maps requiring tree structure.
    Class describing the on-chain state of a Peer declared on the network.
    Ref<T extends ACell>
    Class representing a smart reference to a decentralised data value.
    RefDirect<T extends ACell>
    Ref subclass for direct in-memory references.
    Static utilities for working with Refs
     
    RefSoft<T extends ACell>
    Reference class implemented via a soft reference and store lookup.
    SetLeaf<T extends ACell>
    Limited size Persistent Merkle Set implemented as a small sorted list of Values Must be sorted by Key hash value to ensure uniqueness of representation
     
    SetTree<T extends ACell>
    Persistent Set for large hash sets requiring tree structure.
    SignedData<T extends ACell>
    Node representing a signed data object.
     
    Class representing a short CVM string, backed by a flat Blob Used for most small strings, and acts as the leaf chunk for StringTrees
    AString subclass representing a subsequence of some Blob data
    String implementation class wrapping a BlobTree.
    Class representing a Symbol.
    Class representing a Syntax Object.
    Class containing constant Tag values.
    VectorArray<T extends ACell>
    Experimental: implementation of AVector backed by a Java array for temporary usage purposes.
    VectorBuilder<T extends ACell>
    Similar to Java StringBuilder designed for concatenating multiple small Vectors to produce a larger Vector.
    VectorLeaf<T extends ACell>
    A Persistent Vector implementation representing 0-16 elements with a packed Vector prefix.
    Static utility functions for working with Vectors
    VectorTree<T extends ACell>
    Persistent Vector implemented as a merkle tree of chunks shift indicates the level of the tree: 4 = 1st level, 8 = second etc.