FileDocCategorySizeDatePackage
CString.javaAPI DocApache Poi 3.0.13088Sun Mar 11 12:59:30 GMT 2007org.apache.poi.hslf.record

CString

public class CString extends RecordAtom
A CString (type 4026). Holds a unicode string, and the first two bytes of the record header normally encode the count. Typically attached to some complex sequence of records, eg Commetns.
author
Nick Burch

Fields Summary
private byte[]
_header
private static long
_type
private byte[]
_text
The bytes that make up the text
Constructors Summary
protected CString(byte[] source, int start, int len)
For the CStrubg Atom

		// Sanity Checking
		if(len < 8) { len = 8; }

		// Get the header
		_header = new byte[8];
		System.arraycopy(source,start,_header,0,8);

		// Grab the text
		_text = new byte[len-8];
		System.arraycopy(source,start+8,_text,0,len-8);
	
public CString()
Create an empty CString

		// 0 length header
		_header = new byte[] {  0, 0, 0xBA-256, 0x0f, 0, 0, 0, 0 };
		// Empty text
		_text = new byte[0];
	
Methods Summary
public intgetCount()
Grabs the count, from the first two bytes of the header. The meaning of the count is specific to the type of the parent record

		return (int)LittleEndian.getShort(_header);
	
public longgetRecordType()
We are of type 4026

 return _type; 
public java.lang.StringgetText()
Grabs the text.

	
	    
	    
		return StringUtil.getFromUnicodeLE(_text);
	
public voidsetCount(int count)
Sets the count The meaning of the count is specific to the type of the parent record

		LittleEndian.putShort(_header, (short)count);
	
public voidsetText(java.lang.String text)
Updates the text in the Atom.

		// Convert to little endian unicode
		_text = new byte[text.length()*2];
		StringUtil.putUnicodeLE(text,_text,0);

		// Update the size (header bytes 5-8)
		LittleEndian.putInt(_header,4,_text.length);
	
public voidwriteOut(java.io.OutputStream out)
Write the contents of the record back, so it can be written to disk

		// Header - size or type unchanged
		out.write(_header);

		// Write out our text
		out.write(_text);