private UCharacterName . AlgorithmName readAlg ( ) throws IOException { UCharacterName . AlgorithmName result = new UCharacterName . AlgorithmName ( ) ; int rangestart = m_byteBuffer_ . getInt ( ) ; int rangeend = m_byteBuffer_ . getInt ( ) ; byte type = m_byteBuffer_ . get ( ) ; byte variant = m_byteBuffer_ . get ( ) ; if ( ! result . setInfo ( rangestart , rangeend , type , variant ) ) { return null ; } int size = m_byteBuffer_ . getChar ( ) ; if ( type == UCharacterName . AlgorithmName . TYPE_1_ ) { char factor [ ] = ICUBinary . getChars ( m_byteBuffer_ , variant , 0 ) ; result . setFactor ( factor ) ; size -= ( variant << 1 ) ; } StringBuilder prefix = new StringBuilder ( ) ; char c = ( char ) ( m_byteBuffer_ . get ( ) & 0x00FF ) ; while ( c != 0 ) { prefix . append ( c ) ; c = ( char ) ( m_byteBuffer_ . get ( ) & 0x00FF ) ; } result . setPrefix ( prefix . toString ( ) ) ; size -= ( ALG_INFO_SIZE_ + prefix . length ( ) + 1 ) ; if ( size > 0 ) { byte string [ ] = new byte [ size ] ; m_byteBuffer_ . get ( string ) ; result . setFactorString ( string ) ; } return result ; }
Reads an individual record of AlgorithmNames