Package pl.edu.amu.wmi.daut.re

Source Code of pl.edu.amu.wmi.daut.re.RangeEscapeSignOperator$Factory

package pl.edu.amu.wmi.daut.re;

import java.util.List;
import pl.edu.amu.wmi.daut.base.AutomatonSpecification;
import pl.edu.amu.wmi.daut.base.NaiveAutomatonSpecification;


/**
*
* Klasa RangeEscapeSignOperator reprezentująca zakres znaków,
* w którym operatory traktujemy jak normalne znaki.
*/
public class RangeEscapeSignOperator extends NullaryRegexpOperator {

    private String s;

    @Override
    public AutomatonSpecification createFixedAutomaton() {
      AutomatonSpecification automaton = new NaiveAutomatonSpecification();
      automaton.markAsInitial(automaton.addState());
      automaton.markAsFinal(automaton.addTransitionSequence(automaton.getInitialState(), this.s));
      return automaton;
    }

/**
* Konstruktor klasy.
* @param s - napis, w którym operatory nie mają być interpretowane
*/
    public RangeEscapeSignOperator(String s) {
        this.setString(s);
    }

    private void setString(String str) {
        this.s = str;
    }

/**
* Fabryka operatora.
*/
    public static class Factory extends NullaryRegexpOperatorFactory {

        @Override
        public int numberOfParams() {
          return 1;
        }

        @Override
        protected RegexpOperator doCreateOperator(List<String> params) {
          return new RangeEscapeSignOperator(params.get(0));
        }
    }
}
TOP

Related Classes of pl.edu.amu.wmi.daut.re.RangeEscapeSignOperator$Factory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.