All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.casper.sdk.model.entity.contract.Package Maven / Gradle / Ivy

Go to download

SDK to streamline the 3rd party Java client integration processes. Such 3rd parties include exchanges & app developers.

The newest version!
package com.casper.sdk.model.entity.contract;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;

import java.util.List;

/**
 * Package associated with a native contract implementation
 *
 * @author [email protected]
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Package {

    /** All versions (enabled and disabled) */
    @JsonProperty("versions")
    private List versions;

    /** Collection of disabled entity versions.
     * The runtime will not permit disabled entity versions to be executed */
    @JsonProperty("disabled_versions")
    private List disabledVersions;

    /** Mapping maintaining the set of URefs associated with each "user group".
     *  This can be used to control access to methods in a particular version of the entity.
     *  A method is callable by any context which "knows" any of the URefs associated with the method's user group */
    @JsonProperty("groups")
    private List groups;

    /** A flag that determines whether an entity is locked */
    @JsonProperty("lock_status")
    private PackageStatus lockStatus;

    /**
     * Determines the lock status of the package
     */
    public enum PackageStatus {
        // The package is locked and cannot be versioned
        Locked,
        // The package is unlocked and can be versioned
        Unlocked
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy