本文整理汇总了Java中com.sun.javadoc.Type.asWildcardType方法的典型用法代码示例。如果您正苦于以下问题:Java Type.asWildcardType方法的具体用法?Java Type.asWildcardType怎么用?Java Type.asWildcardType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.javadoc.Type
的用法示例。
在下文中一共展示了Type.asWildcardType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parameterLink
import com.sun.javadoc.Type; //导入方法依赖的package包/类
/**
* Appends to the current document the given type parameter
* as a valid markdown link.
*
* @param source Source package to start URL from.
* @param type Target type parameter to reach from this package.
*/
private void parameterLink(final PackageDoc source, final Type type) {
final WildcardType wildcard = type.asWildcardType();
if (wildcard != null) {
character('?');
}
else {
final TypeVariable variableType = type.asTypeVariable();
if (variableType != null) {
final Type [] bounds = variableType.bounds();
if (bounds.length > 0) {
text("? extends ");
for (int i = 0; i < bounds.length; i++) {
typeLink(source, bounds[i]);
if (i < bounds.length - 1) {
text(" & ");
}
}
}
}
else {
typeLink(source, type);
}
}
}
示例2: parseTypeInfo
import com.sun.javadoc.Type; //导入方法依赖的package包/类
protected TypeInfo parseTypeInfo(Type type) {
TypeInfo typeInfoNode = objectFactory.createTypeInfo();
typeInfoNode.setName(type.simpleTypeName());
typeInfoNode.setDisplayName(type.simpleTypeName());
if (type.isPrimitive()) {
typeInfoNode.setIdentifier(type.qualifiedTypeName());
} else {
typeInfoNode.setIdentifier(parseIdentifier(type));
}
typeInfoNode.setFull(type.qualifiedTypeName());
String dimension = type.dimension();
if (dimension.length() > 0) {
typeInfoNode.setDimension(dimension);
}
WildcardType wildcard = type.asWildcardType();
if (wildcard != null) {
typeInfoNode.setWildcard(parseWildcard(wildcard));
}
ParameterizedType parameterized = type.asParameterizedType();
if (parameterized != null) {
for (Type typeArgument : parameterized.typeArguments()) {
typeInfoNode.getGeneric().add(parseTypeInfo(typeArgument));
}
}
return typeInfoNode;
}
示例3: makeElementTypeInfo
import com.sun.javadoc.Type; //导入方法依赖的package包/类
/**
* Convert a javadoc Type object into an object of my TypeInfo class.
* @param errInfo
* @param type
* @param errorContext
* @return TypeInfo object
* @throws GeneratorException
*/
private TypeInfo makeElementTypeInfo(ErrorInfo errInfo, Type type, String errorContext) throws GeneratorException {
errInfo = errInfo.copy();
if (type == null) return null;
TypeInfo tinfo = null;
WildcardType wtype = type.asWildcardType();
String qname = type.qualifiedTypeName();
if (wtype != null) {
// Wildcard Parameter machen keinen Sinn.
// Die Elemente werden sowohl als Konsument als auch als Produzent verwendet.
// http://www.torsten-horn.de/techdocs/java-generics.htm#Wildcard-extends-versus-T-extends
errInfo.msg = "Wildcard parameter types are unsupported, please replace type=\"" + type +"\" by \"Object\".";
throw new GeneratorException(errInfo);
}
else {
ParameterizedType ptype = type.asParameterizedType();
List<TypeInfo> argInfos = getParameterizedTypeArgs(errInfo, ptype, errorContext);
ClassDoc cls = type.asClassDoc();
boolean isEnum = false;
boolean isInline = false;
boolean isFinal = false;
if (cls != null) {
isEnum = cls.isEnum() || cls.isEnumConstant();
isInline = isInline(cls);
isFinal = cls.isFinal();
}
tinfo = classDB.createTypeInfo(
type.simpleTypeName(),
qname,
type.dimension(),
argInfos,
isEnum,
isFinal,
isInline);
makeSerialInfoForCollectionType(errInfo, tinfo);
}
return tinfo;
}