logicaloperatorclause.java

来自「esri的ArcGIS Server超级学习模板程序(for java)」· Java 代码 · 共 63 行

JAVA
63
字号
package com.esri.solutions.jitk.datasources.ogc.filters;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

public class LogicalOperatorClause implements IFilterClause {
	protected FilterLogicalOperator _op;
	protected List<IFilterClause> _clauses;
	
	public LogicalOperatorClause(FilterLogicalOperator op) {
		_op = op;
		_clauses = new ArrayList<IFilterClause>();
	}
	
	public void appendClause(IFilterClause clause) {
		_clauses.add(clause);
	}
	
	public void toXML(OutputStream os) throws IOException {
		appendOperatorAsStartXML(os, _op);
		
		for (IFilterClause clause : _clauses) {
			clause.toXML(os);
		}
		
		appendOperatorAsEndXML(os, _op);
	}
	
	protected void appendOperatorAsEndXML(OutputStream os, FilterLogicalOperator op) throws IOException {
		switch (op) {
		case AND:
			os.write("</ogc:AND>".getBytes());
			break;
		case OR:
			os.write("</ogc:OR>".getBytes());
			break;
		case NOT:
			os.write("</ogc:NOT>".getBytes());
			break;
		default:
			break;
		}
	}	
	
	protected void appendOperatorAsStartXML(OutputStream os, FilterLogicalOperator op) throws IOException {		
		switch (op) {
		case AND:
			os.write("<ogc:AND>".getBytes());
			break;
		case OR:
			os.write("<ogc:OR>".getBytes());
			break;
		case NOT:
			os.write("<ogc:NOT>".getBytes());
			break;
		default:
			break;
		}
	}	
}

⌨️ 快捷键说明

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