org.eclipse.graphiti.util

## Class TextBuilder

- java.lang.Object
- - org.eclipse.graphiti.util.TextBuilder

    public class TextBuilder
    extends java.lang.Object

Class to construct `TextStyleRegion`s while adding text.

Since:
  0.12

### Nested Class Summary

Nested Classes
`static class` `TextBuilder.TextBuilderRegion` Inner class for storing the partial region styles.

### Constructor Summary

Constructors
Constructor and Description
`TextBuilder()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add(java.lang.String text)` Add text to the builder.
`void` `finishRegion(java.lang.String name)` Finish a region.
`void` `forgetRegion(java.lang.String name)` Drop a region that was created but not yet finished.
`int` `getLength()` Get current length of the collected text.
`TextBuilder.TextBuilderRegion` `getRegion(java.lang.String name)` Get a previously created and not yet finished region.
`java.util.List<TextStyleRegion>` `getRegions()` Get the regions created and finished for the text.
`boolean` `isEmpty()` Is any text added yet?
`TextBuilder.TextBuilderRegion` `startRegion(java.lang.String name)` Start a new region in the text.
`java.lang.String` `toString()` Get the collected text.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### TextBuilder

    public TextBuilder()

### Method Detail

#### add

    public void add(java.lang.String text)

Add text to the builder.

Parameters:
  `text` - Text to append.

#### getLength

    public int getLength()

Get current length of the collected text.

Returns:
  Length of the text collected so far (number of code points).

#### isEmpty

    public boolean isEmpty()

Is any text added yet?

Returns:
  `true` if no text added yet, else `false`.

#### toString

    public java.lang.String toString()

Get the collected text.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  The concatenated strings previously given through `add(java.lang.String)`.

#### getRegions

    public java.util.List<TextStyleRegion> getRegions()

Get the regions created and finished for the text.

Returns:
  Regions of the text.

#### startRegion

    public TextBuilder.TextBuilderRegion startRegion(java.lang.String name)

Start a new region in the text. Returns the created region for setting the style of the new region.

Parameters:
  `name` - Name of the region.
Returns:
  The created region.

#### getRegion

    public TextBuilder.TextBuilderRegion getRegion(java.lang.String name)

Get a previously created and not yet finished region.

Parameters:
  `name` - Name of the region to retrieve.
Returns:
  The queried region if it exists, else `null`.

#### finishRegion

    public void finishRegion(java.lang.String name)

Finish a region.

Parameters:
  `name` - Name of the region to finish.

#### forgetRegion

    public void forgetRegion(java.lang.String name)

Drop a region that was created but not yet finished.

Parameters:
  `name` - Name of the region to forget.