當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。