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
  
         http://www.apache.org/licenses/LICENSE-2.0
 
    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.hwpf.usermodel;
 
This class represents a run of text that share common properties.

Author(s):
Ryan Ackley
 
 public final class CharacterRun
   extends Range
   implements Cloneable
 {
   public final static short SPRM_FRMARKDEL = (short)0x0800;
   public final static short SPRM_FRMARK = 0x0801;
   public final static short SPRM_FFLDVANISH = 0x0802;
   public final static short SPRM_PICLOCATION = 0x6A03;
   public final static short SPRM_IBSTRMARK = 0x4804;
   public final static short SPRM_DTTMRMARK = 0x6805;
   public final static short SPRM_FDATA = 0x0806;
   public final static short SPRM_SYMBOL = 0x6A09;
   public final static short SPRM_FOLE2 = 0x080A;
   public final static short SPRM_HIGHLIGHT = 0x2A0C;
   public final static short SPRM_OBJLOCATION = 0x680E;
   public final static short SPRM_ISTD = 0x4A30;
   public final static short SPRM_FBOLD = 0x0835;
   public final static short SPRM_FITALIC = 0x0836;
   public final static short SPRM_FSTRIKE = 0x0837;
   public final static short SPRM_FOUTLINE = 0x0838;
   public final static short SPRM_FSHADOW = 0x0839;
   public final static short SPRM_FSMALLCAPS = 0x083A;
   public final static short SPRM_FCAPS = 0x083B;
   public final static short SPRM_FVANISH = 0x083C;
   public final static short SPRM_KUL = 0x2A3E;
   public final static short SPRM_DXASPACE = (short)0x8840;
   public final static short SPRM_LID = 0x4A41;
   public final static short SPRM_ICO = 0x2A42;
   public final static short SPRM_HPS = 0x4A43;
   public final static short SPRM_HPSPOS = 0x4845;
   public final static short SPRM_ISS = 0x2A48;
   public final static short SPRM_HPSKERN = 0x484B;
   public final static short SPRM_YSRI = 0x484E;
   public final static short SPRM_RGFTCASCII = 0x4A4F;
   public final static short SPRM_RGFTCFAREAST = 0x4A50;
   public final static short SPRM_RGFTCNOTFAREAST = 0x4A51;
   public final static short SPRM_CHARSCALE = 0x4852;
   public final static short SPRM_FDSTRIKE = 0x2A53;
   public final static short SPRM_FIMPRINT = 0x0854;
   public final static short SPRM_FSPEC = 0x0855;
   public final static short SPRM_FOBJ = 0x0856;
   public final static short SPRM_PROPRMARK = (short)0xCA57;
   public final static short SPRM_FEMBOSS = 0x0858;
   public final static short SPRM_SFXTEXT = 0x2859;
   public final static short SPRM_DISPFLDRMARK = (short)0xCA62;
   public final static short SPRM_IBSTRMARKDEL = 0x4863;
   public final static short SPRM_DTTMRMARKDEL = 0x6864;
   public final static short SPRM_BRC = 0x6865;
   public final static short SPRM_SHD = 0x4866;
   public final static short SPRM_IDSIRMARKDEL = 0x4867;
   public final static short SPRM_CPG = 0x486B;
   public final static short SPRM_NONFELID = 0x486D;
   public final static short SPRM_FELID = 0x486E;
   public final static short SPRM_IDCTHINT = 0x286F;
 
   protected short _istd;
   protected SprmBuffer _chpx;
   protected CharacterProperties _props;

  

Parameters:
chpx The chpx this object is based on.
ss The stylesheet for the document this run belongs to.
istd The style index if this run's base style.
parent The parent range of this character run (usually a paragraph).
 
   CharacterRun(CHPX chpxStyleSheet ssshort istdRange parent)
  {
    super(Math.max(parent._startchpx.getStart()), Math.min(parent._endchpx.getEnd()), parent);
     = chpx.getCharacterProperties(ssistd);
     = chpx.getSprmBuf();
     = istd;
  }

  
Here for runtime type determination using a switch statement convenient.

Returns:
TYPE_CHARACTER
  public int type()
  {
    return ;
  }
  public boolean isMarkedDeleted()
  {
    return .isFRMarkDel();
  }
  public void markDeleted(boolean mark)
  {
    .setFRMarkDel(mark);
    byte newVal = (byte)(mark ? 1 : 0);
  }
  public boolean isBold()
  {
    return .isFBold();
  }
  public void setBold(boolean bold)
  {
    .setFBold(bold);
    byte newVal = (byte)(bold ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isItalic()
  {
    return .isFItalic();
  }
  public void setItalic(boolean italic)
  {
    .setFItalic(italic);
    byte newVal = (byte)(italic ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isOutlined()
  {
    return .isFOutline();
  }
  public void setOutline(boolean outlined)
  {
    .setFOutline(outlined);
    byte newVal = (byte)(outlined ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isFldVanished()
  {
    return .isFFldVanish();
  }
  public void setFldVanish(boolean fldVanish)
  {
    .setFFldVanish(fldVanish);
    byte newVal = (byte)(fldVanish ? 1 : 0);
  }
  public boolean isSmallCaps()
  {
    return .isFSmallCaps();
  }
  public void setSmallCaps(boolean smallCaps)
  {
    .setFSmallCaps(smallCaps);
    byte newVal = (byte)(smallCaps ? 1 : 0);
  }
  public boolean isCapitalized()
  {
    return .isFCaps();
  }
  public void setCapitalized(boolean caps)
  {
    .setFCaps(caps);
    byte newVal = (byte)(caps ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isVanished()
  {
    return .isFVanish();
  }
  public void setVanished(boolean vanish)
  {
    .setFVanish(vanish);
    byte newVal = (byte)(vanish ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isMarkedInserted()
  {
    return .isFRMark();
  }
  public void markInserted(boolean mark)
  {
    .setFRMark(mark);
    byte newVal = (byte)(mark ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isStrikeThrough()
  {
    return .isFStrike();
  }
  public void strikeThrough(boolean strike)
  {
    .setFStrike(strike);
    byte newVal = (byte)(strike ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isShadowed()
  {
    return .isFShadow();
  }
  public void setShadow(boolean shadow)
  {
    .setFShadow(shadow);
    byte newVal = (byte)(shadow ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isEmbossed()
  {
    return .isFEmboss();
  }
  public void setEmbossed(boolean emboss)
  {
    .setFEmboss(emboss);
    byte newVal = (byte)(emboss ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isImprinted()
  {
    return .isFImprint();
  }
  public void setImprinted(boolean imprint)
  {
    .setFImprint(imprint);
    byte newVal = (byte)(imprint ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isDoubleStrikeThrough()
  {
    return .isFDStrike();
  }
  public void setDoubleStrikethrough(boolean dstrike)
  {
    .setFDStrike(dstrike);
    byte newVal = (byte)(dstrike ? 1 : 0);
    .updateSprm(newVal);
  }
  public void setFtcAscii(int ftcAscii)
  {
    .setFtcAscii(ftcAscii);
    .updateSprm(, (short)ftcAscii);
  }
  public void setFtcFE(int ftcFE)
  {
    .setFtcFE(ftcFE);
    .updateSprm(, (short)ftcFE);
  }
  public void setFtcOther(int ftcOther)
  {
    .setFtcOther(ftcOther);
    .updateSprm(, (short)ftcOther);
  }
  public int getFontSize()
  {
    return .getHps();
  }
  public void setFontSize(int halfPoints)
  {
    .setHps(halfPoints);
    .updateSprm(, (short)halfPoints);
  }
  public int getCharacterSpacing()
  {
    return .getDxaSpace();
  }
  public void setCharacterSpacing(int twips)
  {
    .setDxaSpace(twips);
  }
  public short getSubSuperScriptIndex()
  {
    return .getIss();
  }
  public void setSubSuperScriptIndex(short iss)
  {
    .setDxaSpace(iss);
  }
  public int getUnderlineCode()
  {
    return .getKul();
  }
  public void setUnderlineCode(int kul)
  {
    .setKul((byte)kul);
    .updateSprm(, (byte)kul);
  }
  public int getColor()
  {
    return .getIco();
  }
  public void setColor(int color)
  {
    .setIco((byte)color);
    .updateSprm(, (byte)color);
  }
  public int getVerticalOffset()
  {
    return .getHpsPos();
  }
  public void setVerticalOffset(int hpsPos)
  {
    .setHpsPos((shorthpsPos);
    .updateSprm(, (byte)hpsPos);
  }
  public int getKerning()
  {
    return .getHpsKern();
  }
  public void setKerning(int kern)
  {
    .setHpsKern(kern);
    .updateSprm(, (short)kern);
  }
  public boolean isHighlighted()
  {
    return .isFHighlight();
  }
  public byte getHighlightedColor()
  {
      return .getIcoHighlight();
  }
  public void setHighlighted(byte color)
  {
    .setFHighlight(true);
    .setIcoHighlight(color);
  }
  public String getFontName()
  {
    if (.getFontTable() == null)
      // old word format
      return null;
  }
  public boolean isSpecialCharacter()
  {
    return .isFSpec();
  }
  public void setSpecialCharacter(boolean spec)
  {
    .setFSpec(spec);
    byte newVal = (byte)(spec ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isObj()
  {
    return .isFObj();
  }
  public void setObj(boolean obj)
  {
    .setFObj(obj);
    byte newVal = (byte)(obj ? 1 : 0);
    .updateSprm(newVal);
  }
  public int getPicOffset()
  {
    return .getFcPic();
  }
  public void setPicOffset(int offset)
  {
    .setFcPic(offset);
  }

  
Does the picture offset represent picture or binary data? If it's set, then the picture offset refers to a NilPICFAndBinData structure, otherwise to a PICFAndOfficeArtData
  public boolean isData()
  {
    return .isFData();
  }
  public void setData(boolean data)
  {
    .setFData(data);
    byte newVal = (byte)(data ? 1 : 0);
    .updateSprm(newVal);
  }
  public boolean isOle2()
  {
    return .isFOle2();
  }
  public void setOle2(boolean ole)
  {
    .setFOle2(ole);
    byte newVal = (byte)(ole ? 1 : 0);
    .updateSprm(newVal);
  }
  public int getObjOffset()
  {
    return .getFcObj();
  }
  public void setObjOffset(int obj)
  {
    .setFcObj(obj);
  }

  
Get the ico24 field for the CHP record.
  public int getIco24()
  {
    return .getIco24();
  }

  
Set the ico24 field for the CHP record.
  public void setIco24(int colour24)
  {
    .setIco24(colour24);
  }

    
clone the CharacterProperties object associated with this characterRun so that you can apply it to another CharacterRun

Deprecated:
This method shall not be public and should not be called from high-level code
    @Deprecated
    {
        return .clone();
    }

  
Used to create a deep copy of this object.

Returns:
A deep copy.
Throws:
java.lang.CloneNotSupportedException never
  public Object clone()
  {
    CharacterRun cp = (CharacterRun)super.clone();
                                  clone());
    cp._props.setShd((ShadingDescriptor).getShd().clone());
    return cp;
  }
  
  
Returns true, if the CharacterRun is a special character run containing a symbol, otherwise false.

In case of a symbol, the Range.text() method always returns a single character 0x0028, but word actually stores the character in a different field. Use getSymbolCharacter() to get that character and getSymbolFont() to determine its font.

  public boolean isSymbol()
  {
    return isSpecialCharacter() && text().equals("\u0028");
  }

  
Returns the symbol character, if this is a symbol character run.

Throws:
java.lang.IllegalStateException If this is not a symbol character run: call isSymbol() first.
See also:
isSymbol()
  public char getSymbolCharacter()
  {
    if (isSymbol()) {
      return (char).getXchSym();
    } else
      throw new IllegalStateException("Not a symbol CharacterRun");
  }

  
Returns the symbol font, if this is a symbol character run. Might return null, if the font index is not found in the font table.

Throws:
java.lang.IllegalStateException If this is not a symbol character run: call isSymbol() first.
See also:
isSymbol()
  public Ffn getSymbolFont()
  {
    if (isSymbol()) {
      if (.getFontTable() == null)
        return null;
      
      // Fetch all font names
      Ffn[] fontNames = .getFontTable().getFontNames();
      // Try to find the name of the font for our symbol
      if (fontNames.length <= .getFtcSym())
        return null;
      return fontNames[.getFtcSym()];
    } else
      throw new IllegalStateException("Not a symbol CharacterRun");
  }
  
  public BorderCode getBorder() {
    return .getBrc();
  }
  public int getLanguageCode() {
      return .getLidDefault();
  }
  
  

Returns the index of the base style which applies to this Run. Details of the style can be looked up from the org.apache.poi.hwpf.model.StyleSheet, via org.apache.poi.hwpf.model.StyleSheet.getStyleDescription(int).

Note that runs typically override some of the style properties from the base, so normally style information should be fetched directly from the CharacterRun itself.

  public short getStyleIndex() {
    return ;
  }
  
  public String toString() {
     String text = text();
     return "CharacterRun of " + text.length() + " characters - " + text
  }
    public String[] getDropDownListValues()
    {
        if ( getDocument() instanceof HWPFDocument )
        {
            char c = .charAt );
            if ( c == 0x01 )
            {
                NilPICFAndBinData data = new NilPICFAndBinData(
                        ( (HWPFDocumentgetDocument() ).getDataStream(),
                        getPicOffset() );
                FFData ffData = new FFDatadata.getBinData(), 0 );
                String[] values = ffData.getDropList();
                return values;
            }
        }
        return null;
    }
    {
        if ( getDocument() instanceof HWPFDocument )
        {
            char c = .charAt );
            if ( c == 0x01 )
            {
                NilPICFAndBinData data = new NilPICFAndBinData(
                        ( (HWPFDocumentgetDocument() ).getDataStream(),
                        getPicOffset() );
                FFData ffData = new FFDatadata.getBinData(), 0 );
                return Integer.valueOfffData.getDefaultDropDownItemIndex() );
            }
        }
        return null;
    }
New to GrepCode? Check out our FAQ X