org.hibernate.validator.internal.util.privilegedactions.Unmarshal Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bean-validator Show documentation
Show all versions of bean-validator Show documentation
JSR 380's RI, Hibernate Validator version ${hibernate-validator.version} and its dependencies repackaged as OSGi bundle
/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
package org.hibernate.validator.internal.util.privilegedactions;
import java.security.PrivilegedExceptionAction;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.stream.XMLEventReader;
/**
* Unmarshals the given source.
*
* @author Gunnar Morling
*/
public final class Unmarshal implements PrivilegedExceptionAction> {
private final Unmarshaller unmarshaller;
private final XMLEventReader xmlEventReader;
private final Class clazz;
public static Unmarshal action(Unmarshaller unmarshaller, XMLEventReader xmlEventReader, Class clazz) {
return new Unmarshal( unmarshaller, xmlEventReader, clazz );
}
private Unmarshal(Unmarshaller unmarshaller, XMLEventReader xmlEventReader, Class clazz) {
this.unmarshaller = unmarshaller;
this.xmlEventReader = xmlEventReader;
this.clazz = clazz;
}
@Override
public JAXBElement run() throws JAXBException {
return unmarshaller.unmarshal( xmlEventReader, clazz );
}
}