All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dmg.pmml.adapters.NodeAdapter Maven / Gradle / Ivy

There is a newer version: 1.6.11
Show newest version
/*
 * Copyright (c) 2019 Villu Ruusmann
 */
package org.dmg.pmml.adapters;

import java.util.function.Supplier;

import javax.xml.bind.annotation.adapters.XmlAdapter;

import org.dmg.pmml.tree.ComplexNode;
import org.dmg.pmml.tree.SimplifyingNodeTransformer;
import org.dmg.pmml.tree.Node;
import org.dmg.pmml.tree.NodeTransformer;

public class NodeAdapter extends XmlAdapter {

	@Override
	public Node unmarshal(ComplexNode value){
		NodeTransformer nodeTransformer = NodeAdapter.NODE_TRANSFORMER_PROVIDER.get();

		return nodeTransformer.fromComplexNode(value);
	}

	@Override
	public ComplexNode marshal(Node node){
		NodeTransformer nodeTransformer = NodeAdapter.NODE_TRANSFORMER_PROVIDER.get();

		return nodeTransformer.toComplexNode(node);
	}

	public static final ThreadLocal NODE_TRANSFORMER_PROVIDER = ThreadLocal.withInitial(new Supplier(){

		@Override
		public NodeTransformer get(){
			return SimplifyingNodeTransformer.INSTANCE;
		}
	});
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy