blob: 6008d449e2f09a380fce171c0aa4228ace273287 [file] [log] [blame]
/**
*******************************************************************************
* Copyright (C) 1996-2001, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/UCharacterDB.java,v $
* $Date: 2001/03/23 19:51:38 $
* $Revision: 1.3 $
*
*******************************************************************************
*/
package com.ibm.text;
/**
* Internal base class for all character databases.
* Database classes store binary data read from uprops.dat and unames for use.
* It does not have the capability to parse the data into more high-level
* information. It only returns bytes of information when required.
* Due to the form most commonly used for retrieval, array of char is used
* to store the binary data
* Responsibility for molding the binary data into more meaning form lies on
* <a href=UCharacterPropertyDB.html>UCharacterPropertyDB</a> and
* <a href=UCharacterNameDB.html>UCharacterNameDB</a>.
* Data populated by <a href=UGenReader.html>UGenReader</a>
* @author Syn Wee Quek
* @since oct3100 HALLOWEEN!!
* @see com.ibm.text.UCharacterPropertyDB
* @see com.ibm.text.UCharacterNameDB
*/
class UCharacterDB
{
// protected variable ===========================================
/**
* Unicode data version
*/
String m_unicodeversion_;
// constructor =============================================
/**
* Constructor for UCharacterDB
*/
protected UCharacterDB()
{
}
// public method =============================================
/**
* toString method for printing
*/
public String toString()
{
StringBuffer result = new StringBuffer();
result.append("\nunicode version number ");
result.append(m_unicodeversion_);
return result.toString();
}
// protected method =============================================
/**
* set version number for this set of unicode characters
* @param version
* @return false if version is not a valid number
*/
protected boolean setUnicodeVersion(byte[] version)
{
int size = 0;
if (version != null) {
size = version.length;
}
boolean result = false;
StringBuffer s = new StringBuffer(size);
for (int i = 0; i < size; i++) {
s.append((int)version[i]);
s.append('.');
if (version[i] < 0 || version[i] > 9) {
return false;
}
if (version[i] != 0) {
result = true;
}
}
if (result) {
m_unicodeversion_ = s.substring(0, (size << 1) - 1);
}
return true;
}
}