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

com.gs.api.accelrx.APIOperation Maven / Gradle / Ivy

package com.gs.api.accelrx;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;

public interface APIOperation {
    APIContract parentContract();

    String serviceName();

    String operationId();

    Set contentTypes();

    String path();

    /**
     * Replace "{somePathParamName}" with name capture group ":somePathParamName"
     */
    Pattern pathRegex();

    String method();

    boolean hasRequestBody();

    boolean hasSuccessResponseBody();

    boolean isFormRequest();

    boolean isResponseStream();

    boolean isRequestOctetStream();

    String requestContentType();

    String responseContentType(int statusCode);

    boolean requiresAuthentication();

    Set> getRoles();

    String requestBodyJsonSchema();

    Map headers();

    Map pathParameters();

    Map queryParameters();

    @SuppressWarnings("unchecked")
    List getRequiredFileNames();

    List getAllowedFileNames();

    String formParameterSchema();

    Map formBodyTypeMap();

    APIContractSecurity security();

    boolean isSensitive();

    Set sensitivePathParams();

    Set sensitiveQueryParams();

    Set sensitiveRequestPaths();

    Set sensitiveResponsePaths();

    Set auditableRequestFields();

    Set auditableResponseFields();

    String auditableOperationType();

    List statusCodes();

    String responseBodyJsonSchema(String statusCode);

    boolean requiresSignature();

    List allowedServicesBySignature();

    List> getSecurityRequirements(String schemeName);

    boolean isTextEventStream();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy