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

unquietcode.tools.flapi.builder.Method.S29328586b29183e98cf3ddea324737ec Maven / Gradle / Ivy


package unquietcode.tools.flapi.builder.Method;

import javax.annotation.Generated;
import unquietcode.tools.flapi.builder.Annotation.AnnotationBuilder.Head;
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 S29328586b29183e98cf3ddea324737ec<_ReturnType> {
    /**
     * Adds a custom annotation to the method.
     */
    @MethodInfo(type = TransitionType.Recursive, chainInfo = {
        @ChainInfo(type = Head.class, position = 1)
    })
    Head> addAnnotation(Class annotation);

    @MethodInfo(type = TransitionType.Recursive, chainInfo = {
        @ChainInfo(type = Head.class, position = 1)
    })
    Head> addAnnotation(String annotation);

    /**
     * expose the method only after the specified group is finished
     */
    @MethodInfo(type = TransitionType.Lateral)
    Sfd7f8c5913c641ba776b4e29066e0238 <_ReturnType> after(int group);

    /**
     * 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)
    Sc240938d6b9723b92dee212549f774c2 <_ReturnType> markAsDeprecated(String reason);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy