package it.enricod.joy; import it.enricod.joy.nodes.OperatorStackNode; import it.enricod.joy.nodes.RealFieldStackNode; import it.enricod.joy.operators.IOperator; import it.enricod.joy.operators.IOperatorsRegistry; import it.enricod.joy.operators.OperatorsRegistry; import org.apache.commons.math.FieldElement; public class JoyFactory { private static IOperatorsRegistry operatorsRegistry = null; public static IStack createStack() { return new JoyStack(); } public static IStackNode createNode(FieldElement fieldElement) { return new RealFieldStackNode(fieldElement); } public static IStackNode createNode(IOperator op) { return new OperatorStackNode(op); } public static IOperatorsRegistry getOperatorsRegistry() { if (operatorsRegistry ==null ) { operatorsRegistry = new OperatorsRegistry(); operatorsRegistry.init(); } return operatorsRegistry; } }