
com.blazebit.query.connector.jira.cloud.JiraCloudConventionContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of blaze-query-connector-jira-cloud-jersey3 Show documentation
Show all versions of blaze-query-connector-jira-cloud-jersey3 Show documentation
A multi-platform querying library
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Blazebit
*/
package com.blazebit.query.connector.jira.cloud;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import com.blazebit.query.connector.base.ConventionContext;
import com.blazebit.query.connector.jira.cloud.model.AbstractOpenApiSchema;
/**
* A method filter to exclude internal methods from the Jira models.
*
* @author Christian Beikov
* @since 1.0.0
*/
public class JiraCloudConventionContext implements ConventionContext {
public static final ConventionContext INSTANCE = new JiraCloudConventionContext();
private JiraCloudConventionContext() {
}
@Override
public boolean nullOnException(Method method) {
// An OpenAPI schema is a union type, so some getters may throw exceptions based on actual instance
return AbstractOpenApiSchema.class.isAssignableFrom( method.getDeclaringClass() );
}
@Override
public ConventionContext getSubFilter(Class> concreteClass, Member member) {
if ( AbstractOpenApiSchema.class.isAssignableFrom( concreteClass ) ) {
switch ( member.getName() ) {
case "getSchemas":
case "getActualInstance":
case "getActualInstanceRecursively":
case "getSchemaType":
case "isNullable":
return null;
default:
return this;
}
}
if ( member instanceof Method ) {
Method method = (Method) member;
if ( method.getName().endsWith( "_JsonNullable" ) ) {
return null;
}
}
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy