Coverage report

  %line %branch
tsukuba_bunko.peko.MessageID
0% 
0% 

 1  
 /*
 2  
  * "Peko" Visual Novel System
 3  
  *
 4  
  * All Rights Reserved.
 5  
  * (c) Copyright 2002 by Tsukuba Bunko.
 6  
  *
 7  
  * $Id: MessageID.java,v 1.1 2005/07/11 12:49:19 ppoi Exp $
 8  
  */
 9  
 package tsukuba_bunko.peko;
 10  
 
 11  
 import	java.text.MessageFormat;
 12  
 
 13  
 import	tsukuba_bunko.peko.resource.ResourceManager;
 14  
 
 15  
 
 16  
 /**
 17  
  * メッセージ ID です。
 18  
  * @author	$Author: ppoi $
 19  
  * @version	$Revision: 1.1 $
 20  
  */
 21  
 public class MessageID	{
 22  
 
 23  
 	/**
 24  
 	 * メッセージリソースの prefix
 25  
 	 */
 26  
 	public static final String	RID_PREFIX = "peko.message.";
 27  
 
 28  
 	/**
 29  
 	 * 出力メッセージのテンプレート / {0}:メッセージ ID {1}:メッセージ
 30  
 	 */
 31  0
 	protected static final MessageFormat	TEMPLATE_MESSAGE = new MessageFormat( "[{0}] {1}" );
 32  
 
 33  
 	/**
 34  
 	 * メッセージリソースが存在しない場合のメッセージ
 35  
 	 */
 36  
 	protected static final String	NULL_MESSAGE = "********** NO MESSAGE **********";
 37  
 
 38  
 
 39  
 	/**
 40  
 	 * メッセージ ID
 41  
 	 */
 42  0
 	private String	_messageID = null;
 43  
 
 44  
 	/**
 45  
 	 * デフォルトのメッセージ
 46  
 	 */
 47  0
 	private Object	_defaultMessage = null;
 48  
 
 49  
 
 50  
 	/**
 51  
 	 * <code>MessageID</code> のインスタンスを生成します。
 52  
 	 * @param	messageID	メッセージ ID
 53  
 	 */
 54  
 	public MessageID( String messageID )
 55  
 	{
 56  0
 		this( messageID, "***** message missing *****" );
 57  0
 	}
 58  
 
 59  
 	/**
 60  
 	 * <code>MessageID</code> のインスタンスを生成します。
 61  
 	 * @param	messageID	メッセージ ID
 62  
 	 * @param	defaultMessage	デフォルトのメッセージ
 63  
 	 */
 64  
 	public MessageID( String messageID, Object defaultMessage )
 65  
 	{
 66  0
 		super();
 67  0
 		_messageID = messageID;
 68  0
 		_defaultMessage = defaultMessage;
 69  0
 	}
 70  
 
 71  
 
 72  
 	/**
 73  
 	 * メッセージ ID を取得します。
 74  
 	 * @return	メッセージ ID
 75  
 	 */
 76  
 	public String getMessageID()
 77  
 	{
 78  0
 		return _messageID;
 79  
 	}
 80  
 
 81  
 	/**
 82  
 	 * メッセージを取得します。
 83  
 	 * @return	メッセージ文字列
 84  
 	 */
 85  
 	public String getMessage()
 86  
 	{
 87  0
 		ResourceManager	resources = ResourceManager.getInstance();
 88  0
 		Object	message = null;
 89  0
 		if( _defaultMessage == null )	{
 90  0
 			message = resources.getResource( MessageID.RID_PREFIX + _messageID );
 91  0
 			if( message == null )	{
 92  0
 				message = MessageID.NULL_MESSAGE;
 93  0
 			}
 94  
 		}
 95  
 		else	{
 96  0
 			message = resources.getResource( MessageID.RID_PREFIX + _messageID, true );
 97  0
 			if( message == null )	{
 98  0
 				message = _defaultMessage;
 99  
 			}
 100  
 		}
 101  
 
 102  0
 		String	messageStr = null;
 103  0
 		if( message instanceof String )	{
 104  0
 			messageStr = (String)message;
 105  0
 		}
 106  
 		else	{
 107  0
 			messageStr = message.toString();
 108  
 		}
 109  
 
 110  0
 		return MessageID.TEMPLATE_MESSAGE.format( new Object[]{_messageID, messageStr} );
 111  
 	}
 112  
 
 113  
 	/**
 114  
 	 * メッセージを取得します。
 115  
 	 * @param	params	メッセージに埋め込むパラメータ
 116  
 	 * @return	メッセージ文字列
 117  
 	 */
 118  
 	public String getMessage( Object[] params )
 119  
 	{
 120  0
 		ResourceManager	resources = ResourceManager.getInstance();
 121  0
 		Object	message = null;
 122  0
 		if( _defaultMessage == null )	{
 123  0
 			message = resources.getResource( MessageID.RID_PREFIX + _messageID );
 124  0
 			if( message == null )	{
 125  0
 				message = MessageID.NULL_MESSAGE;
 126  0
 			}
 127  
 		}
 128  
 		else	{
 129  0
 			message = resources.getResource( MessageID.RID_PREFIX + _messageID, true );
 130  0
 			if( message == null )	{
 131  0
 				message = _defaultMessage;
 132  
 			}
 133  
 		}
 134  
 
 135  0
 		String	messageStr = null;
 136  0
 		if( message instanceof MessageFormat )	{
 137  0
 			messageStr = ((MessageFormat)message).format( params );
 138  0
 		}
 139  0
 		else if( message instanceof String )	{
 140  0
 			messageStr = MessageFormat.format( (String)message, params );
 141  0
 		}
 142  
 		else	{
 143  0
 			messageStr = message.toString();
 144  
 		}
 145  
 
 146  0
 		return MessageID.TEMPLATE_MESSAGE.format( new Object[]{_messageID, messageStr} );
 147  
 	}
 148  
 
 149  
 
 150  
 //
 151  
 //	Object の実装
 152  
 //
 153  
 	public String toString()
 154  
 	{
 155  0
 		return _messageID;
 156  
 	}
 157  
 
 158  
 	public int hashCode()
 159  
 	{
 160  0
 		return _messageID.hashCode();
 161  
 	}
 162  
 
 163  
 	public boolean equals( Object obj )
 164  
 	{
 165  0
 		if( obj instanceof MessageID )	{
 166  0
 			return _messageID.equals( ((MessageID)obj)._messageID );
 167  
 		}
 168  
 		else	{
 169  0
 			return false;
 170  
 		}
 171  
 	}
 172  
 }

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