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


Java AutoValue类代码示例

本文整理汇总了Java中com.google.auto.value.AutoValue的典型用法代码示例。如果您正苦于以下问题:Java AutoValue类的具体用法?Java AutoValue怎么用?Java AutoValue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: buildClassWithInstantiatorStrategy

import com.google.auto.value.AutoValue; //导入依赖的package包/类
private TypeSpec.Builder buildClassWithInstantiatorStrategy(
    TypeElement encodedType, @Nullable TypeElement dependency) {
  ExecutableElement constructor = selectInstantiator(encodedType);
  PartitionedParameters parameters = isolateDependency(constructor);
  if (dependency != null) {
    if (parameters.dependency != null) {
      throw new IllegalArgumentException(
          encodedType.getQualifiedName()
              + " has both a @Dependency annotated constructor parameter "
              + "and a non-Void dependency element "
              + dependency.getQualifiedName());
    }
    parameters.dependency = dependency;
  }

  TypeSpec.Builder codecClassBuilder =
      AutoCodecUtil.initializeCodecClassBuilder(encodedType, parameters.dependency);

  if (encodedType.getAnnotation(AutoValue.class) == null) {
    initializeUnsafeOffsets(codecClassBuilder, encodedType, parameters.fields);
    codecClassBuilder.addMethod(buildSerializeMethodWithInstantiator(encodedType, parameters));
  } else {
    codecClassBuilder.addMethod(
        buildSerializeMethodWithInstantiatorForAutoValue(encodedType, parameters));
  }

  MethodSpec.Builder deserializeBuilder =
      AutoCodecUtil.initializeDeserializeMethodBuilder(encodedType, parameters.dependency);
  buildDeserializeBody(deserializeBuilder, parameters.fields);
  addReturnNew(deserializeBuilder, encodedType, constructor);
  codecClassBuilder.addMethod(deserializeBuilder.build());

  return codecClassBuilder;
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:35,代码来源:AutoCodecProcessor.java

示例2: getSupportedAnnotationTypes

import com.google.auto.value.AutoValue; //导入依赖的package包/类
@Override
public Set<String> getSupportedAnnotationTypes() {
    return ImmutableSet.of(AutoValue.class.getName());
}
 
开发者ID:ccheptea,项目名称:auto-value-node,代码行数:5,代码来源:AutoValueNodeProcessor.java

示例3: applicableAnnotations

import com.google.auto.value.AutoValue; //导入依赖的package包/类
@Override public Set<String> applicableAnnotations() {
  return Collections.singleton(AutoValue.class.getName());
}
 
开发者ID:hzsweers,项目名称:inspector,代码行数:4,代码来源:AutoValueInspectorExtension.java

示例4: getSupportedAnnotationTypes

import com.google.auto.value.AutoValue; //导入依赖的package包/类
@Override public Set<String> getSupportedAnnotationTypes() {
  return ImmutableSet.of(AutoValue.class.getName(), MoshiAdapterFactory.class.getName());
}
 
开发者ID:rharter,项目名称:auto-value-moshi,代码行数:4,代码来源:AutoValueMoshiAdapterFactoryProcessor.java

示例5: getSupportedAnnotationTypes

import com.google.auto.value.AutoValue; //导入依赖的package包/类
@Override public Set<String> getSupportedAnnotationTypes() {
  return ImmutableSet.of(AutoValue.class.getName(), GsonTypeAdapterFactory.class.getName());
}
 
开发者ID:rharter,项目名称:auto-value-gson,代码行数:4,代码来源:AutoValueGsonAdapterFactoryProcessor.java


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