nlgrammarmodel.java

来自「jboss规则引擎」· Java 代码 · 共 55 行

JAVA
55
字号
package org.drools.ide.dsl.editor;

import java.util.HashSet;
import java.util.Set;

import org.drools.lang.dsl.template.NLGrammar;

/**
 * This extends the compilers DSL grammar implementation to provide
 * change listener support.
 * 
 * @author Michael Neale
 *
 */
public class NLGrammarModel extends NLGrammar {
    
    private static final long serialVersionUID = 5449029738300794120L;
    
    private Set changeListeners = new HashSet();

    /**
     * @param viewer
     */
    public void removeChangeListener(IMappingListViewer viewer) {
        changeListeners.remove(viewer);
    }

    /**
     * @param viewer
     */
    public void addChangeListener(IMappingListViewer viewer) {
        changeListeners.add(viewer);
    }
    
    /** This will normalise all whitespace in a string. */
    public static String normaliseSpaces(String withWhiteSpace) {
        char[] chars = withWhiteSpace.toCharArray();
        StringBuffer normalised = new StringBuffer();
        boolean space = false;
        for ( int i = 0; i < chars.length; i++ ) {
            char c = chars[i];
            if (Character.isWhitespace( c )) {
                if (!space) {
                    normalised.append( ' ' );
                    space = true;
                }
            } else {
                normalised.append( c );
                space = false;
            }
        }
        return normalised.toString();        
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?