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

org.yx.annotation.spec.parse.SpecParsers Maven / Gradle / Ivy

There is a newer version: 4.0.2
Show newest version
/**
 * Copyright (C) 2016 - 2030 youtongluan.
 *
 * 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.yx.annotation.spec.parse;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Objects;
import java.util.function.BiFunction;
import java.util.function.Function;

import org.yx.annotation.spec.BeanSpec;
import org.yx.annotation.spec.BoxSpec;
import org.yx.annotation.spec.ColumnSpec;
import org.yx.annotation.spec.InjectSpec;
import org.yx.annotation.spec.ParamSpec;
import org.yx.annotation.spec.SoaClassSpec;
import org.yx.annotation.spec.SoaClientConfigSpec;
import org.yx.annotation.spec.SoaSpec;
import org.yx.annotation.spec.SumkFilterSpec;
import org.yx.annotation.spec.SumkServletSpec;
import org.yx.annotation.spec.TableSpec;
import org.yx.annotation.spec.UploadSpec;
import org.yx.annotation.spec.WebSpec;

public final class SpecParsers {

	private static Function, TableSpec> tableParser = BuiltIn.TABLE_PARSER;
	private static BiFunction, Field, ColumnSpec> columnParser = BuiltIn.COLUMN_PARSER;

	private static Function boxParser = BuiltIn.BOX_PARSER;
	private static Function, BeanSpec> beanParser = BuiltIn.BEAN_PARSER;
	private static BiFunction injectParser = BuiltIn.INJECT_PARSER;

	private static Function paramFieldParser = BuiltIn.PARAM_FIELD_PARSER;

	private static Function paramParamterParser = BuiltIn.PARAM_PARAMTER_PARSER;

	private static BiFunction webParser = BuiltIn.WEB_PARSER;
	private static BiFunction uploadParser = BuiltIn.UPLOAD_PARSER;
	private static Function, SumkFilterSpec> sumkFilterParser = BuiltIn.SUMK_FILTER_PARSER;
	private static Function, SumkServletSpec> sumkServletParser = BuiltIn.SUMK_SERVLET_PARSER;

	private static Function soaParser = BuiltIn.SOA_PARSER;
	private static Function, SoaClassSpec> soaClassParser = BuiltIn.SOA_CLASS_PARSER;
	private static Function soaClientConfigParser = BuiltIn.SOA_CLIENT_CONFIG_PARSER;

	public static Function, BeanSpec> getBeanParser() {
		return beanParser;
	}

	public static Function getBoxParser() {
		return boxParser;
	}

	public static BiFunction, Field, ColumnSpec> getColumnParser() {
		return columnParser;
	}

	public static BiFunction getInjectParser() {
		return injectParser;
	}

	public static Function getParamFieldParser() {
		return paramFieldParser;
	}

	public static Function getParamParamterParser() {
		return paramParamterParser;
	}

	public static Function, SoaClassSpec> getSoaClassParser() {
		return soaClassParser;
	}

	public static Function getSoaClientConfigParser() {
		return soaClientConfigParser;
	}

	public static Function getSoaParser() {
		return soaParser;
	}

	public static Function, SumkFilterSpec> getSumkFilterParser() {
		return sumkFilterParser;
	}

	public static Function, SumkServletSpec> getSumkServletParser() {
		return sumkServletParser;
	}

	public static Function, TableSpec> getTableParser() {
		return tableParser;
	}

	public static BiFunction getUploadParser() {
		return uploadParser;
	}

	public static BiFunction getWebParser() {
		return webParser;
	}

	public static  R parse(T t, Function parser) {
		return parser.apply(t);
	}

	public static  R parse(T t, U u, BiFunction parser) {
		return parser.apply(t, u);
	}

	public static void setBeanParser(Function, BeanSpec> beanParser) {
		SpecParsers.beanParser = Objects.requireNonNull(beanParser);
	}

	public static void setBoxParser(Function boxParser) {
		SpecParsers.boxParser = Objects.requireNonNull(boxParser);
	}

	public static void setColumnParser(BiFunction, Field, ColumnSpec> columnParser) {
		SpecParsers.columnParser = Objects.requireNonNull(columnParser);
	}

	public static void setInjectParser(BiFunction injectParser) {
		SpecParsers.injectParser = Objects.requireNonNull(injectParser);
	}

	public static void setParamFieldParser(Function paramFieldParser) {
		SpecParsers.paramFieldParser = Objects.requireNonNull(paramFieldParser);
	}

	public static void setParamParamterParser(Function paramParamterParser) {
		SpecParsers.paramParamterParser = Objects.requireNonNull(paramParamterParser);
	}

	public static void setSoaClassParser(Function, SoaClassSpec> soaClassParser) {
		SpecParsers.soaClassParser = Objects.requireNonNull(soaClassParser);
	}

	public static void setSoaClientConfigParser(Function soaClientConfigParser) {
		SpecParsers.soaClientConfigParser = Objects.requireNonNull(soaClientConfigParser);
	}

	public static void setSoaParser(Function soaParser) {
		SpecParsers.soaParser = Objects.requireNonNull(soaParser);
	}

	public static void setSumkFilterParser(Function, SumkFilterSpec> sumkFilterParser) {
		SpecParsers.sumkFilterParser = Objects.requireNonNull(sumkFilterParser);
	}

	public static void setSumkServletParser(Function, SumkServletSpec> sumkServletParser) {
		SpecParsers.sumkServletParser = Objects.requireNonNull(sumkServletParser);
	}

	public static void setTableParser(Function, TableSpec> tableParser) {
		SpecParsers.tableParser = Objects.requireNonNull(tableParser);
	}

	public static void setUploadParser(BiFunction uploadParser) {
		SpecParsers.uploadParser = Objects.requireNonNull(uploadParser);
	}

	public static void setWebParser(BiFunction webParser) {
		SpecParsers.webParser = Objects.requireNonNull(webParser);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy