Class StructuredTextExpertFactory

java.lang.Object
org.eclipse.equinox.bidi.advanced.StructuredTextExpertFactory

public final class StructuredTextExpertFactory extends Object
Obtains IStructuredTextExpert instances. An IStructuredTextExpert instance (called in short an "expert") provides the advanced methods to process a certain type of structured text, and is thus related to a specific structured text type handler. There are two kinds of experts:

Only the stateful kind can remember the state established by a call to a text processing method and transmit it as initial state in the next call to a text processing method.

In other words, the methods IStructuredTextExpert.getState(), IStructuredTextExpert.setState(java.lang.Object) and IStructuredTextExpert.clearState() of IStructuredTextExpert are inoperative for experts which are not stateful.

Using a stateful expert is more resource intensive, thus not stateful experts should be used when feasible.

  • Method Details

    • getExpert

      public static IStructuredTextExpert getExpert()
      Obtains a IStructuredTextExpert instance for processing structured text with a default type handler segmenting the text according to default separators. This expert instance does not handle states.
      Returns:
      the IStructuredTextExpert instance.
      See Also:
    • getExpert

      public static IStructuredTextExpert getExpert(String type)
      Obtains a IStructuredTextExpert instance for processing structured text with the specified type handler. This expert instance does not handle states.
      Parameters:
      type - the identifier for the required type handler. This identifier may be one of those listed in StructuredTextTypeHandlerFactory or it may be have been registered by a plug-in.
      Returns:
      the IStructuredTextExpert instance.
      Throws:
      IllegalArgumentException - if type is not a known type identifier.
    • getExpert

      public static IStructuredTextExpert getExpert(String type, StructuredTextEnvironment environment)
      Obtains a IStructuredTextExpert instance for processing structured text with the specified type handler and the specified environment. This expert instance does not handle states.
      Parameters:
      type - the identifier for the required type handler. This identifier may be one of those listed in StructuredTextTypeHandlerFactory or it may be have been registered by a plug-in.
      environment - the current environment, which may affect the behavior of the expert. This parameter may be specified as null, in which case the StructuredTextEnvironment.DEFAULT environment should be assumed.
      Returns:
      the IStructuredTextExpert instance.
      Throws:
      IllegalArgumentException - if type is not a known type identifier.
    • getStatefulExpert

      public static IStructuredTextExpert getStatefulExpert(String type)
      Obtains a IStructuredTextExpert instance for processing structured text with the specified type handler. This expert instance can handle states.
      Parameters:
      type - the identifier for the required type handler. This identifier may be one of those listed in StructuredTextTypeHandlerFactory or it may be have been registered by a plug-in.
      Returns:
      the IStructuredTextExpert instance.
      Throws:
      IllegalArgumentException - if type is not a known type identifier.
    • getStatefulExpert

      public static IStructuredTextExpert getStatefulExpert(String type, StructuredTextEnvironment environment)
      Obtains a IStructuredTextExpert instance for processing structured text with the specified type handler and the specified environment. This expert instance can handle states.
      Parameters:
      type - the identifier for the required type handler. This identifier may be one of those listed in StructuredTextTypeHandlerFactory or it may be have been registered by a plug-in.
      environment - the current environment, which may affect the behavior of the expert. This parameter may be specified as null, in which case the StructuredTextEnvironment.DEFAULT environment should be assumed.
      Returns:
      the IStructuredTextExpert instance.
      Throws:
      IllegalArgumentException - if type is not a known type identifier.
    • getStatefulExpert

      public static IStructuredTextExpert getStatefulExpert(StructuredTextTypeHandler handler, StructuredTextEnvironment environment)
      Obtains a IStructuredTextExpert instance for processing structured text with the specified type handler and the specified environment. This expert instance can handle states.
      Parameters:
      handler - the type handler instance. It may have been obtained using StructuredTextTypeHandlerFactory.getHandler(String) or by instantiating a type handler.
      environment - the current environment, which may affect the behavior of the expert. This parameter may be specified as null, in which case the StructuredTextEnvironment.DEFAULT environment should be assumed.
      Returns:
      the IStructuredTextExpert instance
      Throws:
      IllegalArgumentException - if the handler is null