/*
 * Common Library for TBAS Softwares
 * Language: Java
 *
 * All Rights Reserved.
 * (c) Copyright 2002 by Tsukuba Bunko.
 *
 * $Id: BasicDeserializer.java,v 1.1 2003/08/31 08:20:49 ppoi Exp $
 */
package tsukuba_bunko.resource;

import	org.xml.sax.Attributes;
import	org.xml.sax.Locator;
import	org.xml.sax.ContentHandler;
import	org.xml.sax.SAXException;


/**
 * 基本的な <code>ResourceDeserializer</code> の実装を提供します.
 * なお，この実装では何の処理も行いません.
 * @author	$Author
 */
public class BasicDeserializer	implements ResourceDeserializer, ContentHandler	{

	/**
	 * デシリアライズされたオブジェクト
	 */
	protected Object	_deserializedValue = null;

	/**
	 * リソースの解析に使用する DeserializerMapping
	 */
	protected DeserializerMapping	_mapping = null;

	/**
	 * この ResourceDeserializer が関連づけられたデータ型名
	 */
	protected String	_typeName;


	/**
	 * <code>BasicDeserializer</code> のインスタンスを作成します。
	 */
	public BasicDeserializer()
	{
		super();
	}


	/**
	 * この <code>ResourceDeserializer</code> が関連づけられたデータ型名を取得します。
	 * @return	データ型名
	 */
	protected String getTypeName()
	{
		return _typeName;
	}

	/**
	 * 使用する <code>DeserializerMapping</code> を取得します.
	 * @return <code>DeserializerMapping</code>
	 */
	protected DeserializerMapping getDeserializerMapping()
	{
		return _mapping;
	}

	/**
	 * デシリアライズ結果を設定します.
	 * @param	value	デシリアライズ結果
	 */
	protected void setValue( Object value )
	{
		_deserializedValue = value;
	}


//
//	ResourceDeserializer の実装
//
	public void setTypeName( String typeName )
	{
		_typeName = typeName;
	}

	public void setDeserializerMapping( DeserializerMapping mapping )
	{
		_mapping = mapping;
	}

	public Object getValue()
	{
		return _deserializedValue;
	}


//
//	ContentHandler の実装
//
	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void setDocumentLocator( Locator locator )
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void startPrefixMapping( String namespaceURI, String prefix )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void endPrefixMapping( String namespaceURI )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void startDocument()
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void endDocument()
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void startElement( String namespaceURI, String localName, String qName, Attributes attrs )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void endElement( String namespaceURI, String localName, String qName )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void processingInstruction( String target, String data )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void skippedEntity( String name )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void characters( char[] ch, int begin, int length )
		throws SAXException
	{
	}

	/**
	 * @see	org.xml.sax.ContentHandler
	 */
	public void ignorableWhitespace( char[] ch, int begin, int length )
		throws SAXException
	{
	}
}
