package eu.dnetlib.miscutils;

import java.util.Map;

import javax.xml.transform.Source;

import org.dom4j.Document;
import org.dom4j.io.DocumentSource;
import org.springframework.core.io.Resource;

public class ApplyXsltDom4j extends AbstractApplyXslt<Document> {

	public ApplyXsltDom4j(final String xslt, final Map<String, String> parameters) {
		super(xslt, parameters);
	}

	public ApplyXsltDom4j(final Source xslt, final Map<String, String> parameters) {
		super(xslt, parameters);
	}

	public ApplyXsltDom4j(final Resource xslt, final Map<String, String> parameters) {
		super(xslt, parameters);
	}

	public ApplyXsltDom4j(final Resource xslt) {
		super(xslt);
	}

	public ApplyXsltDom4j(final String xslt) {
		super(xslt);
	}

	public ApplyXsltDom4j(final Source xslt) {
		super(xslt);
	}

	@Override
	public Source toStream(final Document source) {
		return new DocumentSource(source);
	}

	@Override
	public String toString(final Document input) {
		return input != null ? input.asXML() : null;
	}
}
