### org.jfree.layouting

# Interface State

All Superinterfaces:
  Serializable

Known Implementing Classes:
  AbstractRenderer.RendererState, AbstractStyleResolver.AbstractStyleResolverState, ContentNormalizer.ContentNormalizerState, DefaultRenderableTextFactory.DefaultRenderableTextFactoryState, InstantiationState, PaginatingRenderer.DefaultFlowRendererState, StreamingRenderer.DefaultFlowRendererState

`public interface State`
`extends Serializable`

As it is said. Its a state. A state object is created by a StatefullComponent and is used to save and restore the state of that component. The state object must be immutable - and the restore methods must make sure that the state object's contents are not modified in any way.

Author:
  Thomas Morgner

  ## Method Summary

  `StatefullComponent`

  `restore(LayoutProcess layoutProcess)`
    Creates a restored instance of the saved component.

## Method Details

### restore

    public StatefullComponent restore(LayoutProcess layoutProcess)
                throws StateException

> Creates a restored instance of the saved component. By using this factory-like approach, we gain independence from having to know the actual implementation. This makes things a lot easier.
> Parameters:
>   `layoutProcess` - the layout process that controls it all
> Returns:
>   the saved state
> Throws:
>   `StateException` -