
com.github.veithen.visualwas.framework.proxy.OperationBuilderImpl Maven / Gradle / Ivy
The newest version!
/*
* #%L
* VisualWAS
* %%
* Copyright (C) 2013 - 2020 Andreas Veithen
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* .
* #L%
*/
package com.github.veithen.visualwas.framework.proxy;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
final class OperationBuilderImpl implements OperationBuilder {
private static final Map,Class>> wrapperTypeMap;
static {
wrapperTypeMap = new HashMap<>();
wrapperTypeMap.put(Boolean.TYPE, Boolean.class);
wrapperTypeMap.put(Byte.TYPE, Byte.class);
wrapperTypeMap.put(Character.TYPE, Character.class);
wrapperTypeMap.put(Double.TYPE, Double.class);
wrapperTypeMap.put(Float.TYPE, Float.class);
wrapperTypeMap.put(Integer.TYPE, Integer.class);
wrapperTypeMap.put(Long.TYPE, Long.class);
wrapperTypeMap.put(Short.TYPE, Short.class);
}
private final Map methods = new HashMap<>();
private String name;
private Class>[] signature;
private Type responseType;
private Class>[] exceptionTypes;
private Map,Annotation> annotations = new HashMap<>();
private List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy