unquietcode.tools.flapi.builder.Method.Sb6527425d985a8d2afdeb86d0b8982ba Maven / Gradle / Ivy
package unquietcode.tools.flapi.builder.Method;
import javax.annotation.Generated;
import unquietcode.tools.flapi.runtime.ChainInfo;
import unquietcode.tools.flapi.runtime.MethodInfo;
import unquietcode.tools.flapi.runtime.TransitionType;
/**
* This class was generated using Flapi, the fluent API generator for Java.
* Modifications to this file will be lost upon regeneration.
* You have been warned!
*
* Visit https://github.com/UnquietCode/Flapi for more information.
*
*
* Generated on February 29, 2016 19:16:13 PST using version 1.0
* @see unquietcode.tools.flapi.builder.Method.MethodHelper
*/
@Generated(value = "unquietcode.tools.flapi", date = "2016-02-29T19:16:13-08:00", comments = "generated using Flapi, the fluent API generator for Java, version 1.0")
public interface Sb6527425d985a8d2afdeb86d0b8982ba<_ReturnType> {
/**
* Adds a custom annotation to the method.
*/
@MethodInfo(type = TransitionType.Recursive, chainInfo = {
@ChainInfo(type = unquietcode.tools.flapi.builder.Annotation.AnnotationBuilder.Head.class, position = 1)
})
unquietcode.tools.flapi.builder.Annotation.AnnotationBuilder.Head> addAnnotation(Class> annotation);
@MethodInfo(type = TransitionType.Recursive, chainInfo = {
@ChainInfo(type = unquietcode.tools.flapi.builder.Annotation.AnnotationBuilder.Head.class, position = 1)
})
unquietcode.tools.flapi.builder.Annotation.AnnotationBuilder.Head> addAnnotation(String annotation);
/**
* Add a BlockChain, which is a sequence of blocks which must be passed through
* before the method returns.
*/
@MethodInfo(type = TransitionType.Lateral, next = Sdfc102f4ceaba318c0c02631e806b863 .class, chainInfo = {
@ChainInfo(type = unquietcode.tools.flapi.builder.BlockChain.BlockChainBuilder.Head.class, position = 0)
})
unquietcode.tools.flapi.builder.BlockChain.BlockChainBuilder.Head> addBlockChain();
/**
* expect the method [0, inf) times
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType any();
/**
* expect the method [0, inf) times, and assign a group number
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType any(int group);
/**
* expect the method [X, inf) times
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType atLeast(int num);
/**
* expect the method [0, X] times
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType atMost(int num);
/**
* expect the method [0, X] times, and assign a group number
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType atMost(int num, int group);
/**
* expect the method [atLeast, atMost] times
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType between(int atLeast, int atMost);
/**
* expect the method [X, X] times
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType exactly(int num);
/**
* mark the method as terminal, exiting the block when called
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType last();
/**
* mark the method as terminal, returning an object of the given type when called
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType last(Class> returnType);
/**
* Mark the method as terminal, returning an object of the given type when called. The type is specified as a FQCN.
*/
@MethodInfo(type = TransitionType.Ascending)
_ReturnType last(String returnType);
/**
* Marks this method with a Deprecated annotation.
* Also adds a note to the Javadocs.
*/
@MethodInfo(type = TransitionType.Lateral)
S36955cf381e74369f48664301e8fa18d<_ReturnType> markAsDeprecated(String reason);
/**
* Add javadoc style documentation to the method.
*/
@MethodInfo(type = TransitionType.Lateral, next = S22d134c7b6cf78a938df86b21ff535ef.class, chainInfo = {
@ChainInfo(type = unquietcode.tools.flapi.builder.Documentation.DocumentationBuilder.Head.class, position = 0)
})
unquietcode.tools.flapi.builder.Documentation.DocumentationBuilder.Head> withDocumentation();
/**
* Add javadoc style documentation to the method.
*/
@MethodInfo(type = TransitionType.Lateral)
S22d134c7b6cf78a938df86b21ff535ef<_ReturnType> withDocumentation(String documentation);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy