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

org.hyperledger.fabric.contract.annotation.Transaction Maven / Gradle / Ivy

There is a newer version: 2.5.3
Show newest version
/*
Copyright IBM Corp., DTCC All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package org.hyperledger.fabric.contract.annotation;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Method level annotation indicating the method to be a callable transaction
 * function.
 * 

* These functions are called in client SDKs by the combination of

 [contractname]:[transactioname] 
* Unless specified otherwise, the contract name is the class name (without package) and the transaction * name is the method name. */ @Retention(RUNTIME) @Target(METHOD) public @interface Transaction { /** * SUBMIT or EVALUATE semantics */ public enum TYPE { SUBMIT,EVALUATE } /** * TRUE indicates that this function is intended to be called with the 'submit' * semantics * * FALSE indicates that this is intended to be called with the evaluate * semantics * * @return boolean, default is true * @deprecated Please use intent */ @Deprecated boolean submit() default true; /** * SUBMIT - indicates that this function is intended to be called with the 'submit' semantics * EVALUATE - indicates that this is intended to be called with the 'evaluate' semantics */ TYPE intent() default Transaction.TYPE.SUBMIT; /** * The name of the callable transaction if it should be different to the method * name. * * @return the transaction name */ String name() default ""; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy