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

io.github.swagger2markup.config.Schema2MarkupConfig Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2017 Robert Winkler
 *
 * 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 io.github.swagger2markup.config;

import io.github.swagger2markup.*;
import io.github.swagger2markup.model.Parameter;
import io.github.swagger2markup.model.PathOperation;

import java.util.Comparator;
import java.util.List;
import java.util.regex.Pattern;

/**
 * Swagger2Markup configuration interface.
 */
public interface Schema2MarkupConfig {

    /**
     * Specifies the markup language which should be used to generate the files.
     *
     * @return Specifies the markup language which should be used to generate the files.
     */
    MarkupLanguage getMarkupLanguage();

    /**
     * Specifies the markup language used in Swagger descriptions.
* By default, {@link MarkupLanguage#MARKDOWN} is assumed. * * @return Specifies the markup language used in Swagger descriptions. */ MarkupLanguage getSchemaMarkupLanguage(); /** * Include generated examples into the documents. * * @return Include generated examples into the documents. */ boolean isGeneratedExamplesEnabled(); /** * Prepend the hostname to all paths. * * @return Prepend the hostname to all paths. */ boolean isHostnameEnabled(); /** * Prepend the base path to all paths. * * @return Prepend the base path to all paths. */ boolean isBasePathPrefixEnabled(); /** * In addition to the Definitions file, also create separate definition files for each model definition. * * @return In addition to the Definitions file, also create separate definition files for each model definition. */ boolean isSeparatedDefinitionsEnabled(); /** * In addition to the Paths file, also create separate operation files for each operation. * * @return In addition to the Paths file, also create separate operation files for each operation. */ boolean isSeparatedOperationsEnabled(); /** * Specifies if the operations should be grouped by tags or stay as-is. * * @return Specifies if the operations should be grouped by tags or stay as-is. */ GroupBy getPathsGroupedBy(); /** * Specifies labels language of output files. * * @return Specifies labels language of output files. */ Language getLanguage(); /** * Specifies if inline schemas are detailed * * @return Specifies if inline schemas are detailed */ boolean isInlineSchemaEnabled(); /** * Specifies tag ordering. * * @return Specifies tag ordering. */ OrderBy getTagOrderBy(); /** * Specifies the regex pattern used for header matching * * @return Specifies the regex pattern used for header matching */ Pattern getHeaderPattern(); /** * Specifies a custom comparator function to order tags. * * @return Specifies a custom comparator function to order tags. */ Comparator getTagOrdering(); /** * Specifies operation ordering. * * @return Specifies operation ordering. */ OrderBy getOperationOrderBy(); /** * Specifies a custom comparator function to order operations. * * @return Specifies a custom comparator function to order operations. */ Comparator getOperationOrdering(); /** * Specifies definition ordering. * * @return Specifies definition ordering. */ OrderBy getDefinitionOrderBy(); /** * Specifies a custom comparator function to order definitions. * * @return Specifies a custom comparator function to order definitions. */ Comparator getDefinitionOrdering(); /** * Specifies parameter ordering. * * @return Specifies parameter ordering. */ OrderBy getParameterOrderBy(); /** * Specifies a custom comparator function to order parameters. * * @return Specifies a custom comparator function to order parameters. */ Comparator getParameterOrdering(); /** * Specifies property ordering. * * @return Specifies property ordering. */ OrderBy getPropertyOrderBy(); /** * Specifies a custom comparator function to order properties. * * @return Specifies a custom comparator function to order properties. */ Comparator getPropertyOrdering(); /** * Specifies response ordering. * * @return Specifies response ordering. */ OrderBy getResponseOrderBy(); /** * Specifies a custom comparator function to order responses. * * @return Specifies a custom comparator function to order responses. */ Comparator getResponseOrdering(); /** * Enable use of inter-document cross-references when needed. * * @return Enable use of inter-document cross-references when needed. */ boolean isInterDocumentCrossReferencesEnabled(); /** * Inter-document cross-references optional prefix. * * @return Inter-document cross-references optional prefix. */ String getInterDocumentCrossReferencesPrefix(); /** * Optionally isolate the body parameter, if any, from other parameters. * * @return Optionally isolate the body parameter, if any, from other parameters. */ boolean isFlatBodyEnabled(); /** * Optionally disable the security section for path sections * * @return Optionally disable the security section for path sections */ boolean isPathSecuritySectionEnabled(); /** * Optionally prefix all anchors for uniqueness. * * @return Optionally prefix all anchors for uniqueness. */ String getAnchorPrefix(); /** * Overview document name (without extension). * * @return the overview document name (without extension) */ String getOverviewDocument(); /** * Paths document name (without extension). * * @return the paths document name (without extension) */ String getPathsDocument(); /** * Definitions document name (without extension). * * @return the definitions document name (without extension) */ String getDefinitionsDocument(); /** * Security document name (without extension). * * @return the security document name (without extension) */ String getSecurityDocument(); /** * Separated operations sub-folder name. * * @return the operations sub-folder name */ String getSeparatedOperationsFolder(); /** * Separated definitions sub-folder name. * * @return the definitions sub-folder name */ String getSeparatedDefinitionsFolder(); /** * Specifies the line separator which should be used. * * @return the line separator */ LineSeparator getLineSeparator(); /** * Specifies the array element delimiter to use for multi-valued properties. * * @return the element delimiter if any */ Character getListDelimiter(); /** * Optionally allow lists in property values. Uses the {{@link #getListDelimiter()} to * delimit list values. * * @return whether lists are converted to arrays */ boolean isListDelimiterEnabled(); /** * Returns properties for extensions. * * @return the extension properties */ Schema2MarkupProperties getExtensionsProperties(); /** * Returns the list of page break locations * * @return List of PageBreakLocations */ List getPageBreakLocations(); /** * Returns custom timeout value. * * @return custom timeout value */ int getAsciidocPegdownTimeoutMillis(); /** * Returns format name which should be used to format request example string. * * @return `basic`, `curl` or `invoke-webrequest` */ String getRequestExamplesFormat(); /** * Returns format name which should be used to highlight source block with request example string * * @return any string or `default` */ String getRequestExamplesSourceFormat(); /** * Should we output optional query params in source block with request example string * * @return false if example request should contain only required params */ boolean getRequestExamplesIncludeAllQueryParams(); /** * How we should output array query params: * * @return `single` — single time (similar to basic types), `commaSeparated` — single time with multiple comma * separated values, `multiple` times with same param name and different values, `multiple[]` times with array * brackets as param name suffix. */ String getRequestExamplesQueryArrayStyle(); /** * Should we hide, inherit or override hostname (e.g. with google.com) from yml file * * @return `hide`, `inherit` or string with hostname to be used in request example */ String getRequestExamplesHost(); /** * Should we hide, inherit or override schema (http, https name it) from yml file * * @return `hide`, `inherit` or string with schema name to be used in request example */ String getRequestExamplesSchema(); /** * Should we hide or show base path in example request endpoint address * * @return true or false */ boolean getRequestExamplesHideBasePath(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy