Class BaseYangSwaggerGenerator
- java.lang.Object
-
- org.opendaylight.netconf.sal.rest.doc.impl.BaseYangSwaggerGenerator
-
- Direct Known Subclasses:
BaseYangSwaggerGeneratorDraft02,BaseYangSwaggerGeneratorRFC8040
public abstract class BaseYangSwaggerGenerator extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceBaseYangSwaggerGenerator.ListPathBuilder
-
Field Summary
Fields Modifier and Type Field Description static StringBASE_PATHstatic StringMODULE_NAME_SUFFIX
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseYangSwaggerGenerator(Optional<org.opendaylight.mdsal.dom.api.DOMSchemaService> schemaService)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidappendPathKeyValue(StringBuilder builder, Object value)StringcreateHostFromUriInfo(javax.ws.rs.core.UriInfo uriInfo)ResourceListcreateResourceList()StringcreateSchemaFromUriInfo(javax.ws.rs.core.UriInfo uriInfo)SwaggerObjectcreateSwaggerObject(String schema, String host, String basePath, String title)voidfillDoc(SwaggerObject doc, Optional<com.google.common.collect.Range<Integer>> range, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, Optional<String> deviceName, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion, DefinitionNames definitionNames)StringgeneratePath(javax.ws.rs.core.UriInfo uriInfo, String name, String revision)StringgenerateUrlPrefixFromInstanceID(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier key, String moduleName)SwaggerObjectgetAllModulesDoc(javax.ws.rs.core.UriInfo uriInfo, Optional<com.google.common.collect.Range<Integer>> range, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, Optional<String> deviceName, String context, DefinitionNames definitionNames, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)SwaggerObjectgetAllModulesDoc(javax.ws.rs.core.UriInfo uriInfo, DefinitionNames definitionNames, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)CommonApiObjectgetApiDeclaration(String module, String revision, javax.ws.rs.core.UriInfo uriInfo, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)SwaggerObjectgetApiDeclaration(String moduleName, String revision, javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)SwaggerObjectgetApiDeclaration(org.opendaylight.yangtools.yang.model.api.Module module, javax.ws.rs.core.UriInfo uriInfo, String context, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)static CommonApiObjectgetAppropriateDoc(SwaggerObject swaggerObject, ApiDocServiceImpl.OAversion oaversion)protected abstract StringgetPathVersion()ResourceListgetResourceListing(javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, int pageNum, boolean all, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)Return list of modules converted to swagger compliant resource list.ResourceListgetResourceListing(javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)abstract StringgetResourcePath(String resourceType, String context)abstract StringgetResourcePathPart(String resourceType)org.opendaylight.mdsal.dom.api.DOMSchemaServicegetSchemaService()SortedSet<org.opendaylight.yangtools.yang.model.api.Module>getSortedModules(org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext)SwaggerObjectgetSwaggerDocSpec(org.opendaylight.yangtools.yang.model.api.Module module, String schema, String host, String basePath, String context, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)SwaggerObjectgetSwaggerDocSpec(org.opendaylight.yangtools.yang.model.api.Module module, String context, Optional<String> deviceName, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion, DefinitionNames definitionNames, SwaggerObject doc, boolean isForSingleModule)protected abstract BaseYangSwaggerGenerator.ListPathBuildernewListPathBuilder()
-
-
-
Field Detail
-
BASE_PATH
public static final String BASE_PATH
- See Also:
- Constant Field Values
-
MODULE_NAME_SUFFIX
public static final String MODULE_NAME_SUFFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BaseYangSwaggerGenerator
protected BaseYangSwaggerGenerator(Optional<org.opendaylight.mdsal.dom.api.DOMSchemaService> schemaService)
-
-
Method Detail
-
getSchemaService
public org.opendaylight.mdsal.dom.api.DOMSchemaService getSchemaService()
-
getResourceListing
public ResourceList getResourceListing(javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
getResourceListing
public ResourceList getResourceListing(javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, int pageNum, boolean all, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
Return list of modules converted to swagger compliant resource list.
-
getAllModulesDoc
public SwaggerObject getAllModulesDoc(javax.ws.rs.core.UriInfo uriInfo, DefinitionNames definitionNames, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
getAllModulesDoc
public SwaggerObject getAllModulesDoc(javax.ws.rs.core.UriInfo uriInfo, Optional<com.google.common.collect.Range<Integer>> range, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, Optional<String> deviceName, String context, DefinitionNames definitionNames, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
fillDoc
public void fillDoc(SwaggerObject doc, Optional<com.google.common.collect.Range<Integer>> range, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, Optional<String> deviceName, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion, DefinitionNames definitionNames)
-
createResourceList
public ResourceList createResourceList()
-
generatePath
public String generatePath(javax.ws.rs.core.UriInfo uriInfo, String name, String revision)
-
getApiDeclaration
public CommonApiObject getApiDeclaration(String module, String revision, javax.ws.rs.core.UriInfo uriInfo, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
getApiDeclaration
public SwaggerObject getApiDeclaration(String moduleName, String revision, javax.ws.rs.core.UriInfo uriInfo, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, String context, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
getApiDeclaration
public SwaggerObject getApiDeclaration(org.opendaylight.yangtools.yang.model.api.Module module, javax.ws.rs.core.UriInfo uriInfo, String context, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
createHostFromUriInfo
public String createHostFromUriInfo(javax.ws.rs.core.UriInfo uriInfo)
-
createSchemaFromUriInfo
public String createSchemaFromUriInfo(javax.ws.rs.core.UriInfo uriInfo)
-
getSwaggerDocSpec
public SwaggerObject getSwaggerDocSpec(org.opendaylight.yangtools.yang.model.api.Module module, String schema, String host, String basePath, String context, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion)
-
getSwaggerDocSpec
public SwaggerObject getSwaggerDocSpec(org.opendaylight.yangtools.yang.model.api.Module module, String context, Optional<String> deviceName, org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, ApiDocServiceImpl.URIType uriType, ApiDocServiceImpl.OAversion oaversion, DefinitionNames definitionNames, SwaggerObject doc, boolean isForSingleModule)
-
createSwaggerObject
public SwaggerObject createSwaggerObject(String schema, String host, String basePath, String title)
-
getAppropriateDoc
public static CommonApiObject getAppropriateDoc(SwaggerObject swaggerObject, ApiDocServiceImpl.OAversion oaversion)
-
getPathVersion
protected abstract String getPathVersion()
-
newListPathBuilder
protected abstract BaseYangSwaggerGenerator.ListPathBuilder newListPathBuilder()
-
getSortedModules
public SortedSet<org.opendaylight.yangtools.yang.model.api.Module> getSortedModules(org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext)
-
appendPathKeyValue
protected abstract void appendPathKeyValue(StringBuilder builder, Object value)
-
-