public void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
if(tagName==null) {
Class beanClass = bean.getClass();
String message;
if (beanClass.isAnnotationPresent(XmlRootElement.class)) {
message = Messages.UNABLE_TO_MARSHAL_UNBOUND_CLASS.format(beanClass.getName());
} else {
message = Messages.UNABLE_TO_MARSHAL_NON_ELEMENT.format(beanClass.getName());
}
target.reportError(new ValidationEventImpl(ValidationEvent.ERROR,message,null, null));
} else {
target.startElement(tagName,bean);
target.childAsSoleContent(bean,null);
target.endElement();
if (retainPropertyInfo) {
target.currentProperty.remove();
}
}
}
java类javax.xml.bind.annotation.XmlRootElement的实例源码
ClassBeanInfoImpl.java 文件源码
项目:OLD-OpenJDK8
阅读 22
收藏 0
点赞 0
评论 0
DomXmlDataFormatMapper.java 文件源码
项目:camunda-spin
阅读 15
收藏 0
点赞 0
评论 0
public Object mapJavaToInternal(Object parameter) {
ensureNotNull("Parameter", parameter);
final Class<?> parameterClass = parameter.getClass();
final DOMResult domResult = new DOMResult();
try {
Marshaller marshaller = getMarshaller(parameterClass);
boolean isRootElement = parameterClass.getAnnotation(XmlRootElement.class) != null;
if(isRootElement) {
marshalRootElement(parameter, marshaller, domResult);
}
else {
marshalNonRootElement(parameter, marshaller, domResult);
}
Node node = domResult.getNode();
return ((Document)node).getDocumentElement();
} catch (JAXBException e) {
throw LOG.unableToMapInput(parameter, e);
}
}
ArtifactProcessor.java 文件源码
项目:wso2-axis2
阅读 26
收藏 0
点赞 0
评论 0
/**
* @param cls
* @return true if cls appears to be a JAXB enabled class
*/
private static boolean isJAXB(Class cls) {
// See if the object represents a root element
XmlRootElement root = (XmlRootElement)
getAnnotation(cls,XmlRootElement.class);
if (root != null) {
if (log.isDebugEnabled()) {
log.debug("isJAXB returns true due to presence of @XmlRootElement on " + cls);
}
return true;
}
// See if the object represents an type
XmlType type = (XmlType)
getAnnotation(cls,XmlType.class);
if (type != null) {
if (log.isDebugEnabled()) {
log.debug("isJAXB returns true due to presence of @XmlType on " + cls);
}
return true;
}
if (log.isDebugEnabled()) {
log.debug("isJAXB returns false for" + cls);
}
return false;
}
ToXMLString.java 文件源码
项目:lens
阅读 26
收藏 0
点赞 0
评论 0
public static String toString(Object o) {
if (!(o instanceof JAXBElement) && o.getClass().getAnnotation(XmlRootElement.class) == null
&& o.getClass().getAnnotation(XmlType.class)!= null) {
o = new JAXBElement(new QName("uri:lens:cube:0.1", o.getClass().getAnnotation(XmlType.class).name()),
o.getClass(), null, o);
}
try {
StringWriter stringWriter = new StringWriter();
Class cl = null;
if (o instanceof JAXBElement) {
cl = ((JAXBElement) o).getDeclaredType();
} else {
cl = o.getClass();
}
Marshaller marshaller = getLensJAXBContext(cl).createMarshaller();
marshaller.marshal(o, stringWriter);
return stringWriter.toString();
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
SerializationUtil.java 文件源码
项目:jcloudscale
阅读 23
收藏 0
点赞 0
评论 0
public static String serializeToString(Object obj) throws IOException
{
if(obj == null || !obj.getClass().isAnnotationPresent(XmlRootElement.class))
return null;
try(StringWriter writer = new StringWriter())
{
try
{
JAXBContext ctx = JAXBContext.newInstance(obj.getClass());
ctx.createMarshaller().marshal(obj, writer);
return writer.toString();
}
catch(JAXBException ex)
{//let's just ignore.
}
}
return null;
}
JaxbBuilder.java 文件源码
项目:xmlunit
阅读 25
收藏 0
点赞 0
评论 0
private Object getPreparedJaxbObject() {
final Object jaxbObject;
if (object instanceof JAXBElement) {
jaxbObject = object;
} else {
final Class<?> clazz = object.getClass();
final XmlRootElement r = clazz.getAnnotation(XmlRootElement.class);
if (r == null) {
if (userObjectFactory) {
jaxbObject = createJAXBElement(object);
} else {
jaxbObject = createInferredJAXBElement(object);
}
} else {
jaxbObject = object;
}
}
return jaxbObject;
}
TypeInfoImpl.java 文件源码
项目:openjdk-icedtea7
阅读 26
收藏 0
点赞 0
评论 0
/**
* Parses an {@link XmlRootElement} annotation on a class
* and determine the element name.
*
* @return null
* if none was found.
*/
protected final QName parseElementName(ClassDeclT clazz) {
XmlRootElement e = reader().getClassAnnotation(XmlRootElement.class,clazz,this);
if(e==null)
return null;
String local = e.name();
if(local.equals("##default")) {
// if defaulted...
local = NameConverter.standard.toVariableName(nav().getClassShortName(clazz));
}
String nsUri = e.namespace();
if(nsUri.equals("##default")) {
// if defaulted ...
XmlSchema xs = reader().getPackageAnnotation(XmlSchema.class,clazz,this);
if(xs!=null)
nsUri = xs.namespace();
else {
nsUri = builder.defaultNsUri;
}
}
return new QName(nsUri.intern(),local.intern());
}
ClassBeanInfoImpl.java 文件源码
项目:openjdk-icedtea7
阅读 19
收藏 0
点赞 0
评论 0
public void serializeRoot(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
if(tagName==null) {
Class beanClass = bean.getClass();
String message;
if (beanClass.isAnnotationPresent(XmlRootElement.class)) {
message = Messages.UNABLE_TO_MARSHAL_UNBOUND_CLASS.format(beanClass.getName());
} else {
message = Messages.UNABLE_TO_MARSHAL_NON_ELEMENT.format(beanClass.getName());
}
target.reportError(new ValidationEventImpl(ValidationEvent.ERROR,message,null, null));
} else {
target.startElement(tagName,bean);
target.childAsSoleContent(bean,null);
target.endElement();
if (retainPropertyInfo) {
target.currentProperty.remove();
}
}
}
JAXBWriter.java 文件源码
项目:sissi
阅读 23
收藏 0
点赞 0
评论 0
public JAXBWriter(NamespacePrefixMapper mapper) {
super();
this.mapper = mapper;
try {
List<Class<?>> clazz = new ArrayList<Class<?>>();
for (Class<?> each : ScanUtil.getClasses(this.protocol)) {
if (each.getAnnotation(XmlRootElement.class) != null) {
clazz.add(each);
}
}
this.context = JAXBContext.newInstance(clazz.toArray(new Class[] {}));
this.log.info("All classes in JAXB Context: " + clazz);
} catch (Exception e) {
this.log.error(e.toString());
Trace.trace(this.log, e);
throw new RuntimeException("Can't init JAXB context", e);
}
}
DroolsDataObjectEditorTest.java 文件源码
项目:kie-wb-common
阅读 17
收藏 0
点赞 0
评论 0
@Test
public void testRemotableChangeTest( ) {
preloadEmptyObject( );
// tests the data object being marked as "remotable".
// emulate that the legacy annotation @Remotable was set for whatever reason. e.g. a project generated in an
// older WB version.
context.getDataObject( ).addAnnotation( DataModelerEditorsTestHelper.createAnnotation( Remotable.class ) );
when( view.getRemotable( ) ).thenReturn( true );
objectEditor.onRemotableChange( );
// the new defined annotation XmlRootElement for marking the data object as "remotable should have been set
assertNotNull( context.getDataObject( ).getAnnotation( XmlRootElement.class.getName( ) ) );
// the legacy annotation should have been removed.
assertNull( context.getDataObject( ).getAnnotation( Remotable.class.getName( ) ) );
// emulate that the legacy annotation @Remotable was set for whatever reason. e.g. a project generated in an
// older WB version.
context.getDataObject( ).addAnnotation( DataModelerEditorsTestHelper.createAnnotation( Remotable.class ) );
// tests the data object being maked as non "remotable".
when( view.getRemotable( ) ).thenReturn( false );
objectEditor.onRemotableChange( );
//the XmlRootElement annotation should have been removed.
assertNull( context.getDataObject( ).getAnnotation( XmlRootElement.class.getName( ) ) );
// the legacy annotation should have been removed.
assertNull( context.getDataObject( ).getAnnotation( Remotable.class.getName( ) ) );
}