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

org.eclipse.microprofile.openapi.models.security.SecurityScheme Maven / Gradle / Ivy

/**
 * Copyright (c) 2017 Contributors to the Eclipse Foundation
 * Copyright 2017 SmartBear Software
 * 

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eclipse.microprofile.openapi.models.security; import org.eclipse.microprofile.openapi.models.Constructible; import org.eclipse.microprofile.openapi.models.Extensible; import org.eclipse.microprofile.openapi.models.Reference; /** * SecurityScheme * * @see OpenAPI Specification Security Scheme * Object */ public interface SecurityScheme extends Constructible, Extensible, Reference { /** * Type is a REQUIRED property that specifies the type of SecurityScheme instance. *

* This class is used in getType and setType to get or set the type of SecurityScheme object to one of the valid * values. *

*/ public enum Type { APIKEY("apiKey"), HTTP("http"), OAUTH2("oauth2"), OPENIDCONNECT("openIdConnect"), MUTUALTLS("mutualTLS"); private final String value; Type(String value) { this.value = value; } @Override public String toString() { return String.valueOf(value); } } /** * In is a REQUIRED property that specifies the location of the API key. *

* This class is used in getIn and setIn to get or set the in of SecurityScheme object to one of the enum constants * listed. *

*/ public enum In { COOKIE("cookie"), HEADER("header"), QUERY("query"); private final String value; In(String value) { this.value = value; } @Override public String toString() { return String.valueOf(value); } } /** * Type is a REQUIRED property that specifies the type of SecurityScheme instance. *

* This method returns the type property from SecurityScheme instance. *

* * @return Type type **/ SecurityScheme.Type getType(); /** * Type is a REQUIRED property that specifies the type of SecurityScheme instance. *

* This method sets the type property of SecurityScheme instance to the given Type argument. *

* * @param type * the type of SecurityScheme instance */ void setType(SecurityScheme.Type type); /** * Type is a REQUIRED property that specifies the type of SecurityScheme instance. *

* This method sets the type property of SecurityScheme instance to the given Type argument and returns the modified * instance. *

* * @param type * the type of SecurityScheme instance * @return SecurityScheme instance with the set type property */ default SecurityScheme type(SecurityScheme.Type type) { setType(type); return this; } /** * A short description for security schema. *

* This method returns the description property from SecurityScheme instance. *

* * @return String description **/ String getDescription(); /** * A short description for security schema. *

* This method sets the description property of SecurityScheme instance. *

* * @param description * short description of the SecuirtyScheme instance */ void setDescription(String description); /** * A short description for security schema. *

* This method sets the description property of SecurityScheme instance and returns the modified instance. *

* * @param description * short description of the SecuirtyScheme instance * @return SecurityScheme instance with the set description property */ default SecurityScheme description(String description) { setDescription(description); return this; } /** * Name is a REQUIRED property - this is the name of the header, query or cookie parameter to be used. *

* This method returns the name property from SecurityScheme instance. *

* * @return String name **/ String getName(); /** * Name is a REQUIRED property - this is the name of the header, query or cookie parameter to be used. *

* This method sets the name property of SecurityScheme instance to the parameter. *

* * @param name * the name of the header, query or cookie parameter to be used */ void setName(String name); /** * Name is a REQUIRED property - this is the name of the header, query or cookie parameter to be used. *

* This method sets the name property of SecurityScheme instance to the given String argument and returns the * modified instance. *

* * @param name * the name of the header, query or cookie parameter to be used * @return SecurityScheme instance with the set name property */ default SecurityScheme name(String name) { setName(name); return this; } /** * In is a REQUIRED property that indicates the location of the API key. Valid values are "query", "header", * "cookie". *

* This method returns the in property from SecurityScheme instance. *

* * @return In in **/ SecurityScheme.In getIn(); /** * In is a REQUIRED property that indicates the location of the API key. Valid values are "query", "header", * "cookie". *

* The method sets the in property of SecurityScheme instance to the given In argument. *

* * @param in * the location of the API key */ void setIn(SecurityScheme.In in); /** * In is a REQUIRED property that indicates the location of the API key. Valid values are "query", "header", * "cookie". *

* This method sets the in property of SecurityScheme instance to the given In argument and returns the modified * instance. *

* * @param in * the location of the API key * @return SecurityScheme instance with the set in property */ default SecurityScheme in(SecurityScheme.In in) { setIn(in); return this; } /** * Schema is a REQUIRED property that is the name of the HTTP Authorization scheme to be used in the Authorization * header as defined in RFC7235. *

* This method returns the scheme property from SecurityScheme instance. *

* * @return String scheme **/ String getScheme(); /** * Schema is a REQUIRED property that is the name of the HTTP Authorization scheme to be used in the Authorization * header as defined in RFC7235. *

* This method sets the scheme property of SecurityScheme instance to the given String argument. *

* * @param scheme * the name of the HTTP Authorization scheme to be used in the Authorization header */ void setScheme(String scheme); /** * Schema is a REQUIRED property that is the name of the HTTP Authorization scheme to be used in the Authorization * header as defined in RFC7235. *

* This method sets the scheme property of SecurityScheme instance to the given String argument and returns the * modified instance. *

* * @param scheme * the name of the HTTP Authorization scheme to be used in the Authorization header * @return SecurityScheme instance with the set scheme property */ default SecurityScheme scheme(String scheme) { setScheme(scheme); return this; } /** * bearerFormat is intended as a hint to the client to identify how the bearer token is formatted. Bearer tokens are * usually generated by an authorization server, so this information is primarily for documentation purposes. *

* This method returns the bearerFormat property from SecurityScheme instance. *

* * @return String bearerFormat **/ String getBearerFormat(); /** * bearerFormat is intended as a hint to the client to identify how the bearer token is formatted. Bearer tokens are * usually generated by an authorization server, so this information is primarily for documentation purposes. *

* This method sets the bearerFormat property of SecurityScheme instance to the given String argument. *

* * @param bearerFormat * a hint to the client to identify how the bearer token is formatted */ void setBearerFormat(String bearerFormat); /** * bearerFormat is intended as a hint to the client to identify how the bearer token is formatted. Bearer tokens are * usually generated by an authorization server, so this information is primarily for documentation purposes. *

* This method sets the bearerFormat property of SecurityScheme instance to the given String argument and returns * the modified instance. *

* * @param bearerFormat * a hint to the client to identify how the bearer token is formatted * @return SecurityScheme instance with the set bearerFormat property */ default SecurityScheme bearerFormat(String bearerFormat) { setBearerFormat(bearerFormat); return this; } /** * Flows is a REQUIRED property. *

* Flows is an object containing configuration information for the flow types supported. *

*

* This method returns the flows property from SecurityScheme instance. *

* * @return OAuthFlows flows **/ OAuthFlows getFlows(); /** * Flows is a REQUIRED property. *

* Flows is an object containing configuration information for the flow types supported. *

*

* This method sets the flows property of SecurityScheme instance to the given OAuthFlows argument. *

* * @param flows * an object containing configuration information for the flow types supported */ void setFlows(OAuthFlows flows); /** * Flows is a REQUIRED property. *

* Flows is an object containing configuration information for the flow types supported. *

*

* This method sets the flows property of SecurityScheme instance to the given OAuthFlows argument and returns the * modified instance. *

* * @param flows * an object containing configuration information for the flow types supported * @return SecurityScheme instance with the set flows property */ default SecurityScheme flows(OAuthFlows flows) { setFlows(flows); return this; } /** * openIdConnectUrl is a REQUIRED property. *

* This property allows to discover OAuth2 configuration values. openIdConnectUrl MUST be in a form of a URL. *

*

* This method returns the openIdConnectUrl property from SecurityScheme instance. *

* * @return String openIdConnectUrl **/ String getOpenIdConnectUrl(); /** * openIdConnectUrl is a REQUIRED property. *

* This property allows to discover OAuth2 configuration values. openIdConnectUrl MUST be in a form of a URL. *

*

* This method sets the openIdConnectUrl property of a SecurityScheme instance to the given String argument. *

* * @param openIdConnectUrl * a URL where OAuth2 configuration values are stored */ void setOpenIdConnectUrl(String openIdConnectUrl); /** * penIdConnectUrl is a REQUIRED property. *

* This property allows to discover OAuth2 configuration values. openIdConnectUrl MUST be in a form of a URL. *

*

* This method sets the openIdConnectUrl property of SecurityScheme instance to the given String argument and * returns the modified instance. *

* * @param openIdConnectUrl * a URL where OAuth2 configuration values are stored * @return SecurityScheme instance with the set openIdConnectUrl property */ default SecurityScheme openIdConnectUrl(String openIdConnectUrl) { setOpenIdConnectUrl(openIdConnectUrl); return this; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy