Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* ====================================================================
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed with
     this work for additional information regarding copyright ownership.
     The ASF licenses this file to You under the Apache License, Version 2.0
     (the "License"); you may not use this file except in compliance with
     the License.  You may obtain a copy of the License at
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
 package org.apache.poi.hslf.record;
 import java.util.List;
The atom record that specifies additional text formatting.
 public final class StyleTextProp9Atom extends RecordAtom {
     private final TextPFException9[] autoNumberSchemes;
Record header.
     private byte[] header;
Record data.
     private byte[] data;
     private short version;
     private short recordId;
     private int length;
Constructs the link related atom record from its source data.

source the source data as a byte array.
start the start offset into the byte array.
len the length of the slice in the byte array.
     protected StyleTextProp9Atom(byte[] sourceint startint len) {
         // Get the header.
         final List<TextPFException9schemes = new LinkedList<TextPFException9>();
          = new byte[8];
         this.  = LittleEndian.getShort(, 0);
         this. = LittleEndian.getShort(, 2);
         this.   = LittleEndian.getInt(, 4);
         // Get the record data.
          = new byte[len-8];
         System.arraycopy(sourcestart+8, , 0, len-8);
         for (int i = 0; i < .; ) {
             final TextPFException9 item = new TextPFException9(i);
             i += item.getRecordLength();
             if (i+4 >= .) {
             int textCfException9 = LittleEndian.getInt(i );
             i += 4;
             //TODO analyze textCfException when have some test data
             if (i+4 >= .) {
             int textSiException = LittleEndian.getInt(i );
             i += 4;//TextCFException9 + SIException
             if (0 != (textSiException & 0x40)) { 
                 i += 2; //skip fBidi 
             if (i+4 >= .) {
         this. = (TextPFException9[]) schemes.toArray(new TextPFException9[schemes.size()]);

Gets the record type.

the record type.
     public long getRecordType() { return this.; }
     public short getVersion() {
         return ;
     public int getLength() {
        return ;
    public TextPFException9[] getAutoNumberTypes() {
        return this.;

Write the contents of the record back, so it can be written to disk

out the output stream to write to.
Throws: if an error occurs.
    public void writeOut(OutputStream outthrows IOException {

Update the text length

size the text length
    public void setTextSize(int size){
        LittleEndian.putInt(, 0, size);

Reset the content to one info run with the default values

size the site of parent text
    public void reset(int size){
         = new byte[10];
        // 01 00 00 00
        LittleEndian.putInt(, 0, size);
        // 01 00 00 00
        LittleEndian.putInt(, 4, 1); //mask
        // 00 00
        LittleEndian.putShort(, 8, (short)0); //langId
        // Update the size (header bytes 5-8)
        LittleEndian.putInt(, 4, .);
New to GrepCode? Check out our FAQ X