Skip to content

Commit

Permalink
make AnsiControlSequenceFactory an interface, provide default impleme…
Browse files Browse the repository at this point in the history
…ntation with DefaultControlSequenceFactory
  • Loading branch information
koentsje committed Mar 1, 2014
1 parent 9281e4d commit c6212a3
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
@@ -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 {
Expand Down Expand Up @@ -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);
Expand Down
@@ -0,0 +1,7 @@
package org.jboss.tools.aesh.core.ansi;

public interface AnsiControlSequenceFactory {

AnsiControlSequence create(String controlSequence);

}
@@ -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);
Expand Down

0 comments on commit c6212a3

Please sign in to comment.