当前位置: 首页>>代码示例>>Java>>正文


Java Type.getTypeName方法代码示例

本文整理汇总了Java中java.lang.reflect.Type.getTypeName方法的典型用法代码示例。如果您正苦于以下问题:Java Type.getTypeName方法的具体用法?Java Type.getTypeName怎么用?Java Type.getTypeName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.lang.reflect.Type的用法示例。


在下文中一共展示了Type.getTypeName方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: create

import java.lang.reflect.Type; //导入方法依赖的package包/类
private static JavaType create(final ImplementClass implementClass, final Type type) {
	if (type instanceof Class<?>) {
		return new ClassJavaType(implementClass, (Class<?>) type);
	} else if (type instanceof TypeVariable<?>) {
		TypeVariable<?> variable = (TypeVariable<?>) type;
		return createByParamName(implementClass, variable);
	} else if (type instanceof GenericArrayType) {
		GenericArrayType arrayType = (GenericArrayType) type;
		return new ArrayJavaType(implementClass, arrayType);
	} else if (type instanceof ParameterizedType) {
		ParameterizedType parameterizedType = (ParameterizedType) type;
		return new ParameterizedJavaType(implementClass, parameterizedType);
	} else if (type instanceof WildcardType) {
		WildcardType wildcardType = (WildcardType) type;
		return new WildcardJavaType(implementClass, wildcardType);
	}

	throw new IllegalArgumentException(type.getTypeName());

}
 
开发者ID:future-architect,项目名称:uroborosql,代码行数:21,代码来源:JavaType.java

示例2: getReturnTypeParameters

import java.lang.reflect.Type; //导入方法依赖的package包/类
/**
 * @param method {@link Method} object
 * @return the actual type parameters used in the source code. Return <strong>empty</strong> list if no parametrized type
 */
public static List<String> getReturnTypeParameters(Method method) {
    List<String> typeParameters = new ArrayList<>();

    Type type = method.getGenericReturnType();
    String typeName = type.getTypeName(); // ex: java.util.List<com.timeyang.search.entity.Person>, java.lang.Long
    Pattern p = Pattern.compile("<((\\S+\\.?),?\\s*)>");
    Matcher m = p.matcher(typeName);
    while (m.find()) {
        typeParameters.add(m.group(2));
    }

    return typeParameters;
}
 
开发者ID:chaokunyang,项目名称:jkes,代码行数:18,代码来源:ReflectionUtils.java

示例3: toString

import java.lang.reflect.Type; //导入方法依赖的package包/类
@Override
public String toString() {
    Type type = getParameterizedType();
    String typename = type.getTypeName();
    if (isVarArgs()) {
        typename = typename.replaceFirst("\\[\\]$", "...");
    }

    final StringBuilder sb = new StringBuilder(Modifier.toString(getModifiers()));
    if (sb.length() != 0) {
        sb.append(' ');
    }
    return sb.append(typename).append(' ').append(getName()).toString();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:15,代码来源:ResolvedJavaMethod.java

示例4: matchType

import java.lang.reflect.Type; //导入方法依赖的package包/类
protected Result matchType(Object obj, Property prop, String path) throws ValidationException {
    String expectedType = prop.getType();
    if ("array".equals(expectedType)) {
        expectedType = JSONArray.class.getName();
    }
    else if ("ref".equals(expectedType) || "object".equals(expectedType)) {
        expectedType = JSONObject.class.getName();
    }
    else {
        PrimitiveType type = PrimitiveType.fromName(prop.getType());
        if (type != null) {
            expectedType = type.getKeyClass().getName();
            if (BigDecimal.class.getName().equals(expectedType))
                expectedType = Double.class.getName();
        }
        else {
            Type refType = ReflectionUtils.typeFromString(prop.getType());
            if (refType != null)
                expectedType = refType.getTypeName();
        }
    }
        
    String foundType = obj.getClass().getName();
    boolean match = foundType.equals(expectedType);
    if (!match) {
        // forgive rounded numeric types
        if (BigDecimal.class.getName().equals(expectedType)) {
            if (foundType.equals(Double.class.getName()) || foundType.equals(Integer.class.getName()))
                match = true;
        }
        else if (Double.class.getName().equals(expectedType)) {
            if (foundType.equals(Integer.class.getName()))
                match = true;
        }
        else if (Integer.class.getName().equals(expectedType)) {
            if (foundType.equals(Long.class.getName()) && "int64".equals(prop.getFormat()))
                match = true;
        }
    }
    
    if (match)
        return new Result();
    else
        return new Result(BAD_REQUEST, path + ": expected " + expectedType + " but found " + foundType);
}
 
开发者ID:limberest,项目名称:limberest,代码行数:46,代码来源:BodyParameterValidator.java

示例5: of

import java.lang.reflect.Type; //导入方法依赖的package包/类
public static MessageType of(Type t) {
    return new MessageType(t.getTypeName());
}
 
开发者ID:Sixt,项目名称:ja-micro,代码行数:4,代码来源:MessageType.java

示例6: getTypeName

import java.lang.reflect.Type; //导入方法依赖的package包/类
public static String getTypeName(Method method) {
    Type type = method.getGenericReturnType();

    String typeName = type.getTypeName(); // ex: java.util.List<com.timeyang.search.entity.Person>, java.lang.Long

    return typeName;
}
 
开发者ID:chaokunyang,项目名称:jkes,代码行数:8,代码来源:ReflectionUtils.java

示例7: getInnermostType

import java.lang.reflect.Type; //导入方法依赖的package包/类
/**
 * If return type is genetic type, then return last parameterized type, else return the formal return type name of the method represented by this {@code Method}  object.
 * @param method {@link Method} method
 * @return If return type is genetic type, then return last parameterized type, else return the formal return type name of the method represented by this {@code Method}  object.
 */
public static String getInnermostType(Method method) {
    Type type = method.getGenericReturnType();

    String typeName = type.getTypeName(); // ex: java.util.List<com.timeyang.search.entity.Person>, java.lang.Long

    String[] types = typeName.split(",\\s*|<|<|>+");

    return types[types.length - 1];
}
 
开发者ID:chaokunyang,项目名称:jkes,代码行数:15,代码来源:ReflectionUtils.java


注:本文中的java.lang.reflect.Type.getTypeName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。