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

📄 imetadataexporter.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.common.metadata;

/**
 * Defines an object that is capable of exporting metadata to a useful format or notation.
 * <p>
 * Objects implementing this interface must have intimate knowledge of the format that the
 * raw metadata will take.  {@link #setRaw(Object)} is written to take nothing more specific than
 * an {@link Object} as a parameter.  The abstraction is designed to provide implementing classes
 * complete control over how the metadata is extracted (SAX, DOM, XPath, CSV extraction, etc...),. what is parsed 
 * (an entire document, specific tags, etc...), and what is done with the data once it is parsed (export to
 * file, creation of Beans, etc...).
 * </p>
 * <p>
 * {@code IMetadataExporter} implementations should be written to follow the following sequence of
 * operations:
 * <ol>
 * 	<li>Invocation of {@link #setRaw(Object)} to store the object that will be parsed</li>
 *  <li>Invocation of {@link #begin()} to prepare the exporter for its work</li>
 *  <li>Invocation of {@link #export()} to export the proper values from the document into whatever format is necessary</li>
 *  <li>Invocation of {@link #end()} to clean up anything that is  </li>
 * </ol>
 * If the above is not followed, {@link IllegalStateException} will be thrown by the method that was improperly invoked.
 * </p>
 * <p>
 * The interface obviously does not guarantee any form of thread safety, but implementing classes should strongly
 * consider concurrency issues when performing implementation.
 * </p>
 */
public interface IMetadataExporter {

	/**
	 * Sets the object that will be exported by this {@code IMetadataExporter}.
	 * @param raw The {@link Object} to export.
	 */
	public void setRaw(Object raw);
	/**
	 * Prepares the exporter to perform the export.  This must be called before {@link #export()} or {@link #end()}.
	 * @throws {@link IllegalStateException} if the object is currently in the export() or end() state..
	 */
	public void begin();
	/**
	 * Exports the document to whatever format is understood by the {@link IMetadataExporter} implementation.
	 * @throws {@link IllegalStateException} if the object is not ready to export.
	 */
	public void export();
	/**
	 * Ends the exporter operation by cleaning up any resources, closing handles, etc...
	 * @throws {@link IllegalStateException} if the export operation is not finished.
	 */
	public void end();
	/**
	 * Retrieves the ID of this exporter.
	 * @return {@link String} containing the ID of this exporter.  Cannot be {@code null}.
	 */
	public String getExporterId(); 
	
}

⌨️ 快捷键说明

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