001package org.biopax.paxtools.pattern.miner;
002
003import org.biopax.paxtools.pattern.Pattern;
004import org.biopax.paxtools.pattern.PatternBox;
005
006/**
007 * Miner for the controls-state-change pattern.
008 * @author Ozgun Babur
009 */
010public class ControlsStateChangeOfMiner extends AbstractSIFMiner
011{
012        /**
013         * Constructor for extension purposes.
014         * @param name name of the miner
015         * @param description description of the miner
016         */
017        protected ControlsStateChangeOfMiner(String name, String description)
018        {
019                super(SIFEnum.CONTROLS_STATE_CHANGE_OF, name, description);
020        }
021
022        /**
023         * Empty constructor.
024         */
025        public ControlsStateChangeOfMiner()
026        {
027                super(SIFEnum.CONTROLS_STATE_CHANGE_OF);
028        }
029
030        /**
031         * Constructor for extension purposes.
032         * @param type relation type
033         */
034        protected ControlsStateChangeOfMiner(SIFType type)
035        {
036                super(type);
037        }
038
039        /**
040         * Constructs the pattern.
041         * @return pattern
042         */
043        @Override
044        public Pattern constructPattern()
045        {
046                return PatternBox.controlsStateChange();
047        }
048
049        @Override
050        public String getSourceLabel()
051        {
052                return "controller ER";
053        }
054
055        @Override
056        public String getTargetLabel()
057        {
058                return "changed ER";
059        }
060
061        @Override
062        public String[] getMediatorLabels()
063        {
064                return new String[]{"Control", "Conversion"};
065        }
066
067        @Override
068        public String[] getSourcePELabels()
069        {
070                return new String[]{"controller simple PE", "controller PE"};
071        }
072
073        @Override
074        public String[] getTargetPELabels()
075        {
076                return new String[]{"input PE", "input simple PE", "output PE", "output simple PE"};
077        }
078}