⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gomcategoryimpl.java

📁 lucene2.2.0版本
💻 JAVA
字号:
/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.lucene.gdata.gom.core;import java.net.URISyntaxException;import java.util.LinkedList;import java.util.List;import javax.xml.namespace.QName;import javax.xml.stream.XMLStreamException;import org.apache.lucene.gdata.gom.GOMAttribute;import org.apache.lucene.gdata.gom.GOMCategory;import org.apache.lucene.gdata.gom.GOMNamespace;import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;import org.apache.lucene.gdata.gom.core.utils.GOMUtils;import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;/** * @author Simon Willnauer *  */public class GOMCategoryImpl extends AbstractGOMElement implements GOMCategory {	private static final String DOMAIN = "domain";	protected String term;	protected String label;	protected String scheme;	/**	 * 	 */	public GOMCategoryImpl() {		super();		this.localName = LOCALNAME;		this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#setTerm(java.lang.String)	 */	public void setTerm(String aTerm) {		this.term = aTerm;	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#setLabel(java.lang.String)	 */	public void setLabel(String aLabel) {		this.label = aLabel;	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#setScheme(java.lang.String)	 */	public void setScheme(String aScheme) {		this.scheme = aScheme;	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#getTerm()	 */	public String getTerm() {		return this.term;	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#getScheme()	 */	public String getScheme() {		return this.scheme;	}	/**	 * @see org.apache.lucene.gdata.gom.GOMCategory#getLabel()	 */	public String getLabel() {		return this.label;	}	/**	 * @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processAttribute(javax.xml.namespace.QName,	 *      java.lang.String)	 */	@Override	public void processAttribute(QName aQName, String aValue) {		if (aQName == null)			throw new GDataParseException("QName must not be null");		if (aQName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)				|| aQName.getNamespaceURI().equals("")) {			String localPart = aQName.getLocalPart();			if (localPart.equals(TERM_ATTRIBUTE)) {				if (this.term != null)					throw new GDataParseException(String.format(							AtomParser.DUPLICATE_ATTRIBUTE, TERM_ATTRIBUTE));				this.term = aValue;			} else if (localPart.equals(LABLE_ATTRIBUTE)) {				if (this.label != null)					throw new GDataParseException(String.format(							AtomParser.DUPLICATE_ATTRIBUTE, LABLE_ATTRIBUTE));				this.label = aValue;			} else if (localPart.equals(SCHEME_ATTRIBUTE)) {				if (this.scheme != null)					throw new GDataParseException(String.format(							AtomParser.DUPLICATE_ATTRIBUTE, SCHEME_ATTRIBUTE));				this.scheme = aValue;			} else {				super.processAttribute(aQName, aValue);			}		} else {			super.processAttribute(aQName, aValue);		}	}	/**	 * @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()	 */	@Override	public void processEndElement() {		/*		 * ATOM defines "undefinedContent" for this. GData defines this as no		 * content containing element		 */		if (this.term == null)			throw new GDataParseException(String.format(					AtomParser.MISSING_ELEMENT_ATTRIBUTE, this.localName,					TERM_ATTRIBUTE));		if (this.scheme != null) {			try {				AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.scheme);			} catch (URISyntaxException e) {				throw new GDataParseException(String.format(						AtomParser.INVALID_ATTRIBUTE, this.localName								+ " attribute " + GOMCategory.SCHEME_ATTRIBUTE,						"absolute uri"), e);			}		}	}	/**	 * @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)	 */	public void writeAtomOutput(GOMOutputWriter aStreamWriter)			throws XMLStreamException {		if (aStreamWriter == null)			throw new NullPointerException("StreamWriter is null");		List<GOMAttribute> list = new LinkedList<GOMAttribute>();		/*		 * term attribute is requiered for a category. attribute term { text },		 */		list.add(GOMUtils.buildDefaultNamespaceAttribute(this.term,				TERM_ATTRIBUTE));		if (this.scheme != null)			list.add(GOMUtils.buildDefaultNamespaceAttribute(this.scheme,					SCHEME_ATTRIBUTE));		if (this.label != null)			list.add(GOMUtils.buildDefaultNamespaceAttribute(this.label,					LABLE_ATTRIBUTE));		if (this.xmlLang != null)			list.add(GOMUtils					.buildXMLNamespaceAttribute(this.xmlLang, XML_LANG));		aStreamWriter.writeSimpleXMLElement(this.localName, list, null);	}	/**	 * @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)	 */	public void writeRssOutput(GOMOutputWriter aStreamWriter)			throws XMLStreamException {		if (aStreamWriter == null)			throw new NullPointerException("StreamWriter is null");		List<GOMAttribute> list = getXmlNamespaceAttributes();		/*		 * build this domain attr. even if scheme is null or empty		 */		list.add(GOMUtils.buildDefaultNamespaceAttribute(this.scheme, DOMAIN));		aStreamWriter.writeSimpleXMLElement(this.localName, list, this.term);	}}

⌨️ 快捷键说明

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