org.apache.beam.sdk.values.TypeDescriptor.getRawType()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中org.apache.beam.sdk.values.TypeDescriptor.getRawType()方法的一些代码示例,展示了TypeDescriptor.getRawType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TypeDescriptor.getRawType()方法的具体详情如下:
包路径:org.apache.beam.sdk.values.TypeDescriptor
类名称:TypeDescriptor
方法名:getRawType

TypeDescriptor.getRawType介绍

[英]Returns the Class underlying the Type represented by this TypeDescriptor.
[中]返回此TypeDescriptor表示的类型的基础类。

代码示例

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Nullable
private static TypeDescriptor<? extends BoundedWindow> getWindowType(
  TypeDescriptor<?> fnClass, Method method) {
 Type[] params = method.getGenericParameterTypes();
 for (Type param : params) {
  TypeDescriptor<?> paramT = fnClass.resolveType(param);
  if (BoundedWindow.class.isAssignableFrom(paramT.getRawType())) {
   return (TypeDescriptor<? extends BoundedWindow>) paramT;
  }
 }
 return null;
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

private void checkString(String context, TypeDescriptor<?> type) {
 // For types that are encoded as strings, we need to make sure they're in an approved
 // whitelist. For other types that are annotated @Stringable, Avro will just use the
 // #toString() methods, which has no guarantees of determinism.
 if (!DETERMINISTIC_STRINGABLE_CLASSES.contains(type.getRawType())) {
  reportError(context, "%s may not have deterministic #toString()", type);
 }
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-extensions-protobuf

/**
 * Returns a {@link ProtoCoder} for the Protocol Buffers {@link Message} indicated by the given
 * {@link TypeDescriptor}.
 */
public static <T extends Message> ProtoCoder<T> of(TypeDescriptor<T> protoMessageType) {
 @SuppressWarnings("unchecked")
 Class<T> protoMessageClass = (Class<T>) protoMessageType.getRawType();
 return of(protoMessageClass);
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

/**
 * Returns a {@link SerializableCoder} instance for the provided element type.
 *
 * @param <T> the element type
 */
public static <T extends Serializable> SerializableCoder<T> of(TypeDescriptor<T> type) {
 @SuppressWarnings("unchecked")
 Class<T> clazz = (Class<T>) type.getRawType();
 return new SerializableCoder<>(clazz, type);
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Nullable
private static TypeDescriptor<?> getTrackerType(TypeDescriptor<?> fnClass, Method method) {
 Type[] params = method.getGenericParameterTypes();
 for (Type param : params) {
  TypeDescriptor<?> paramT = fnClass.resolveType(param);
  if (RestrictionTracker.class.isAssignableFrom(paramT.getRawType())) {
   return paramT;
  }
 }
 return null;
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

/**
 * Returns an {@code AvroCoder} instance for the provided element type.
 *
 * @param <T> the element type
 */
public static <T> AvroCoder<T> of(TypeDescriptor<T> type) {
 @SuppressWarnings("unchecked")
 Class<T> clazz = (Class<T>) type.getRawType();
 return of(clazz);
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
protected Type convertPrimitive(TypeDescriptor<?> type) {
 return ClassUtils.primitiveToWrapper(type.getRawType());
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

public List<String> check(TypeDescriptor<?> type, Schema schema) {
 recurse(type.getRawType().getName(), type, schema);
 return reasons;
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-io-hadoop-format

/** Validates translation function given for key/value translation. */
private void validateTranslationFunction(
  TypeDescriptor<?> inputType, SimpleFunction<?, ?> simpleFunction, String errorMsg) {
 if (simpleFunction != null && !simpleFunction.getInputTypeDescriptor().equals(inputType)) {
  throw new IllegalArgumentException(
    String.format(errorMsg, getinputFormatClass().getRawType(), inputType.getRawType()));
 }
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
 public <T> Coder<T> coderFor(
   TypeDescriptor<T> typeDescriptor, List<? extends Coder<?>> componentCoders)
   throws CannotProvideCoderException {
  CoderProvider factory = commonTypesToCoderProviders.get(typeDescriptor.getRawType());
  if (factory == null) {
   throw new CannotProvideCoderException(
     String.format("%s is not one of the common types.", typeDescriptor));
  }
  return factory.coderFor(typeDescriptor, componentCoders);
 }
}

代码示例来源:origin: org.talend.components/components-adapter-beam

@Override
  public <T> Coder<T> coderFor(TypeDescriptor<T> typeDescriptor, List<? extends Coder<?>> componentCoders)
      throws CannotProvideCoderException {
    Type t = typeDescriptor.getType();
    if (IndexedRecord.class.isAssignableFrom(typeDescriptor.getRawType())) {
      Coder<T> c = LazyAvroCoder.<T> of();
      return c;
    }
    throw new CannotProvideCoderException(String.format("Cannot provide %s because %s is not implement IndexedRecord",
        LazyAvroCoder.class.getSimpleName(), typeDescriptor));
  }
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
 public <T> Coder<T> coderFor(
   TypeDescriptor<T> typeDescriptor, List<? extends Coder<?>> componentCoders)
   throws CannotProvideCoderException {
  return OldCustomSerializableCoder.of((Class) typeDescriptor.getRawType());
 }
};

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

private void checkMap(String context, TypeDescriptor<?> type, Schema schema) {
 if (!isSubtypeOf(type, SortedMap.class)) {
  reportError(context, "%s may not be deterministically ordered", type);
 }
 // Avro (currently) asserts that all keys are strings.
 // In case that changes, we double check that the key was a string:
 Class<?> keyType = type.resolveType(Map.class.getTypeParameters()[0]).getRawType();
 if (!String.class.equals(keyType)) {
  reportError(context, "map keys should be Strings, but was %s", keyType);
 }
 recurse(context, type.resolveType(Map.class.getTypeParameters()[1]), schema.getValueType());
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
public StackManipulation dispatch(RestrictionTrackerParameter p) {
 // DoFnInvoker.ArgumentProvider.restrictionTracker() returns a RestrictionTracker,
 // but the @ProcessElement method expects a concrete subtype of it.
 // Insert a downcast.
 return new StackManipulation.Compound(
   simpleExtraContextParameter(RESTRICTION_TRACKER_PARAMETER_METHOD),
   TypeCasting.to(new TypeDescription.ForLoadedType(p.trackerT().getRawType())));
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
public StackManipulation dispatch(WindowParameter p) {
 return new StackManipulation.Compound(
   simpleExtraContextParameter(WINDOW_PARAMETER_METHOD),
   TypeCasting.to(new TypeDescription.ForLoadedType(p.windowT().getRawType())));
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
protected StackManipulation convertPrimitive(TypeDescriptor<?> type) {
 ForLoadedType loadedType = new ForLoadedType(type.getRawType());
 // Box the primitive type.
 return new Compound(
   readValue,
   Assigner.DEFAULT.assign(
     loadedType.asGenericType(), loadedType.asBoxed().asGenericType(), Typing.STATIC));
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
public StackManipulation dispatch(ElementParameter p) {
 return new StackManipulation.Compound(
   pushDelegate,
   MethodInvocation.invoke(
     getExtraContextFactoryMethodDescription(ELEMENT_PARAMETER_METHOD, DoFn.class)),
   TypeCasting.to(new TypeDescription.ForLoadedType(p.elementT().getRawType())));
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Override
protected StackManipulation convertPrimitive(TypeDescriptor<?> type) {
 ForLoadedType valueType = new ForLoadedType(type.getRawType());
 // Unbox the type.
 return new StackManipulation.Compound(
   readValue,
   Assigner.DEFAULT.assign(
     valueType.asBoxed().asGenericType(),
     valueType.asUnboxed().asGenericType(),
     Typing.STATIC));
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

@Test
public void testTypeDescriptorOfRawType() throws Exception {
 assertEquals(
   TypeToken.of(String.class).getRawType(), TypeDescriptor.of(String.class).getRawType());
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-core

private static DynamicType.Builder<FieldValueGetter> implementGetterMethods(
  DynamicType.Builder<FieldValueGetter> builder, Method method) {
 TypeInformation typeInformation = TypeInformation.forGetter(method);
 return builder
   .method(ElementMatchers.named("name"))
   .intercept(FixedValue.reference(typeInformation.getName()))
   .method(ElementMatchers.named("type"))
   .intercept(FixedValue.reference(typeInformation.getType().getRawType()))
   .method(ElementMatchers.named("get"))
   .intercept(new InvokeGetterInstruction(method));
}

相关文章