package pl.edu.amu.wmi.daut.re; import pl.edu.amu.wmi.daut.base.AutomatonSpecification; import pl.edu.amu.wmi.daut.base.NaiveAutomatonSpecification; import java.util.List; /** * Klasa reprezentująca operator '.' z wyrażeń regularnych (dowolny znak). */ public class AnyCharOperator extends NullaryRegexpOperator { private char character; /** * Metoda, ustawia pożądany znak. */ public void setCharacter(char c) { this.character = c; } @Override public AutomatonSpecification createFixedAutomaton() { return new NaiveAutomatonSpecification().makeOneTransitionAutomaton(character); } /** * Fabryka operatora. */ public static class Factory extends NullaryRegexpOperatorFactory { @Override public int numberOfParams() { return 0; } protected RegexpOperator doCreateOperator(List<String> params) { return new AnyCharOperator(); } } /** * Metoda toString(). */ @Override public String toString() { return "ANY_CHAR"; } }