Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;

import java.io.OutputStream;

import java.io.Writer;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

import javax.xml.transform.Result;
import org.w3c.dom.Node;

public class Main {
    public static void marshall(Object object, Node root, Marshaller.Listener listener) throws JAXBException {
        Marshaller marshaller = createMarshaller(object.getClass(), listener);
        marshaller.marshal(object, root);
    }

    public static void marshall(Object object, OutputStream os, Marshaller.Listener listener) throws JAXBException {
        Marshaller marshaller = createMarshaller(object.getClass(), listener);
        marshaller.marshal(object, os);
    }

    public static void marshall(Object object, Result result, Marshaller.Listener listener) throws JAXBException {
        Marshaller marshaller = createMarshaller(object.getClass(), listener);
        marshaller.marshal(object, result);
    }

    public static void marshall(Object object, Writer writer, Marshaller.Listener listener) throws JAXBException {
        Marshaller marshaller = createMarshaller(object.getClass(), listener);
        marshaller.marshal(object, writer);
    }

    private static <T> Marshaller createMarshaller(Class<T> clazz, Marshaller.Listener listener)
            throws JAXBException {
        JAXBContext jc = JAXBContext.newInstance(clazz);
        Marshaller marshaller = jc.createMarshaller();
        if (listener != null) {
            marshaller.setListener(listener);
        }
        marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
        return marshaller;
    }
}