Interface TakamakaClassLoader

    • Method Detail

      • of

        static TakamakaClassLoader of​(Stream<byte[]> jars,
                                      int verificationVersion)
        Builds a class loader with the given jars, given as byte arrays.
        Parameters:
        jars - the jars
        verificationVersion - the version of the verification module that must b e used; this affects the set of white-listing annotations used by the class loader
      • isStorage

        boolean isStorage​(String className)
        Determines if a class is an instance of the storage class.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that class extends io.takamaka.code.lang.Storage
      • isContract

        boolean isContract​(String className)
        Checks if a class is an instance of the contract class.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isConsensusUpdateEvent

        boolean isConsensusUpdateEvent​(String className)
        Checks if a class is an instance of the consensus update event class.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isGasPriceUpdateEvent

        boolean isGasPriceUpdateEvent​(String className)
        Checks if a class is an instance of the gas price update event class.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isValidatorsUpdateEvent

        boolean isValidatorsUpdateEvent​(String className)
        Checks if a class is an instance of the validators update event class.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isa

        boolean isa​(String className,
                    String superclassName)
        Checks if a class is an instance of another class.
        Parameters:
        className - the class
        superclassName - the potential superclass of className
        Returns:
        true if and only if className is a subclass of superclassName
      • isExported

        boolean isExported​(String className)
        Checks if a class is annotated as @@Exported.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isInterface

        boolean isInterface​(String className)
        Checks if a class is actually an interface.
        Parameters:
        className - the name of the class
        Returns:
        true if and only if that condition holds
      • isLazilyLoaded

        boolean isLazilyLoaded​(Class<?> type)
        Determines if a field of a storage class, having the given field, is lazily loaded.
        Parameters:
        type - the type
        Returns:
        true if and only if that condition holds
      • isEagerlyLoaded

        boolean isEagerlyLoaded​(Class<?> type)
        Determines if a field of a storage class, having the given field, is eagerly loaded.
        Parameters:
        type - the type
        Returns:
        true if and only if that condition holds
      • getContract

        Class<?> getContract()
        Yields the class token of the contract class.
        Returns:
        the class token
      • getStorage

        Class<?> getStorage()
        Yields the class token of the storage class.
        Returns:
        the class token
      • getAccount

        Class<?> getAccount()
        Yields the class token of the account interface.
        Returns:
        the class token
      • getAccountED25519

        Class<?> getAccountED25519()
        Yields the class token of the interface for accounts that use the ed25519 algorithm for signing transactions.
        Returns:
        the class token
      • getAccountQTESLA1

        Class<?> getAccountQTESLA1()
        Yields the class token of the interface for accounts that use the qtesla-p-I algorithm for signing transactions.
        Returns:
        the class token
      • getAccountQTESLA3

        Class<?> getAccountQTESLA3()
        Yields the class token of the interface for accounts that use the qtesla-p-III algorithm for signing transactions.
        Returns:
        the class token
      • getAccountSHA256DSA

        Class<?> getAccountSHA256DSA()
        Yields the class token of the interface for accounts that use the sha256dsa algorithm for signing transactions.
        Returns:
        the class token
      • getExternallyOwnedAccount

        Class<?> getExternallyOwnedAccount()
        Yields the class token of the externally owned account class.
        Returns:
        the class token
      • getGamete

        Class<?> getGamete()
        Yields the class token of gamete class.
        Returns:
        the class token