org.mule.runtime.api.metadata.DataType.fromType()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(135)

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

DataType.fromType介绍

[英]Shortcut to create a DataType using just a Java type. Default values will be used for mimeTypeand encoding.
[中]仅使用Java类型创建数据类型的快捷方式。默认值将用于mimetype和编码。

代码示例

代码示例来源:origin: mulesoft/mule

/**
 * Uses {@link org.mule.runtime.api.transformation.TransformationService} to get representation of a message for a given
 * {@link Class}
 *
 * @param message message to get payload from
 * @param clazz type of the payload to be transformed to
 * @return representation of the message payload of the required class
 * @throws Exception if there is an unexpected error obtaining the payload representation
 */
protected <T> T getPayload(Message message, Class<T> clazz) throws Exception {
 return (T) getPayload(message, DataType.fromType(clazz));
}

代码示例来源:origin: mulesoft/mule

public ObjectToFruitLover() {
 this.setReturnDataType(DataType.fromType(FruitLover.class));
 this.registerSourceType(DataType.STRING);
 this.registerSourceType(DataType.fromType(FruitLover.class));
}

代码示例来源:origin: mulesoft/mule

private List<TypedValue<?>> createListOfIntegers() {
 List<TypedValue<?>> integers = new ArrayList<>(3);
 for (int i = 0; i < 3; i++) {
  integers.add(new TypedValue<>(i, fromType(Integer.class)));
 }
 return integers;
}

代码示例来源:origin: mulesoft/mule

private Transformer getInvalidTransformer() throws Exception {
 AbstractTransformer transformer = new AbstractTransformer() {
  @Override
  protected Object doTransform(final Object src, final Charset encoding) throws TransformerException {
   throw new RuntimeException("This transformer must not perform any transformations.");
  }
 };
 // Use this class as a bogus source type to enforce a simple invalid transformer
 transformer.registerSourceType(DataType.fromType(this.getClass()));
 return transformer;
}

代码示例来源:origin: mulesoft/mule

public void doTestBadReturnType(Transformer tran, Object src) throws Exception {
 tran.setReturnDataType(DataType.fromType(InvalidSatsuma.class));
 try {
  tran.transform(src);
  fail("Should throw exception for bad return type");
 } catch (TransformerException e) {
  // expected
 }
}

代码示例来源:origin: mulesoft/mule

@OnBackPressure
public void onBackPressure(BackPressureContext ctx, NotificationEmitter notificationEmitter) {
 notificationEmitter.fireLazy(BATCH_FAILED, () -> ctx.getSourceCallbackContext().getVariable(BATCH_NUMBER).get(),
                fromType(Integer.class));
 heisenberg.onBackPressure(ctx);
}

代码示例来源:origin: mulesoft/mule

@Override
public List<FunctionParameter> parameters() {
 List<FunctionParameter> parameters = new ArrayList<>();
 parameters.add(new FunctionParameter("word", STRING));
 parameters.add(new FunctionParameter("times", fromType(Integer.class), ctx -> 1));
 return parameters;
}

代码示例来源:origin: mulesoft/mule

@Test
public void proxy() {
 final Class<?> muleMessageProxy = Proxy.getProxyClass(DataTypeBuilderTestCase.class.getClassLoader(), Message.class);
 final DataType dataType = DataType.fromType(muleMessageProxy);
 assertThat(dataType.getType(), is(equalTo(Message.class)));
}

代码示例来源:origin: mulesoft/mule

public NonSerializableToByteArray() {
 super();
 registerSourceType(DataType.fromType(NonSerializable.class));
 setReturnDataType(DataType.BYTE_ARRAY);
}

代码示例来源:origin: mulesoft/mule

@Test
public void getListOfMapsFromJsonCar() throws MuleException {
 AttributeEvaluator attributeEvaluator = getAttributeEvaluator("#[[payload as Object]]", DataType.fromType(List.class));
 List<Map<String, String>> cars = attributeEvaluator.resolveValue(newEvent(JSON_CAR, APPLICATION_JSON));
 Map<String, String> car = cars.get(0);
 assertThat(car, hasEntry(is("price"), is(1000)));
 assertThat(car, hasEntry(is("color"), is("RED")));
}

代码示例来源:origin: mulesoft/mule

@Test
public void buildSimple() {
 final DataType dataType = DataType.fromType(String.class);
 assertThat(dataType, instanceOf(SimpleDataType.class));
 assertThat(dataType.getType(), is(equalTo(String.class)));
}

代码示例来源:origin: mulesoft/mule

@Test
public void getMapFromJsonCar() throws MuleException {
 AttributeEvaluator attributeEvaluator = getAttributeEvaluator("#[payload]", DataType.fromType(Map.class));
 Map<String, String> car = attributeEvaluator.resolveValue(newEvent(JSON_CAR, APPLICATION_JSON));
 assertThat(car, hasEntry(is("price"), is(1000)));
 assertThat(car, hasEntry(is("color"), is("RED")));
}

代码示例来源:origin: mulesoft/mule

@Test
public void buildCollection() {
 final DataType dataType = DataType.fromType(Set.class);
 assertThat(dataType, instanceOf(DefaultCollectionDataType.class));
 assertThat(dataType.getType(), is(equalTo(Set.class)));
 assertThat(((DefaultCollectionDataType) dataType).getItemDataType(), is(OBJECT));
}

代码示例来源:origin: mulesoft/mule

@Test
public void getJavaPojo() throws MuleException {
 AttributeEvaluator attributeEvaluator =
   getAttributeEvaluator(DW_CAR, DataType.fromType(Car.class));
 Object car = attributeEvaluator.resolveValue(newEvent());
 assertThat(car, is(allOf(hasProperty("color", is("RED")), hasProperty("price", is(1000)))));
}

代码示例来源:origin: mulesoft/mule

@Test
public void buildMap() {
 final DataType dataType = DataType.fromType(HashMap.class);
 assertThat(dataType, instanceOf(DefaultMapDataType.class));
 assertThat(dataType.getType(), is(equalTo(HashMap.class)));
 assertThat(((DefaultMapDataType) dataType).getKeyDataType(), is(OBJECT));
 assertThat(((DefaultMapDataType) dataType).getValueDataType(), is(OBJECT));
}

代码示例来源:origin: mulesoft/mule

@Test
public void accessRegistryCglibAnnotatedBean() throws Exception {
 CoreEvent event = testEvent();
 MyBean annotatedMyBean = (MyBean) addAnnotationsToClass(MyBean.class).newInstance();
 annotatedMyBean.setName("DataWeave");
 when(registry.lookupByName("myBean")).thenReturn(of(annotatedMyBean));
 TypedValue evaluate = expressionLanguage.evaluate("app.registry.myBean", fromType(MyBean.class), event,
                          fromSingleComponent("flow"), BindingContext.builder().build(), false);
 assertThat(evaluate.getValue(), is(instanceOf(MyBean.class)));
}

代码示例来源:origin: mulesoft/mule

@Test
public void accessRegistryAnnotatedBean() throws MuleException {
 CoreEvent event = testEvent();
 when(registry.lookupByName("myBean")).thenReturn(of(new MyAnnotatedBean("DataWeave")));
 TypedValue evaluate = expressionLanguage.evaluate("app.registry.myBean", fromType(MyBean.class), event,
                          fromSingleComponent("flow"), BindingContext.builder().build(), false);
 assertThat(evaluate.getValue(), is(instanceOf(MyAnnotatedBean.class)));
}

代码示例来源:origin: mulesoft/mule

private Transformer getIncreaseByOneTransformer() throws Exception {
 AbstractTransformer transformer = new AbstractTransformer() {
  @Override
  protected Object doTransform(Object src, Charset encoding) throws TransformerException {
   return new Integer(((Integer) src).intValue() + 1);
  }
 };
 DataType integerDataType = DataType.fromType(Integer.class);
 transformer.registerSourceType(integerDataType);
 transformer.setReturnDataType(DataType.builder(integerDataType).charset(getDefaultEncoding(muleContext)).build());
 return transformer;
}

代码示例来源:origin: mulesoft/mule

@Test
public void testExactMatch() throws Exception {
 Transformer trans = new MockConverterBuilder().from(DataType.fromType(IOException.class)).to(DataType.BYTE_ARRAY).build();
 TransformerWeighting weighting = new TransformerWeighting(IOException.class, byte[].class, trans);
 assertFalse(weighting.isNotMatch());
 assertTrue(weighting.isExactMatch());
}

代码示例来源:origin: mulesoft/mule

@Test
public void testNoMatchWeighting() throws Exception {
 Transformer trans = new MockConverterBuilder().from(DataType.fromType(Serializable.class)).to(DataType.BYTE_ARRAY).build();
 TransformerWeighting weighting = new TransformerWeighting(FruitBowl.class, byte[].class, trans);
 assertTrue(weighting.isNotMatch());
 assertEquals(-1, weighting.getInputWeighting());
 assertEquals(0, weighting.getOutputWeighting());
}

相关文章