diff --git a/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AbstractAnsiControlSequenceFilter.java b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AbstractAnsiControlSequenceFilter.java index 01645c31d..26e457363 100644 --- a/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AbstractAnsiControlSequenceFilter.java +++ b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AbstractAnsiControlSequenceFilter.java @@ -1,6 +1,6 @@ package org.jboss.tools.aesh.core.ansi; -import org.jboss.tools.aesh.core.internal.ansi.AnsiControlSequenceFactory; +import org.jboss.tools.aesh.core.internal.ansi.DefaultControlSequenceFactory; import org.jboss.tools.aesh.core.io.StreamListener; public abstract class AbstractAnsiControlSequenceFilter implements AnsiControlSequenceFilter { @@ -39,7 +39,7 @@ private void charAppended(char c) { escapeSequence.append(c); } else if (escapeSequence.length() > 1) { escapeSequence.append(c); - AnsiControlSequence command = AnsiControlSequenceFactory.create(escapeSequence.toString()); + AnsiControlSequence command = DefaultControlSequenceFactory.INSTANCE.create(escapeSequence.toString()); if (command != null) { escapeSequence.setLength(0); controlSequenceAvailable(command); diff --git a/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AnsiControlSequenceFactory.java b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AnsiControlSequenceFactory.java new file mode 100644 index 000000000..7198dfc74 --- /dev/null +++ b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/ansi/AnsiControlSequenceFactory.java @@ -0,0 +1,7 @@ +package org.jboss.tools.aesh.core.ansi; + +public interface AnsiControlSequenceFactory { + + AnsiControlSequence create(String controlSequence); + +} diff --git a/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/AnsiControlSequenceFactory.java b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/DefaultControlSequenceFactory.java similarity index 83% rename from plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/AnsiControlSequenceFactory.java rename to plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/DefaultControlSequenceFactory.java index a08fa04e3..98dfcd027 100644 --- a/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/AnsiControlSequenceFactory.java +++ b/plugins/org.jboss.tools.aesh.core/src/org/jboss/tools/aesh/core/internal/ansi/DefaultControlSequenceFactory.java @@ -1,12 +1,17 @@ package org.jboss.tools.aesh.core.internal.ansi; import org.jboss.tools.aesh.core.ansi.AnsiControlSequence; +import org.jboss.tools.aesh.core.ansi.AnsiControlSequenceFactory; -public class AnsiControlSequenceFactory { +public class DefaultControlSequenceFactory implements AnsiControlSequenceFactory { - public static AnsiControlSequence create(String controlSequence) { + public static final DefaultControlSequenceFactory INSTANCE = new DefaultControlSequenceFactory(); + + private DefaultControlSequenceFactory() {} + + public AnsiControlSequence create(String controlSequence) { int last = controlSequence.length() - 1; char c = controlSequence.charAt(last); AnsiControlSequenceType type = AnsiControlSequenceType.fromCharacter(c);