Class RestMethod.BuilderBase<BUILDER extends RestMethod.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RestMethod>

java.lang.Object
io.helidon.declarative.codegen.model.http.ModelElement.BuilderBase<BUILDER,PROTOTYPE>
io.helidon.declarative.codegen.model.http.HttpAnnotated.BuilderBase<BUILDER,PROTOTYPE>
io.helidon.declarative.codegen.model.http.RestMethod.BuilderBase<BUILDER,PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
RestMethod.Builder
Enclosing interface:
RestMethod

public abstract static class RestMethod.BuilderBase<BUILDER extends RestMethod.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RestMethod> extends HttpAnnotated.BuilderBase<BUILDER,PROTOTYPE> implements Prototype.Builder<BUILDER,PROTOTYPE>
Fluent API builder base for RestMethod.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(RestMethod prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(RestMethod.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • clearStatus

      public BUILDER clearStatus()
      Clear existing value of this property.
      Returns:
      updated builder instance
      See Also:
    • status

      public BUILDER status(HttpStatus status)
      HTTP Status (server side only) annotation on the method.
      Parameters:
      status - status to return
      Returns:
      updated builder instance
      See Also:
    • returnType

      public BUILDER returnType(TypeName returnType)
      Type returned by this method.
      Parameters:
      returnType - return type of the method
      Returns:
      updated builder instance
      See Also:
    • returnType

      public BUILDER returnType(Consumer<TypeName.Builder> consumer)
      Type returned by this method.
      Parameters:
      consumer - consumer of builder for return type of the method
      Returns:
      updated builder instance
      See Also:
    • returnType

      public BUILDER returnType(Supplier<? extends TypeName> supplier)
      Type returned by this method.
      Parameters:
      supplier - supplier of return type of the method
      Returns:
      updated builder instance
      See Also:
    • name

      public BUILDER name(String name)
      Method name.
      Parameters:
      name - name of the method
      Returns:
      updated builder instance
      See Also:
    • uniqueName

      public BUILDER uniqueName(String uniqueName)
      Unique name of the method (used for generated code). If there is more than one method with the same name within a type, the second (and further) methods will have an index based unique name generated.
      Parameters:
      uniqueName - unique name of this method for generated code
      Returns:
      updated builder instance
      See Also:
    • httpMethod

      public BUILDER httpMethod(HttpMethod httpMethod)
      HTTP method of this method.
      Parameters:
      httpMethod - HTTP method
      Returns:
      updated builder instance
      See Also:
    • parameters

      public BUILDER parameters(List<? extends RestMethodParameter> parameters)
      All parameters of this method.
      Parameters:
      parameters - method parameters
      Returns:
      updated builder instance
      See Also:
    • addParameters

      public BUILDER addParameters(List<? extends RestMethodParameter> parameters)
      All parameters of this method.
      Parameters:
      parameters - method parameters
      Returns:
      updated builder instance
      See Also:
    • addParameter

      public BUILDER addParameter(RestMethodParameter parameter)
      All parameters of this method.
      Parameters:
      parameter - method parameters
      Returns:
      updated builder instance
      See Also:
    • addParameter

      public BUILDER addParameter(Consumer<RestMethodParameter.Builder> consumer)
      All parameters of this method.
      Parameters:
      consumer - method parameters
      Returns:
      updated builder instance
      See Also:
    • clearEntityParameter

      public BUILDER clearEntityParameter()
      Clear existing value of this property.
      Returns:
      updated builder instance
      See Also:
    • entityParameter

      public BUILDER entityParameter(RestMethodParameter entityParameter)
      Entity parameter (if defined).
      Parameters:
      entityParameter - method entity parameter
      Returns:
      updated builder instance
      See Also:
    • entityParameter

      public BUILDER entityParameter(Consumer<RestMethodParameter.Builder> consumer)
      Entity parameter (if defined).
      Parameters:
      consumer - method entity parameter
      Returns:
      updated builder instance
      See Also:
    • headerParameters

      public BUILDER headerParameters(List<? extends RestMethodParameter> headerParameters)
      Header parameters (if defined).
      Parameters:
      headerParameters - header parameters
      Returns:
      updated builder instance
      See Also:
    • addHeaderParameters

      public BUILDER addHeaderParameters(List<? extends RestMethodParameter> headerParameters)
      Header parameters (if defined).
      Parameters:
      headerParameters - header parameters
      Returns:
      updated builder instance
      See Also:
    • addHeaderParameter

      public BUILDER addHeaderParameter(RestMethodParameter headerParameter)
      Header parameters (if defined).
      Parameters:
      headerParameter - header parameters
      Returns:
      updated builder instance
      See Also:
    • addHeaderParameter

      public BUILDER addHeaderParameter(Consumer<RestMethodParameter.Builder> consumer)
      Header parameters (if defined).
      Parameters:
      consumer - header parameters
      Returns:
      updated builder instance
      See Also:
    • queryParameters

      public BUILDER queryParameters(List<? extends RestMethodParameter> queryParameters)
      Query parameters (if defined).
      Parameters:
      queryParameters - query parameters
      Returns:
      updated builder instance
      See Also:
    • addQueryParameters

      public BUILDER addQueryParameters(List<? extends RestMethodParameter> queryParameters)
      Query parameters (if defined).
      Parameters:
      queryParameters - query parameters
      Returns:
      updated builder instance
      See Also:
    • addQueryParameter

      public BUILDER addQueryParameter(RestMethodParameter queryParameter)
      Query parameters (if defined).
      Parameters:
      queryParameter - query parameters
      Returns:
      updated builder instance
      See Also:
    • addQueryParameter

      public BUILDER addQueryParameter(Consumer<RestMethodParameter.Builder> consumer)
      Query parameters (if defined).
      Parameters:
      consumer - query parameters
      Returns:
      updated builder instance
      See Also:
    • pathParameters

      public BUILDER pathParameters(List<? extends RestMethodParameter> pathParameters)
      Path parameters (if defined).
      Parameters:
      pathParameters - path parameters
      Returns:
      updated builder instance
      See Also:
    • addPathParameters

      public BUILDER addPathParameters(List<? extends RestMethodParameter> pathParameters)
      Path parameters (if defined).
      Parameters:
      pathParameters - path parameters
      Returns:
      updated builder instance
      See Also:
    • addPathParameter

      public BUILDER addPathParameter(RestMethodParameter pathParameter)
      Path parameters (if defined).
      Parameters:
      pathParameter - path parameters
      Returns:
      updated builder instance
      See Also:
    • addPathParameter

      public BUILDER addPathParameter(Consumer<RestMethodParameter.Builder> consumer)
      Path parameters (if defined).
      Parameters:
      consumer - path parameters
      Returns:
      updated builder instance
      See Also:
    • method

      public BUILDER method(TypedElementInfo method)
      Method element info.
      Parameters:
      method - method element info
      Returns:
      updated builder instance
      See Also:
    • method

      public BUILDER method(Consumer<TypedElementInfo.Builder> consumer)
      Method element info.
      Parameters:
      consumer - consumer of builder for method element info
      Returns:
      updated builder instance
      See Also:
    • method

      public BUILDER method(Supplier<? extends TypedElementInfo> supplier)
      Method element info.
      Parameters:
      supplier - supplier of method element info
      Returns:
      updated builder instance
      See Also:
    • status

      public Optional<HttpStatus> status()
      HTTP Status (server side only) annotation on the method.
      Returns:
      the status
    • returnType

      public Optional<TypeName> returnType()
      Type returned by this method.
      Returns:
      the return type
    • name

      public Optional<String> name()
      Method name.
      Returns:
      the name
    • uniqueName

      public Optional<String> uniqueName()
      Unique name of the method (used for generated code). If there is more than one method with the same name within a type, the second (and further) methods will have an index based unique name generated.
      Returns:
      the unique name
    • httpMethod

      public Optional<HttpMethod> httpMethod()
      HTTP method of this method.
      Returns:
      the http method
    • parameters

      public List<RestMethodParameter> parameters()
      All parameters of this method.
      Returns:
      the parameters
    • entityParameter

      public Optional<RestMethodParameter> entityParameter()
      Entity parameter (if defined).
      Returns:
      the entity parameter
    • headerParameters

      public List<RestMethodParameter> headerParameters()
      Header parameters (if defined).
      Returns:
      the header parameters
    • queryParameters

      public List<RestMethodParameter> queryParameters()
      Query parameters (if defined).
      Returns:
      the query parameters
    • pathParameters

      public List<RestMethodParameter> pathParameters()
      Path parameters (if defined).
      Returns:
      the path parameters
    • method

      public Optional<TypedElementInfo> method()
      Method element info.
      Returns:
      the method
    • toString

      public String toString()
      Overrides:
      toString in class HttpAnnotated.BuilderBase<BUILDER extends RestMethod.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RestMethod>
    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
      Overrides:
      preBuildPrototype in class HttpAnnotated.BuilderBase<BUILDER extends RestMethod.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RestMethod>
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.
      Overrides:
      validatePrototype in class HttpAnnotated.BuilderBase<BUILDER extends RestMethod.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RestMethod>