Here you can find the source of unmarshal(T entity)
Parameter | Description |
---|---|
T | the type to serialize |
c | the class of the type to serialize |
entity | the instance containing the data to serialize |
Parameter | Description |
---|---|
Exception | an exception |
public static <T> String unmarshal(T entity) throws Exception
//package com.java2s; /******************************************************************************* * QMetry Automation Framework provides a powerful and versatile platform to author * Automated Test Cases in Behavior Driven, Keyword Driven or Code Driven approach * //from w w w .java 2 s. c o m * Copyright 2016 Infostretch Corporation * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT * OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE * * You should have received a copy of the GNU General Public License along with this program in the name of LICENSE.txt in the root folder of the distribution. If not, see https://opensource.org/licenses/gpl-3.0.html * * See the NOTICE.TXT file in root folder of this source files distribution * for additional information regarding copyright ownership and licenses * of other open source software / files used by QMetry Automation Framework. * * For any inquiry or need additional information, please contact support-qaf@infostretch.com *******************************************************************************/ import java.io.StringReader; import java.io.StringWriter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; public class Main { /** * @param <T> * the type to serialize * @param c * the class of the type to serialize * @param entity * the instance containing the data to serialize * @return a string representation of the data. * @throws Exception */ public static <T> String unmarshal(T entity) throws Exception { JAXBContext ctx = JAXBContext.newInstance(entity.getClass()); Marshaller marshaller = ctx.createMarshaller(); StringWriter entityXml = new StringWriter(); marshaller.marshal(entity, entityXml); String entityString = entityXml.toString(); return entityString; } /** * @param <T> * the type we want to convert the XML into * @param entityClass * the class of the parameterized type * @param xml * the instance XML description * @return a deserialization of the XML into an object of type T of class * class <T> * @throws JAXBException */ @SuppressWarnings("unchecked") public static <T> T marshal(Class<T> entityClass, String xml) throws JAXBException { T res; if (entityClass == xml.getClass()) { res = (T) xml; } else { JAXBContext ctx = JAXBContext.newInstance(entityClass); Unmarshaller marshaller = ctx.createUnmarshaller(); res = (T) marshaller.unmarshal(new StringReader(xml)); } return res; } }