org.springframework.oxm.Marshaller.supports()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(99)

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

Marshaller.supports介绍

[英]Indicate whether this marshaller can marshal instances of the supplied type.
[中]指示此封送拆收器是否可以封送所提供类型的实例。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers) {
  return (supportsMimeType(headers) && this.marshaller != null &&
      this.marshaller.supports(payload.getClass()));
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType) {
  return (canWrite(mediaType) && this.marshaller != null && this.marshaller.supports(clazz));
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Check whether the given value from the current view's model is eligible
 * for marshalling through the configured {@link Marshaller}.
 * <p>The default implementation calls {@link Marshaller#supports(Class)},
 * unwrapping a given {@link JAXBElement} first if applicable.
 * @param modelKey the value's key in the model (never {@code null})
 * @param value the value to check (never {@code null})
 * @return whether the given value is to be considered as eligible
 * @see Marshaller#supports(Class)
 */
protected boolean isEligibleForMarshalling(String modelKey, Object value) {
  Assert.state(this.marshaller != null, "No Marshaller set");
  Class<?> classToCheck = value.getClass();
  if (value instanceof JAXBElement) {
    classToCheck = ((JAXBElement<?>) value).getDeclaredType();
  }
  return this.marshaller.supports(classToCheck);
}

代码示例来源:origin: org.springframework/spring-web

@Override
public boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType) {
  return (canWrite(mediaType) && this.marshaller != null && this.marshaller.supports(clazz));
}

代码示例来源:origin: org.springframework/spring-webmvc

/**
 * Check whether the given value from the current view's model is eligible
 * for marshalling through the configured {@link Marshaller}.
 * <p>The default implementation calls {@link Marshaller#supports(Class)},
 * unwrapping a given {@link JAXBElement} first if applicable.
 * @param modelKey the value's key in the model (never {@code null})
 * @param value the value to check (never {@code null})
 * @return whether the given value is to be considered as eligible
 * @see Marshaller#supports(Class)
 */
protected boolean isEligibleForMarshalling(String modelKey, Object value) {
  Assert.state(this.marshaller != null, "No Marshaller set");
  Class<?> classToCheck = value.getClass();
  if (value instanceof JAXBElement) {
    classToCheck = ((JAXBElement<?>) value).getDeclaredType();
  }
  return this.marshaller.supports(classToCheck);
}

代码示例来源:origin: spring-projects/spring-batch

/**
 * Write the value objects and flush them to the file.
 * 
 * @param items the value object
 *
 * @throws IOException thrown if general error occurs.
 * @throws XmlMappingException thrown if error occurs during XML Mapping.
 */
@Override
public void write(List<? extends T> items) throws XmlMappingException, IOException {
  if(!this.initialized) {
    throw new WriterNotOpenException("Writer must be open before it can be written to");
  }
  currentRecordCount += items.size();
  for (Object object : items) {
    Assert.state(marshaller.supports(object.getClass()),
        "Marshaller must support the class of the marshalled object");
    Result result = createStaxResult();
    marshaller.marshal(object, result);
  }
  try {
    eventWriter.flush();
    if (forceSync) {
      channel.force(false);
    }            
  }
  catch (XMLStreamException | IOException e) {
    throw new WriteFailedException("Failed to flush the events", e);
  } 
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testRenderUnsupportedModel() throws Exception {
  Object toBeMarshalled = new Object();
  String modelKey = "key";
  Map<String, Object> model = new HashMap<>();
  model.put(modelKey, toBeMarshalled);
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(Object.class)).willReturn(false);
  try {
    view.render(model, request, response);
    fail("IllegalStateException expected");
  }
  catch (IllegalStateException ex) {
    // expected
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void renderModelKeyUnsupported() throws Exception {
  Object toBeMarshalled = new Object();
  String modelKey = "key";
  view.setModelKey(modelKey);
  Map<String, Object> model = new HashMap<>();
  model.put(modelKey, toBeMarshalled);
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(Object.class)).willReturn(false);
  try {
    view.render(model, request, response);
    fail("IllegalStateException expected");
  }
  catch (IllegalStateException ex) {
    // expected
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void renderModelKeyWithJaxbElement() throws Exception {
  String toBeMarshalled = "value";
  String modelKey = "key";
  view.setModelKey(modelKey);
  Map<String, Object> model = new HashMap<>();
  model.put(modelKey, new JAXBElement<>(new QName("model"), String.class, toBeMarshalled));
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(String.class)).willReturn(true);
  marshallerMock.marshal(eq(toBeMarshalled), isA(StreamResult.class));
  view.render(model, request, response);
  assertEquals("Invalid content type", "application/xml", response.getContentType());
  assertEquals("Invalid content length", 0, response.getContentLength());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void renderNoModelKeyAndBindingResultFirst() throws Exception {
  Object toBeMarshalled = new Object();
  String modelKey = "key";
  Map<String, Object> model = new LinkedHashMap<>();
  model.put(BindingResult.MODEL_KEY_PREFIX + modelKey, new BeanPropertyBindingResult(toBeMarshalled, modelKey));
  model.put(modelKey, toBeMarshalled);
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(BeanPropertyBindingResult.class)).willReturn(true);
  given(marshallerMock.supports(Object.class)).willReturn(true);
  view.render(model, request, response);
  assertEquals("Invalid content type", "application/xml", response.getContentType());
  assertEquals("Invalid content length", 0, response.getContentLength());
  verify(marshallerMock).marshal(eq(toBeMarshalled), isA(StreamResult.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void renderNoModelKey() throws Exception {
  Object toBeMarshalled = new Object();
  String modelKey = "key";
  Map<String, Object> model = new HashMap<>();
  model.put(modelKey, toBeMarshalled);
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(Object.class)).willReturn(true);
  view.render(model, request, response);
  assertEquals("Invalid content type", "application/xml", response.getContentType());
  assertEquals("Invalid content length", 0, response.getContentLength());
  verify(marshallerMock).marshal(eq(toBeMarshalled), isA(StreamResult.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void canWrite() {
  Marshaller marshaller = mock(Marshaller.class);
  given(marshaller.supports(Integer.class)).willReturn(false);
  given(marshaller.supports(String.class)).willReturn(true);
  MarshallingHttpMessageConverter converter = new MarshallingHttpMessageConverter();
  converter.setMarshaller(marshaller);
  assertFalse(converter.canWrite(Boolean.class, MediaType.TEXT_PLAIN));
  assertFalse(converter.canWrite(Integer.class, MediaType.TEXT_XML));
  assertTrue(converter.canWrite(String.class, MediaType.TEXT_XML));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void renderModelKey() throws Exception {
  Object toBeMarshalled = new Object();
  String modelKey = "key";
  view.setModelKey(modelKey);
  Map<String, Object> model = new HashMap<>();
  model.put(modelKey, toBeMarshalled);
  MockHttpServletRequest request = new MockHttpServletRequest();
  MockHttpServletResponse response = new MockHttpServletResponse();
  given(marshallerMock.supports(Object.class)).willReturn(true);
  marshallerMock.marshal(eq(toBeMarshalled), isA(StreamResult.class));
  view.render(model, request, response);
  assertEquals("Invalid content type", "application/xml", response.getContentType());
  assertEquals("Invalid content length", 0, response.getContentLength());
}

代码示例来源:origin: org.springframework/spring-messaging

@Override
protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers) {
  return (supportsMimeType(headers) && this.marshaller != null &&
      this.marshaller.supports(payload.getClass()));
}

代码示例来源:origin: apache/servicemix-bundles

@Override
protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers) {
  return (supportsMimeType(headers) && this.marshaller != null &&
      this.marshaller.supports(payload.getClass()));
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging

@Override
protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers) {
  return (supportsMimeType(headers) && this.marshaller != null &&
      this.marshaller.supports(payload.getClass()));
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public boolean canRead(Class<?> clazz, @Nullable MediaType mediaType) {
  return (canRead(mediaType) && this.unmarshaller != null && this.unmarshaller.supports(clazz));
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType) {
  return (canWrite(mediaType) && this.marshaller != null && this.marshaller.supports(clazz));
}

代码示例来源:origin: org.springframework.ws/spring-ws-core

private boolean supportsReturnType(Method method) {
  if (Void.TYPE.equals(method.getReturnType())) {
    return true;
  }
  else {
    if (getMarshaller() instanceof GenericMarshaller) {
      return ((GenericMarshaller) getMarshaller()).supports(method.getGenericReturnType());
    }
    else {
      return getMarshaller().supports(method.getReturnType());
    }
  }
}

代码示例来源:origin: apache/servicemix-bundles

private boolean supportsReturnType(Method method) {
  if (Void.TYPE.equals(method.getReturnType())) {
    return true;
  }
  else {
    if (getMarshaller() instanceof GenericMarshaller) {
      return ((GenericMarshaller) getMarshaller()).supports(method.getGenericReturnType());
    }
    else {
      return getMarshaller().supports(method.getReturnType());
    }
  }
}

相关文章

微信公众号

最新文章

更多