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

org.atemsource.atem.utility.transform.impl.builder.DynamicTransformation Maven / Gradle / Ivy

package org.atemsource.atem.utility.transform.impl.builder;

import org.atemsource.atem.api.EntityTypeRepository;
import org.atemsource.atem.api.attribute.relation.SingleAttribute;
import org.atemsource.atem.api.type.Type;
import org.atemsource.atem.utility.transform.api.Converter;
import org.atemsource.atem.utility.transform.api.ConverterFactory;
import org.atemsource.atem.utility.transform.api.TypeNameConverter;
import org.atemsource.atem.utility.transform.api.UniConverter;
import org.atemsource.atem.utility.transform.api.meta.DerivedType;


public class DynamicTransformation implements Converter
{

	private final DynamicUniTransformation ab;

	private final DynamicUniTransformation ba;

	public DynamicTransformation(TypeNameConverter typeCodeConverter, Type type,
		EntityTypeRepository entityTypeRepository, SingleAttribute derivedTypeAttribute,
		ConverterFactory converterFactory)
	{
		super();
		ab =
			new DynamicUniTransformation(typeCodeConverter, entityTypeRepository, type, false, derivedTypeAttribute,
				converterFactory);
		ba =
			new DynamicUniTransformation(typeCodeConverter, entityTypeRepository, type, true, derivedTypeAttribute,
				converterFactory);
	}

	@Override
	public UniConverter getAB()
	{
		return ab;
	}

	@Override
	public UniConverter getBA()
	{
		return ba;
	}

	@Override
	public Type getTypeA()
	{
		return ab.getSourceType();
	}

	@Override
	public Type getTypeB()
	{
		return null;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy