Package org.apache.batik.gvt.text
Class GVTACIImpl
- java.lang.Object
-
- org.apache.batik.gvt.text.GVTACIImpl
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.text.AttributedCharacterIterator
,java.text.CharacterIterator
,GVTAttributedCharacterIterator
public class GVTACIImpl extends java.lang.Object implements GVTAttributedCharacterIterator
GVTACIImpl Used to implement SVG <tspan> and <text> attributes. This implementation is designed for efficient support of per-character attributes (i.e. single character attribute spans). It supports an extended set of TextAttributes, via inner class GVTAttributedCharacterIterator.TextAttributes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GVTACIImpl.TransformAttributeFilter
AttributeFilter which converts (extended) location attributes SVGAttributedCharacterIterator.TextAttribute.X, TextAttribute.Y, TextAttribute.ROTATE attributes to TextAttribute.TRANSFORM attributes.-
Nested classes/interfaces inherited from interface java.text.AttributedCharacterIterator
java.text.AttributedCharacterIterator.Attribute
-
Nested classes/interfaces inherited from interface org.apache.batik.gvt.text.GVTAttributedCharacterIterator
GVTAttributedCharacterIterator.AttributeFilter, GVTAttributedCharacterIterator.TextAttribute
-
-
Constructor Summary
Constructors Constructor Description GVTACIImpl()
Constructs a new GVTAttributedCharacterIterator with no attributes and a null string.GVTACIImpl(java.text.AttributedCharacterIterator aci)
Constructs a GVTACIImpl whose contents are equivalent to those of aci.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Create a copy of this iteratorchar
current()
Get the character at the current position (as returned by getIndex()).char
first()
Sets the position to getBeginIndex().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()
Get the start index of the text.int
getEndIndex()
Get the end index of the text.int
getIndex()
Get 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.char
next()
Increments the iterator's index by one, returning the next character.char
previous()
Decrements the iterator's index by one and returns the character at the new index.void
setAttributeArray(GVTAttributedCharacterIterator.TextAttribute attr, java.lang.Object[] attValues, int beginIndex, int endIndex)
Sets values of a per-character attribute associated with the content string.char
setIndex(int position)
Sets the position to the specified position in the text.void
setString(java.lang.String s)
Sets this iterator's contents to an unattributed copy of String s.void
setString(java.text.AttributedString s)
Assigns this iterator's contents to be equivalent to AttributedString s.
-
-
-
Constructor Detail
-
GVTACIImpl
public GVTACIImpl()
Constructs a new GVTAttributedCharacterIterator with no attributes and a null string.
-
GVTACIImpl
public GVTACIImpl(java.text.AttributedCharacterIterator aci)
Constructs a GVTACIImpl whose contents are equivalent to those of aci. This constructor creates a new copy of the source data inaci
.
-
-
Method Detail
-
setString
public void setString(java.lang.String s)
Sets this iterator's contents to an unattributed copy of String s.- Specified by:
setString
in interfaceGVTAttributedCharacterIterator
-
setString
public void setString(java.text.AttributedString s)
Assigns this iterator's contents to be equivalent to AttributedString s.- Specified by:
setString
in interfaceGVTAttributedCharacterIterator
-
setAttributeArray
public void setAttributeArray(GVTAttributedCharacterIterator.TextAttribute attr, java.lang.Object[] attValues, int beginIndex, int endIndex)
Sets values of a per-character attribute associated with the content string. Characters frombeginIndex
toendIndex
(zero-offset) are assigned values for attribute keyattr
from the arrayattValues.
If the length of attValues is less than character span(endIndex-beginIndex)
the last value is duplicated; if attValues is longer than the character span the extra values are ignored. Note that if either beginIndex or endIndex are outside the bounds of the current character array they are clipped accordingly.- Specified by:
setAttributeArray
in interfaceGVTAttributedCharacterIterator
-
getAllAttributeKeys
public java.util.Set getAllAttributeKeys()
Get the keys of all attributes defined on the iterator's text range.- Specified by:
getAllAttributeKeys
in interfacejava.text.AttributedCharacterIterator
- Specified by:
getAllAttributeKeys
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getAttribute
in interfaceGVTAttributedCharacterIterator
-
getAttributes
public java.util.Map getAttributes()
Returns a map with the attributes defined on the current character.- Specified by:
getAttributes
in interfacejava.text.AttributedCharacterIterator
- Specified by:
getAttributes
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
-
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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
- 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 interfacejava.text.AttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
- Parameters:
attributes
- the Set of attributes which begins at the returned index.
-
clone
public java.lang.Object clone()
Create a copy of this iterator- Specified by:
clone
in interfacejava.text.CharacterIterator
- Specified by:
clone
in interfaceGVTAttributedCharacterIterator
- Overrides:
clone
in classjava.lang.Object
-
current
public char current()
Get the character at the current position (as returned by getIndex()).
Specified by: java.text.CharacterIterator.- Specified by:
current
in interfacejava.text.CharacterIterator
- Specified by:
current
in interfaceGVTAttributedCharacterIterator
-
first
public char first()
Sets the position to getBeginIndex().- Specified by:
first
in interfacejava.text.CharacterIterator
- Specified by:
first
in interfaceGVTAttributedCharacterIterator
- Returns:
- the character at the start index of the text.
Specified by: java.text.CharacterIterator.
-
getBeginIndex
public int getBeginIndex()
Get the start index of the text.
Specified by: java.text.CharacterIterator.- Specified by:
getBeginIndex
in interfacejava.text.CharacterIterator
- Specified by:
getBeginIndex
in interfaceGVTAttributedCharacterIterator
-
getEndIndex
public int getEndIndex()
Get the end index of the text.
Specified by: java.text.CharacterIterator.- Specified by:
getEndIndex
in interfacejava.text.CharacterIterator
- Specified by:
getEndIndex
in interfaceGVTAttributedCharacterIterator
-
getIndex
public int getIndex()
Get the current index.
Specified by: java.text.CharacterIterator.- Specified by:
getIndex
in interfacejava.text.CharacterIterator
- Specified by:
getIndex
in interfaceGVTAttributedCharacterIterator
-
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: java.text.CharacterIterator.- Specified by:
last
in interfacejava.text.CharacterIterator
- Specified by:
last
in interfaceGVTAttributedCharacterIterator
-
next
public char next()
Increments the iterator's index by one, returning the next character.- Specified by:
next
in interfacejava.text.CharacterIterator
- Specified by:
next
in interfaceGVTAttributedCharacterIterator
- Returns:
- the character at the new index.
Specified by: java.text.CharacterIterator.
-
previous
public char previous()
Decrements the iterator's index by one and returns the character at the new index.
Specified by: java.text.CharacterIterator.- Specified by:
previous
in interfacejava.text.CharacterIterator
- Specified by:
previous
in interfaceGVTAttributedCharacterIterator
-
setIndex
public char setIndex(int position)
Sets the position to the specified position in the text.- Specified by:
setIndex
in interfacejava.text.CharacterIterator
- Specified by:
setIndex
in interfaceGVTAttributedCharacterIterator
- Parameters:
position
- The new (current) index into the text.- Returns:
- the character at new index position.
Specified by: java.text.CharacterIterator.
-
-