19
19
package org.zaluum.schneider.generator.basicbox;
21
import org.zaluum.cmodel.CBox;
21
import org.zaluum.cmodel.CBoxDefinition;
22
import org.zaluum.cmodel.CBoxInstance;
22
23
import org.zaluum.cmodel.CModelForDevice;
23
import org.zaluum.cmodel.basicbox.ConstCBox;
24
import org.zaluum.cmodel.basicbox.FSMCBox;
25
import org.zaluum.cmodel.basicbox.MathCBox;
26
import org.zaluum.cmodel.basicbox.ValueCBox;
24
import org.zaluum.cmodel.basicbox.ConstDefinition;
25
import org.zaluum.cmodel.basicbox.FSMDefinition;
26
import org.zaluum.cmodel.basicbox.MathDefinition;
27
import org.zaluum.cmodel.basicbox.ValueDefinition;
27
28
import org.zaluum.schneider.generator.AbstractBoxSource;
28
29
import org.zaluum.schneider.generator.BoxSourceFactory;
29
30
import org.zaluum.unity.noe.NOE;
35
36
public class BasicBoxSourceFactory implements BoxSourceFactory{
38
public AbstractBoxSource<?> getGenerator(CBox b, CModelForDevice cmodel, NOE noe) {
39
if (b instanceof ValueCBox)
40
return new ValueBoxGenerator((ValueCBox) b, cmodel, noe);
41
else if (b instanceof ConstCBox)
42
return new ConstBoxSource((ConstCBox)b,cmodel,noe);
43
else if (b instanceof FSMCBox)
44
return new FSMBoxGenerator((FSMCBox) b, cmodel, noe);
45
else if (b instanceof MathCBox)
46
return new MathBoxGenerator((MathCBox)b, cmodel, noe);
39
public AbstractBoxSource<?> getGenerator(CBoxInstance b, CModelForDevice cmodel, NOE noe) {
40
CBoxDefinition type = b.getType();
41
if (type instanceof ValueDefinition)
42
return new ValueBoxGenerator(b, cmodel, noe);
43
else if (type instanceof ConstDefinition)
44
return new ConstBoxSource(b,cmodel,noe);
45
else if (type instanceof FSMDefinition)
46
return new FSMBoxGenerator(b, cmodel, noe);
47
else if (type instanceof MathDefinition)
48
return new MathBoxGenerator(b, cmodel, noe);