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

org.eclipse.microprofile.openapi.models.info.Info 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.info; import org.eclipse.microprofile.openapi.models.Constructible; import org.eclipse.microprofile.openapi.models.Extensible; /** * This interface represents all the metadata about the API. The metadata may be used by clients if needed, and may be * presented in editing or documentation tools. * * @see OpenAPI Specification Info Object */ public interface Info extends Constructible, Extensible { /** * Returns the title for the application for this instance of Info * * @return the title of the application **/ String getTitle(); /** * Sets this Info instance's title for the application to the given title. * * @param title * the title of the application */ void setTitle(String title); /** * Sets this Info instance's title for the application to the given title and returns this instance of Info * * @param title * the title of the application * @return this Info instance */ default Info title(String title) { setTitle(title); return this; } /** * Returns a short description for the application for this Info instance. * * @return a short description of the application **/ String getDescription(); /** * Sets this Info instance's description for the application to the given description. * * @param description * a short description for the application */ void setDescription(String description); /** * Sets this Info instance's description for the application to the given description and returns this instance of * Info. * * @param description * a short description for the application * @return this Info instance */ default Info description(String description) { setDescription(description); return this; } /** * Returns the URL to the Terms of Service for the API for this instance of Info. * * @return a URL to the Terms of Service for the API **/ String getTermsOfService(); /** * Sets this Info instance's URL to the Terms of Service for the API to the given String. The URL must be in the * format of a URL. * * @param termsOfService * the URL to the Terms of Service for the API */ void setTermsOfService(String termsOfService); /** * Sets this Info instance's URL to the Terms of Service for the API to the given String and returns this instance * of Info. The URL must be in the format of a URL. * * @param termsOfService * the URL to the Terms of Service for the API * @return this Info instance */ default Info termsOfService(String termsOfService) { setTermsOfService(termsOfService); return this; } /** * Returns the contact information for the exposed API from this Info instance. * * @return the contact information for the exposed API **/ Contact getContact(); /** * Sets this Info instance's contact information for the exposed API. * * @param contact * the contact information for the exposed API */ void setContact(Contact contact); /** * Sets this Info instance's contact information for the exposed API and returns this instance of Info. * * @param contact * the contact information for the exposed API * @return this Info instance */ default Info contact(Contact contact) { setContact(contact); return this; } /** * Returns the license information for the exposed API from this Info instance. * * @return the license information for the exposed API **/ License getLicense(); /** * Sets this Info's license information for the exposed API. * * @param license * the license information for the exposed API */ void setLicense(License license); /** * Sets this Info's license information for the exposed API and returns this instance of Info. * * @param license * the license information for the exposed API * @return this Info instance */ default Info license(License license) { setLicense(license); return this; } /** * Returns the version of the OpenAPI document for this Info instance. * * @return the version of the OpenAPI document **/ String getVersion(); /** * Sets the version of the OpenAPI document for this instance of Info to the given version. * * @param version * the version of the OpenAPI document */ void setVersion(String version); /** * Sets the version of the OpenAPI document for this instance of Info to the given version and returns this instance * of Info * * @param version * the version of the OpenAPI document * @return this Info instance */ default Info version(String version) { setVersion(version); return this; } /** * Returns the summary of the exposed API from this Info instance. * * @return the summary of the exposed API * @since 4.0 **/ String getSummary(); /** * Sets this Info instance's summary information for the exposed API. * * @param summary * the summary of the exposed API * @since 4.0 */ void setSummary(String summary); /** * Sets this Info instance's summary of the API to the given summary and returns this instance of Info. * * @param summary * the summary for the exposed API * @return this Info instance * @since 4.0 */ default Info summary(String summary) { setSummary(summary); return this; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy