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

📄 description.java

📁 jxta-cms-src-2.4.zip 是官网上的比较稳定的CMS源代码。目前是最稳定的高版本。
💻 JAVA
字号:
/* * Copyright (c) 2001 Sun Microsystems, Inc.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *       Sun Microsystems, Inc. for Project JXTA." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA" must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact Project JXTA at http://www.jxta.org. * * 5. Products derived from this software may not be called "JXTA", *    nor may "JXTA" appear in their name, without prior written *    permission of Sun. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of Project JXTA.  For more * information on Project JXTA, please see * <http://www.jxta.org/>. * * This license is based on the BSD license adopted by the Apache Foundation. * * $Id: Description.java,v 1.3 2002/03/18 21:00:49 rmjohnson Exp $ * */package net.jxta.share.metadata;import net.jxta.document.Element;/** An implementation of the description metadata scheme.  The only metadata * stored is a plain english description of the content.  The format of a * description metadata element is as follows:<br><br> * *<code>&lt;metadata><br> *&nbsp;&nbsp;&lt;scheme><br> *&nbsp;&nbsp;&nbsp;&nbsp;&lt;name>description&lt;/name><br> *&nbsp;&nbsp;&nbsp;&nbsp;&lt;location><i>location of resource used to parse  * and query the scheme</i>&lt;/location><br> *&nbsp;&nbsp;&nbsp;&nbsp;&lt;content-type>text/plain&lt;/content-type><br> *&nbsp;&nbsp;&lt;/scheme><br> *&nbsp;&nbsp;<i>plain english description</i><br> *&lt;/metadata></code> *<br><br> *For an example of this class in use, see <a href="../../../../../ref/src/net/jxta/test/ShareDemo.java">net.jxta.test.ShareDemo</a> and <a href="../../../../../ref/src/net/jxta/test/SearchDemo.java">net.jxta.test.SearchDemo</a>. * *@see ContentMetadataFactory *@see Keywords *@version $Revision: 1.3 $ *@author $Author: rmjohnson $ */public class Description extends ContentMetadata {        /**The name of the metadata scheme implemented by this class.*/    public static final String SN_DESCRIPTION = "description";    /**The content type used by the description metadata scheme.*/    public static final String DESCRIPTION_CONTENT_TYPE = "text/plain";        private String description;    /**Create a MetadataQuery instance that can be used to query objects of     * this class.     *@param query the string to search for     *@exception IllegalArgumentException if query is null     */    public static MetadataQuery newQuery(String query)	throws IllegalArgumentException {	if(query == null)	    throw new IllegalArgumentException();	return new DescriptionQuery(query);    }    /**A simple MetadataQuery implementation that can be used to search a     * Description metadata object for a string.     */    public static class DescriptionQuery implements MetadataQuery {	private String queryString;		/**@param queryString the string to search for.  It is assumed that	 * this is not null, if it is, <code>queryMetadata()</code> will throw	 * a NullPointerException.	 */	public DescriptionQuery(String queryString) {	    this.queryString = queryString;	}	/**Test if a ContentMetadata object matches this query.	 *@param metadata the Description object to query.	 *@return <code>Integer.MAX_VALUE</code> if the query string was found 	 * in <code>metadata</code>'s value, <code>Integer.MIN_VALUE</code> if	 * not.	 *@exception IllegalArgumentException if <code>metadata</code> is not	 * an instance of the Description class.	 */	public int queryMetadata(ContentMetadata metadata)	    throws IllegalArgumentException {	    String desc;	    try {		desc = ((Description)metadata).getDescription();	    }catch(ClassCastException cce) {		throw new IllegalArgumentException("metadata is not of the Description class");	    }	    if(desc.indexOf(queryString) != -1)		return Integer.MAX_VALUE;	    return Integer.MIN_VALUE;	}    }    /**Return the ContentMetadataConstructor used to create instances of this     * class.     */    public static ContentMetadataConstructor getConstructor() {	return new ContentMetadataConstructor() {		public ContentMetadata newInstance(Element metadataEl)		throws IllegalArgumentException {		    return new Description(metadataEl);		}	    };    }    /**Create a new Description object with a given string as the metadata.     *@exception NullPointerException if <code>description</code> is null.     */    public Description(String description) {	name = SN_DESCRIPTION;	content_type = DESCRIPTION_CONTENT_TYPE;	if(description == null)	    throw new NullPointerException("description is null");	this.description = description;    }    /**Create a Description instance from a <code>&lt;metadata></code> element.     *@exception IllegalArgumentException if <code>el<code> was formatted     * improperly.     *@exception NullPointerException if <code>el</code> is null.     */    public Description(Element el) throws IllegalArgumentException {	init(el);	name = SN_DESCRIPTION;	content_type = DESCRIPTION_CONTENT_TYPE;	description = (String)el.getValue();	if(description == null)	    throw new IllegalArgumentException("metadata element's value is null");    }	/**A function for generating safe copies of this ContentMetadata object.	 *	 * @return a safe copy of this ContentMetadata object	 */    public Object clone() throws CloneNotSupportedException {    	Description result = new Description(description);    	result.location = location;    	return result;    }        public String getValue() {	return description;    }    /**Return the text of the description*/    public String getDescription() {	return description;    }}

⌨️ 快捷键说明

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