## org.apache.batik.gvt.text
Class BidiAttributedCharacterIterator

    java.lang.Object
      org.apache.batik.gvt.text.BidiAttributedCharacterIterator

All Implemented Interfaces:
  java.text.AttributedCharacterIterator, java.text.CharacterIterator, java.lang.Cloneable

public class BidiAttributedCharacterIterator
extends java.lang.Object
implements java.text.AttributedCharacterIterator

An attributed character iterator that does the reordering of the characters for bidirectional text. It reorders the characters so they are in visual order. It also assigns a BIDI_LEVEL attribute to each character which can be used to split the reordered ACI into text runs based on direction. ie. characters in a text run will all have the same bidi level.

Nested Class Summary

Nested classes inherited from class java.text.AttributedCharacterIterator
`java.text.AttributedCharacterIterator.Attribute`

Field Summary

Fields inherited from interface java.text.CharacterIterator
`DONE`

Constructor Summary
`` `BidiAttributedCharacterIterator(java.text.AttributedCharacterIterator aci, java.awt.font.FontRenderContext frc, int chunkStart)` Constructs a character iterator that represents the visual display order of characters within bidirectional text.
`protected` `BidiAttributedCharacterIterator(java.text.AttributedCharacterIterator reorderedACI, java.awt.font.FontRenderContext frc, int chunkStart, int[] newCharOrder)`

Method Summary
`java.lang.Object` `clone()` Creates a copy of this iterator.
`char` `current()` Gets the character at the current position (as returned by getIndex()).
`char` `first()` Sets the position to getBeginIndex() and returns the character at that position.
`java.util.Set` `getAllAttributeKeys()` Get the keys of all attributes defined on the iterator's text range.
`java.lang.Object` `getAttribute(java.text.AttributedCharacterIterator.Attribute attribute)` Get the value of the named attribute for the current character.
`java.util.Map` `getAttributes()` Returns a map with the attributes defined on the current character.
`int` `getBeginIndex()` Returns the start index of the text.
`int[]` `getCharMap()`
`int` `getEndIndex()` Returns the end index of the text.
`int` `getIndex()` Returns the current index.
`int` `getRunLimit()` Get the index of the first character following the run with respect to all attributes containing the current character.
`int` `getRunLimit(java.text.AttributedCharacterIterator.Attribute attribute)` Get the index of the first character following the run with respect to the given attribute containing the current character.
`int` `getRunLimit(java.util.Set attributes)` Get the index of the first character following the run with respect to the given attributes containing the current character.
`int` `getRunStart()` Get the index of the first character of the run with respect to all attributes containing the current character.
`int` `getRunStart(java.text.AttributedCharacterIterator.Attribute attribute)` Get the index of the first character of the run with respect to the given attribute containing the current character.
`int` `getRunStart(java.util.Set attributes)` Get the index of the first character of the run with respect to the given attributes containing the current character.
`char` `last()` Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.
`static int` `mirrorChar(int c)`
`char` `next()` Increments the iterator's index by one and returns the character at the new index.
`char` `previous()` Decrements the iterator's index by one and returns the character at the new index.
`char` `setIndex(int position)` Sets the position to the specified position in the text and returns that character.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BidiAttributedCharacterIterator

    protected BidiAttributedCharacterIterator(java.text.AttributedCharacterIterator reorderedACI,
                                              java.awt.font.FontRenderContext frc,
                                              int chunkStart,
                                              int[] newCharOrder)

### BidiAttributedCharacterIterator

    public BidiAttributedCharacterIterator(java.text.AttributedCharacterIterator aci,
                                           java.awt.font.FontRenderContext frc,
                                           int chunkStart)

  Constructs a character iterator that represents the visual display order of characters within bidirectional text.

Parameters:
  `aci` - The character iterator containing the characters in logical order.
  `frc` - The current font render context

Method Detail

### getCharMap

    public int[] getCharMap()

### getAllAttributeKeys

    public java.util.Set getAllAttributeKeys()

  Get the keys of all attributes defined on the iterator's text range.

  Specified by:
    `getAllAttributeKeys` in interface `java.text.AttributedCharacterIterator`

### getAttribute

    public java.lang.Object getAttribute(java.text.AttributedCharacterIterator.Attribute attribute)

  Get the value of the named attribute for the current character.

  Specified by:
    `getAttribute` in interface `java.text.AttributedCharacterIterator`

### getAttributes

    public java.util.Map getAttributes()

  Returns a map with the attributes defined on the current character.

  Specified by:
    `getAttributes` in interface `java.text.AttributedCharacterIterator`

### getRunLimit

    public int getRunLimit()

  Get the index of the first character following the run with respect to all attributes containing the current character.

  Specified by:
    `getRunLimit` in interface `java.text.AttributedCharacterIterator`

### getRunLimit

    public int getRunLimit(java.text.AttributedCharacterIterator.Attribute attribute)

  Get the index of the first character following the run with respect to the given attribute containing the current character.

  Specified by:
    `getRunLimit` in interface `java.text.AttributedCharacterIterator`

### getRunLimit

    public int getRunLimit(java.util.Set attributes)

  Get the index of the first character following the run with respect to the given attributes containing the current character.

  Specified by:
    `getRunLimit` in interface `java.text.AttributedCharacterIterator`

### getRunStart

    public int getRunStart()

  Get the index of the first character of the run with respect to all attributes containing the current character.

  Specified by:
    `getRunStart` in interface `java.text.AttributedCharacterIterator`

### getRunStart

    public int getRunStart(java.text.AttributedCharacterIterator.Attribute attribute)

  Get the index of the first character of the run with respect to the given attribute containing the current character.

  Specified by:
    `getRunStart` in interface `java.text.AttributedCharacterIterator`
  Parameters:
    `attribute` - The attribute for whose appearance the first offset is requested.

### getRunStart

    public int getRunStart(java.util.Set attributes)

  Get the index of the first character of the run with respect to the given attributes containing the current character.

  Specified by:
    `getRunStart` in interface `java.text.AttributedCharacterIterator`
  Parameters:
    `attributes` - the Set of attributes which begins at the returned index.

### clone

    public java.lang.Object clone()

  Creates a copy of this iterator.

  Specified by:
    `clone` in interface `java.text.CharacterIterator`

### current

    public char current()

  Gets the character at the current position (as returned by getIndex()).

  Specified by:
    `current` in interface `java.text.CharacterIterator`

### first

    public char first()

  Sets the position to getBeginIndex() and returns the character at that position.

  Specified by:
    `first` in interface `java.text.CharacterIterator`

### getBeginIndex

    public int getBeginIndex()

  Returns the start index of the text.

  Specified by:
    `getBeginIndex` in interface `java.text.CharacterIterator`

### getEndIndex

    public int getEndIndex()

  Returns the end index of the text.

  Specified by:
    `getEndIndex` in interface `java.text.CharacterIterator`

### getIndex

    public int getIndex()

  Returns the current index.

  Specified by:
    `getIndex` in interface `java.text.CharacterIterator`

### last

    public char last()

  Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.

  Specified by:
    `last` in interface `java.text.CharacterIterator`

### next

    public char next()

  Increments the iterator's index by one and returns the character at the new index.

  Specified by:
    `next` in interface `java.text.CharacterIterator`

### previous

    public char previous()

  Decrements the iterator's index by one and returns the character at the new index.

  Specified by:
    `previous` in interface `java.text.CharacterIterator`

### setIndex

    public char setIndex(int position)

  Sets the position to the specified position in the text and returns that character.

  Specified by:
    `setIndex` in interface `java.text.CharacterIterator`

### mirrorChar

    public static int mirrorChar(int c)

Copyright © 2004 Apache Software Foundation. All Rights Reserved.