Coverage report

  %line %branch
tsukuba_bunko.peko.scenario.HandlerRegistry
0% 
0% 

 1  
 /*
 2  
  * All Rights Reserved.
 3  
  * Copyright (C) 1999-2005 Tsukuba Bunko.
 4  
  *
 5  
  * Licensed under the BSD License ("the License"); you may not use
 6  
  * this file except in compliance with the License.
 7  
  * You may obtain a copy of the License at
 8  
  *
 9  
  *       http://www.tsukuba-bunko.org/licenses/LICENSE.txt
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  *
 17  
  * $Id: HandlerRegistry.java,v 1.2 2005/07/24 20:55:57 ppoi Exp $
 18  
  */
 19  
 package tsukuba_bunko.peko.scenario;
 20  
 
 21  
 import	java.util.Map;
 22  
 
 23  
 
 24  
 import	tsukuba_bunko.peko.scenario.select.SelectHandler;
 25  
 
 26  
 import	tsukuba_bunko.peko.scenario.stage.ActorHandler;
 27  
 import	tsukuba_bunko.peko.scenario.stage.AtOnceHandler;
 28  
 import	tsukuba_bunko.peko.scenario.stage.BackgroundHandler;
 29  
 import	tsukuba_bunko.peko.scenario.stage.SlideHandler;
 30  
 import	tsukuba_bunko.peko.scenario.stage.SoundHandler;
 31  
 
 32  
 import	tsukuba_bunko.peko.scenario.structure.HeadHandler;
 33  
 
 34  
 import	tsukuba_bunko.peko.scenario.text.NewPageHandler;
 35  
 import	tsukuba_bunko.peko.scenario.text.ParagraphHandler;
 36  
 
 37  
 import	tsukuba_bunko.peko.scenario.util.FlagHandler;
 38  
 import	tsukuba_bunko.peko.scenario.util.SceneFlowHandler;
 39  
 import	tsukuba_bunko.peko.scenario.util.WaitHandler;
 40  
 
 41  
 
 42  
 /**
 43  
  * 要素と ElementHandler の関連づけを管理します。
 44  
  * @author	$Author: ppoi $
 45  
  * @version	$Revision: 1.2 $
 46  
  */
 47  
 public class HandlerRegistry	{
 48  
 
 49  
 	/**
 50  
 	 * handler registries per namespace
 51  
 	 */
 52  0
 	private Map	_registry = new java.util.HashMap( 89 );
 53  
 
 54  
 
 55  
 	/**
 56  
 	 * <code>HandlerRegistry</code> のインスタンスを作成します。
 57  
 	 */
 58  
 	public HandlerRegistry()
 59  
 	{
 60  0
 		super();
 61  0
 	}
 62  
 
 63  
 	/**
 64  
 	 * 指定された要素に対して ElementHandler を関連づけます。
 65  
 	 * @param	elementName	要素名
 66  
 	 * @param	handler	関連づける ElementHandler
 67  
 	 */
 68  
 	public void register( String elementName, ElementHandler handler )
 69  
 	{
 70  0
 		register( ElementHandler.NAMESPACE_SCENE, elementName, handler );
 71  0
 	}
 72  
 
 73  
 	/**
 74  
 	 * 指定された要素に対して ElementHandler を関連づけます。
 75  
 	 * @param	namespaceURI	XML ネームスペース URI
 76  
 	 * @param	localName	要素名
 77  
 	 * @param	handler	関連づける ElementHandler
 78  
 	 */
 79  
 	public void register( String namespaceURI, String localName, ElementHandler handler )
 80  
 	{
 81  0
 		Map	handlers = getElementHandlers( namespaceURI );
 82  0
 		handlers.put( localName, handler );
 83  0
 	}
 84  
 
 85  
 	/**
 86  
 	 * 指定された要素に対する関連づけを削除します。
 87  
 	 * @param	elementName	要素名
 88  
 	 */
 89  
 	public void unregister( String elementName )
 90  
 	{
 91  0
 		unregister( ElementHandler.NAMESPACE_SCENE, elementName );
 92  0
 	}
 93  
 
 94  
 	/**
 95  
 	 * 指定された要素に対する関連づけを削除します。
 96  
 	 * @param	namespaceURI	要素のネームスペース URI
 97  
 	 * @param	localName	要素名
 98  
 	 */
 99  
 	public void unregister( String namespaceURI, String localName )
 100  
 	{
 101  0
 		Map	handlers = getElementHandlers( namespaceURI );
 102  0
 		handlers.remove( localName );
 103  0
 	}
 104  
 
 105  
 	/**
 106  
 	 * 指定された要素に関連づけられた ElementHandler を取得します。
 107  
 	 * @param	elementName	要素名
 108  
 	 * @return	関連づけられた ElementHandler。関連づけが存在しない場合は <code>null</code>
 109  
 	 */
 110  
 	public ElementHandler getElementHandler( String elementName )
 111  
 	{
 112  0
 		return getElementHandler( ElementHandler.NAMESPACE_SCENE, elementName );
 113  
 	}
 114  
 
 115  
 	/**
 116  
 	 * 指定された要素に関連づけられた ElementHandler を取得します。
 117  
 	 * @param	namespaceURI	要素のネームスペース URI
 118  
 	 * @param	localName	要素名
 119  
 	 * @return	関連づけられた ElementHandler。関連づけが存在しない場合は <code>null</code>
 120  
 	 */
 121  
 	public ElementHandler getElementHandler( String namespaceURI, String localName )
 122  
 	{
 123  0
 		Map	handlers = getElementHandlers( namespaceURI );
 124  0
 		return (ElementHandler)handlers.get( localName );
 125  
 	}
 126  
 
 127  
 	/**
 128  
 	 * 指定されたネームスペース用の ElementHandler マップを取得します。
 129  
 	 * @param	namespaceURI	ネームスペースの URI
 130  
 	 * @return	ElementHandler マップ
 131  
 	 */
 132  
 	private Map getElementHandlers( String namespaceURI )
 133  
 	{
 134  0
 		Map	handlers = (Map)_registry.get( namespaceURI );
 135  0
 		if( handlers == null )	{
 136  0
 			handlers = new java.util.HashMap( 89 );
 137  0
 			_registry.put( namespaceURI, handlers );
 138  
 		}
 139  0
 		return handlers;
 140  
 	}
 141  
 
 142  
 
 143  
 
 144  
 	/**
 145  
 	 * <code>HandlerRegistry</code> の新しいインスタンスを生成します。
 146  
 	 */
 147  
 	public static HandlerRegistry newInstance()
 148  
 	{
 149  0
 		HandlerRegistry	instance = new HandlerRegistry();
 150  
 
 151  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "select", new SelectHandler() );
 152  
 
 153  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "flag", new FlagHandler() );
 154  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "wait", new WaitHandler() );
 155  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "scene-flow", new SceneFlowHandler() );
 156  
 
 157  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "np", new NewPageHandler() );
 158  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "p", new ParagraphHandler() );
 159  
 
 160  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "head", new HeadHandler() );
 161  
 
 162  0
 		ActorHandler	actorHandler = new ActorHandler();
 163  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "enter", actorHandler );
 164  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "action", actorHandler );
 165  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "exit", actorHandler );
 166  
 
 167  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "background", new BackgroundHandler() );
 168  
 
 169  0
 		SlideHandler	slideHandler = new SlideHandler();
 170  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "show-slide", slideHandler );
 171  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "hide-slide", slideHandler );
 172  
 
 173  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "at-once", new AtOnceHandler() );
 174  
 
 175  0
 		SoundHandler	soundHandler = new SoundHandler();
 176  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "play-bgm", soundHandler );
 177  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "stop-bgm", soundHandler );
 178  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "play-se", soundHandler );
 179  0
 		instance.register( ElementHandler.NAMESPACE_SCENE, "stop-se", soundHandler );
 180  
 
 181  0
 		return instance;
 182  
 	}
 183  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.