本文整理匯總了Java中com.squareup.javapoet.ClassName類的典型用法代碼示例。如果您正苦於以下問題:Java ClassName類的具體用法?Java ClassName怎麽用?Java ClassName使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
ClassName類屬於com.squareup.javapoet包,在下文中一共展示了ClassName類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: modelSuperInterfaces
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private List<TypeName> modelSuperInterfaces() {
List<TypeName> interfaces = new ArrayList<>();
if (implementStructuredPojoInterface()) {
interfaces.add(ClassName.get(StructuredPojo.class));
}
switch (shapeModel.getShapeType()) {
case Exception:
case Model:
case Request:
case Response:
interfaces.add(toCopyableBuilderInterface());
break;
default:
break;
}
return interfaces;
}
示例2: newBuilder
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
static Builder newBuilder(TypeElement enclosingElement) {
TypeMirror typeMirror = enclosingElement.asType();
boolean isView = isSubtypeOfType(typeMirror, VIEW_TYPE);
boolean isActivity = isSubtypeOfType(typeMirror, ACTIVITY_TYPE);
boolean isDialog = isSubtypeOfType(typeMirror, DIALOG_TYPE);
TypeName targetType = TypeName.get(typeMirror);
if (targetType instanceof ParameterizedTypeName) {
targetType = ((ParameterizedTypeName) targetType).rawType;
}
String packageName = getPackage(enclosingElement).getQualifiedName().toString();
String className = enclosingElement.getQualifiedName().toString().substring(
packageName.length() + 1).replace('.', '$');
ClassName bindingClassName = ClassName.get(packageName, className + "_ViewBinding");
boolean isFinal = enclosingElement.getModifiers().contains(Modifier.FINAL);
return new Builder(targetType, bindingClassName, isFinal, isView, isActivity, isDialog);
}
示例3: BindingSet
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private BindingSet(TypeName targetTypeName, ClassName bindingClassName, boolean isFinal,
boolean isView, boolean isActivity,boolean isFragment, boolean isDialog, ImmutableList<ViewBinding> viewBindings,
ImmutableList<FieldCollectionViewBinding> collectionBindings,
ImmutableList<ResourceBinding> resourceBindings, BindingSet parentBinding, @LayoutRes int layoutId) {
this.isFinal = isFinal;
this.targetTypeName = targetTypeName;
this.bindingClassName = bindingClassName;
this.isView = isView;
this.isActivity = isActivity;
this.isFragment = isFragment;
this.isDialog = isDialog;
this.viewBindings = viewBindings;
this.collectionBindings = collectionBindings;
this.resourceBindings = resourceBindings;
this.parentBinding = parentBinding;
this.layoutId = layoutId;
}
示例4: buildDaggerModule
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
@Nonnull
private static TypeSpec buildDaggerModule( @Nonnull final ComponentDescriptor descriptor )
{
final TypeSpec.Builder builder = TypeSpec.classBuilder( "DaggerModule" );
builder.addModifiers( Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL );
builder.addAnnotation( ClassName.bestGuess( Constants.DAGGER_MODULE_CLASSNAME ) );
final MethodSpec.Builder method =
MethodSpec.methodBuilder( "provideComponent" ).
addAnnotation( ClassName.bestGuess( Constants.DAGGER_PROVIDES_CLASSNAME ) ).
addModifiers( Modifier.STATIC ).
addParameter( descriptor.getClassNameToConstruct(), "component", Modifier.FINAL ).
returns( COMPONENT_CLASSNAME ).
addStatement( "return component" );
builder.addMethod( method.build() );
return builder.build();
}
示例5: registerItem
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
@Override
protected void registerItem(EndpointsEntry entry, MethodSpec.Builder methodBuilder) {
final FullClassName handlerEndpoint = new FullClassName(entry.element.fullQualifiedNoneGenericName() + "EndpointHandler");
String path = entry.element.getAnnotation(Handler.class).value();
ClassName handlerEndpointType = ClassName.get(handlerEndpoint.asPackage(), handlerEndpoint.asSimpleName());
MethodSpec getMethod = MethodSpec.methodBuilder("get")
.addAnnotation(Override.class)
.addModifiers(Modifier.PUBLIC)
.returns(handlerEndpointType)
.addStatement("return new $T()", handlerEndpointType)
.build();
TypeSpec factoryType = TypeSpec.anonymousClassBuilder("")
.addSuperinterface(ParameterizedTypeName.get(ClassName.get(Supplier.class), handlerEndpointType.box()))
.addMethod(getMethod)
.build();
methodBuilder.addStatement("registry.registerEndpoint(\"" + path + "\", $L)", factoryType);
}
示例6: generateSharedProperties
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
public static boolean generateSharedProperties(Collection<FieldData> fields,
Elements elements, Filer filer, ProcessorPrinter pp){
final ClassName cn_sp = ClassName.get(PKG_DM_INTERNAL, SIMPLE_NAME_SHARED_PROP);
CodeBlock.Builder staticBuilder = CodeBlock.builder();
for(FieldData fd : fields){
staticBuilder.add("$T.putToCache($S, $S, $L);\n", cn_sp, fd.getTypeCompat().toString(),
fd.getPropertyName(), fd.getComplexType());
}
String classSimpleName = SIMPLE_NAME_SHARED_PROP + "_" + findBestIndex(elements);
TypeSpec typeSpec = TypeSpec.classBuilder(classSimpleName)
.addModifiers(Modifier.PUBLIC, Modifier.FINAL)
.addStaticBlock(staticBuilder.build())
.addJavadoc(CodeBlock.of(DOC))
.build();
try {
JavaFile javaFile = JavaFile.builder(PKG_DM_INTERNAL, typeSpec)
.build();
// System.out.println(javaFile.toString());
javaFile.writeTo(filer);
} catch (IOException e) {
pp.error(TAG, "generateSharedProperties", Util.toString(e));
return false;
}
return true;
}
示例7: parseCompiledR
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private void parseCompiledR(String respectivePackageName, TypeElement rClass) {
for (Element element : rClass.getEnclosedElements()) {
String innerClassName = element.getSimpleName().toString();
if (SUPPORTED_TYPES.contains(innerClassName)) {
for (Element enclosedElement : element.getEnclosedElements()) {
if (enclosedElement instanceof VariableElement) {
VariableElement variableElement = (VariableElement) enclosedElement;
Object value = variableElement.getConstantValue();
if (value instanceof Integer) {
int id = (Integer) value;
ClassName rClassName =
ClassName.get(elementUtils.getPackageOf(variableElement).toString(), "R",
innerClassName);
String resourceName = variableElement.getSimpleName().toString();
QualifiedId qualifiedId = new QualifiedId(respectivePackageName, id);
symbols.put(qualifiedId, new Id(id, rClassName, resourceName));
}
}
}
}
}
}
示例8: builderCopyMethodForList
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private MethodSpec builderCopyMethodForList() {
TypeName keyType = typeProvider.getTypeNameForSimpleType(memberModel.getMapModel().getKeyModel()
.getVariable().getVariableType());
ClassName valueParameter = poetExtensions.getModelClass(memberModel.getMapModel().getValueModel().getC2jShape());
ClassName builderForParameter = valueParameter.nestedClass("Builder");
TypeName parameterType =
ParameterizedTypeName.get(ClassName.get(Map.class), keyType, WildcardTypeName.subtypeOf(builderForParameter));
CodeBlock code =
CodeBlock.builder()
.beginControlFlow("if ($N == null)", memberParamName())
.addStatement("return null")
.endControlFlow()
.addStatement("return $N($N.entrySet().stream().collect(toMap($T::getKey, e -> e.getValue().build())))",
serviceModelCopiers.copyMethodName(),
memberParamName(),
Map.Entry.class)
.build();
return MethodSpec.methodBuilder(serviceModelCopiers.builderCopyMethodName())
.addModifiers(Modifier.STATIC)
.addParameter(parameterType, memberParamName())
.returns(typeProvider.fieldType(memberModel))
.addCode(code)
.build();
}
示例9: generateListType
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
@Nonnull
private TypeName generateListType(@Nonnull String className, @Nonnull JsonValue value, @Nonnull ClassBuilder builder) {
if (value.isArray()) {
final JsonValue firstValue = value.asArray()
.stream()
.findFirst()
.orElse(new JsonNull());
final TypeName type = generateListType(className, firstValue, builder);
return ParameterizedTypeName.get(ClassName.get(List.class), type);
}
if (value.isObject()) {
final TypeSpec innerClass = fromObject(className, value.asObject(), Modifier.PUBLIC, Modifier.STATIC);
builder.addInnerType(innerClass);
final TypeName innerClassType = ClassName.bestGuess(innerClass.name);
return ParameterizedTypeName.get(ClassName.get(List.class), innerClassType);
}
return ParameterizedTypeName.get(ClassName.get(List.class), value.getType().box());
}
示例10: builderBuild
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
public static MethodSpec builderBuild(ClassName className, List<MethodSpec> methodSpecList, List<FieldSpec> fieldSpecList) {
String name = className.simpleName();
CodeBlock.Builder codeBlock = CodeBlock.builder();
for (int i = 0; i < methodSpecList.size(); i++) {
codeBlock.add("$N.$N(this.$N);\n", name.toLowerCase(), methodSpecList.get(i).name, fieldSpecList.get(i).name);
}
return MethodSpec
.methodBuilder("build")
.addModifiers(Modifier.PUBLIC)
.addStatement("$N $N = new $N()", name, name.toLowerCase(), name)
.addCode(codeBlock.build())
.returns(className)
.addStatement("return $N", name.toLowerCase())
.build();
}
示例11: createFoldVoidSignature
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private MethodSpec.Builder createFoldVoidSignature(
Iterable<TypeVariableName> availableTypeVariables) throws ParserException {
MethodSpec.Builder builder =
MethodSpec.methodBuilder("match").addModifiers(Modifier.PUBLIC).returns(void.class);
for (OutputValue arg : values) {
TypeName visitor =
ParameterizedTypeName.get(
ClassName.get(Consumer.class),
withoutMissingTypeVariables(arg.parameterizedOutputClass(), availableTypeVariables));
builder.addParameter(
ParameterSpec.builder(visitor, asCamelCase(arg.name()))
.addAnnotation(Nonnull.class)
.build());
}
return builder;
}
示例12: writeBinding
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private void writeBinding(String targetClassName, Set<Element> annotationFields)
throws IOException {
String packageName = null;
int lastDot = targetClassName.lastIndexOf('.');
if (lastDot > 0) {
packageName = targetClassName.substring(0, lastDot);
}
String targetSimpleClassName = targetClassName.substring(lastDot + 1);
String bindingClassName = targetClassName + "_PrefBinding";
String bindingSimpleClassName = bindingClassName.substring(lastDot + 1);
ClassName targetClass = ClassName.get(packageName, targetSimpleClassName);
TypeSpec binding = TypeSpec.classBuilder(bindingSimpleClassName)
.addModifiers(Modifier.PUBLIC)
.addMethod(buildConstructor(targetClass, annotationFields))
.build();
JavaFile javaFile = JavaFile.builder(packageName, binding).build();
javaFile.writeTo(processingEnv.getFiler());
}
示例13: generateAdditionalRequestManagerMethodNew
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private MethodSpec generateAdditionalRequestManagerMethodNew(
ExecutableElement extensionMethod) {
String returnType = processorUtil.findClassValuesFromAnnotationOnClassAsNames(extensionMethod,
GlideType.class).iterator().next();
ClassName returnTypeClassName = ClassName.bestGuess(returnType);
ParameterizedTypeName parameterizedTypeName =
ParameterizedTypeName.get(generatedRequestBuilderClassName, returnTypeClassName);
return MethodSpec.methodBuilder(extensionMethod.getSimpleName().toString())
.addModifiers(Modifier.PUBLIC)
.returns(parameterizedTypeName)
.addJavadoc(processorUtil.generateSeeMethodJavadoc(extensionMethod))
.addStatement(
"return ($T) $T.$N(this.as($T.class))",
parameterizedTypeName,
extensionMethod.getEnclosingElement(),
extensionMethod.getSimpleName(),
returnTypeClassName)
.build();
}
示例14: overrideGlideWithMethod
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private MethodSpec overrideGlideWithMethod(
String packageName, TypeSpec generatedRequestManager, ExecutableElement methodToOverride) {
ClassName generatedRequestManagerClassName =
ClassName.get(packageName, generatedRequestManager.name);
List<? extends VariableElement> parameters = methodToOverride.getParameters();
Preconditions.checkArgument(
parameters.size() == 1, "Expected size of 1, but got %s", methodToOverride);
VariableElement parameter = parameters.iterator().next();
return MethodSpec.methodBuilder(methodToOverride.getSimpleName().toString())
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addJavadoc(processorUtil.generateSeeMethodJavadoc(methodToOverride))
.returns(generatedRequestManagerClassName)
.addParameter(ClassName.get(parameter.asType()), parameter.getSimpleName().toString())
.addStatement("return ($T) $T.$N($L)",
generatedRequestManagerClassName, glideType,
methodToOverride.getSimpleName().toString(),
parameter.getSimpleName())
.build();
}
示例15: getSuperMethodSpecs
import com.squareup.javapoet.ClassName; //導入依賴的package包/類
private List<MethodSpec> getSuperMethodSpecs() {
List<MethodSpec> methodSpecs = new ArrayList<>();
this.annotatedClazz.annotatedElement.getEnclosedElements().stream()
.filter(element -> element instanceof ExecutableElement)
.map(element -> (ExecutableElement) element)
.forEach(method -> {
ClassName preferenceRoom = ClassName.get(PreferenceRoom.class);
MethodSpec.Builder builder = MethodSpec.overriding(method);
MethodSpec methodSpec = builder.addStatement("$T.inject($N)", preferenceRoom, method.getParameters().get(0).getSimpleName()).build();
if(methodSpec.returnType != TypeName.get(Void.TYPE)) {
throw new VerifyException(String.format("Returned '%s'. only return type can be void.", methodSpec.returnType.toString()));
}
methodSpecs.add(methodSpec);
});
return methodSpecs;
}