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

flexjson.transformer.TransformerWrapper Maven / Gradle / Ivy

package flexjson.transformer;

/**
 * This class quietly wraps all transformers so that FlexJSON
 * can perform certain functionality consistently across all
 * transformers.
 */
public class TransformerWrapper extends AbstractTransformer
{

	protected Transformer transformer;

	public Transformer getTransformer()
	{
		return transformer;
	}

	public void setTransformer(Transformer transformer)
	{
		this.transformer= transformer;
	}

	protected Boolean isInterceptorTransformer= Boolean.FALSE;

	public TransformerWrapper(Transformer transformer)
	{
		this.transformer= transformer;
	}

	public void transform(Object object)
	{

		// push object onto stack so object has reference before starting
		getContext().getObjectStack().push(object);

		this.transformer.transform(object);

		// Call FlexJSON interceptors afterTranform last
		getContext().getObjectStack().pop();

	}

	@Override
	public Boolean isInline()
	{
		return transformer instanceof Inline && ((Inline) transformer).isInline();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy