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.
  • Interface Summary
    Interface
    Description
    IAssociative<K extends ACell,​V extends ACell>
    Interface for associative data structures
    Interface for CVM Numeric types
    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
     
  • Class Summary
    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 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.
    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 Blobs which represent an integral numeric value
     
    Base class for record data types.
    Abstract base class for generic records.
    ASequence<T extends ACell>
    Abstract base class for persistent lists and vectors
    ASet<T extends ACell>
    Abstract based class for sets.
    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.
    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.
    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 blob We use this 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 object.
    RefDirect<T extends ACell>
    Ref subclass for direct in-memory references.
    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.
    AString subclass representing a subsequence of another charsequence
     
    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.
    VectorLeaf<T extends ACell>
    A Persistent Vector implementation representing 0-16 elements with a packed Vector prefix.
     
    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.