outline.java

来自「plugin for eclipse」· Java 代码 · 共 202 行

JAVA
202
字号
/*
 * Created on Jun 10, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package isis.anp.nesc.ot;

import java.io.IOException;
import java.io.Writer;
import java.util.HashSet;

/**
 * @author sallai
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class Outline extends Writer {
	int tabs = 0;
	StringBuffer sb = new StringBuffer();
	HashSet visited = new HashSet();
	
	public void addTabs(int tabs) {
		for(int i=0;i<tabs;++i) {
			sb.append("\t");
		}
	}
	
	public void addTabs() {
		addTabs(tabs);
	}
	
	public void addNewLine() {
		sb.append("\n");
	}
	
	public void ensureSpace() {
		if(sb.length()==0) return;
		char lastCh = sb.charAt(sb.length()-1); 
		if(lastCh==' ' || lastCh=='\t' || lastCh=='\n') return;
		sb.append(' ');
	}
	
	public void setTabs(int tabs) {
		this.tabs = tabs;
	}
	
	public int getTabs() {
		return tabs;
	}
	
	public void incTabs() {
		tabs++;
	}
	
	public void decTabs() {
		tabs--;
	}
	
	
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(boolean arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(char arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(char[] arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @param arg1
	 * @param arg2
	 * @return
	 */
	public StringBuffer append(char[] arg0, int arg1, int arg2) {
		return sb.append(arg0, arg1, arg2);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(double arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(float arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(int arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(Object arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(String arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(StringBuffer arg0) {
		return sb.append(arg0);
	}
	/**
	 * @param arg0
	 * @return
	 */
	public StringBuffer append(long arg0) {
		return sb.append(arg0);
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return sb.toString();
	}
	
	    public void write(char c)
	        throws IOException
	    {
	        append(c);
	    }
	    
	    public void write(char[] ca)
	        throws IOException
	    {
	        append(ca);
	    }
	    
	    
	    public void write(char[] ca,int offset, int length)
	        throws IOException
	    {
	        append(ca,offset,length);
	    }
	    
	    public void write(String s)
	        throws IOException
	    {
	        append(s);
	    }
	    
	    public void write(String s,int offset, int length)
	        throws IOException
	    {
	        for (int i=0;i<length;i++)
	            append(s.charAt(offset+i));
	    }
	    
	    public void flush()
	    {}

	    public void reset()
	    {
	        sb.setLength(0);
	    }

	    public void close()
	    {}

        /**
         * @param state
         */
        public void setVisited(Object o) {
            visited.add(o);
        }
        
        public boolean isVisited(Object o) {
            return visited.contains(o);
        }
}

⌨️ 快捷键说明

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