## org.gjt.sp.jedit.buffer
Class FoldHandler

    java.lang.Object
      org.gjt.sp.jedit.buffer.FoldHandler

Direct Known Subclasses:
  DummyFoldHandler, ExplicitFoldHandler, IndentFoldHandler

public abstract class FoldHandler
extends java.lang.Object

Interface for obtaining the fold level of a specified line.

Plugins can provide fold handlers by defining entries in their `services.xml` files like so:

    <SERVICE CLASS="org.gjt.sp.jedit.buffer.FoldHandler" NAME="name">
        new MyFoldHandler();
    </SERVICE>

See `ServiceManager` for details.

Since:
  jEdit 4.0pre1
Version:
  $Id: FoldHandler.java,v 1.14 2003/11/18 20:51:57 spestov Exp $
Author:
  Slava Pestov

Field Summary
`static java.lang.String` `SERVICE` The service type.

Constructor Summary
`protected` `FoldHandler(java.lang.String name)`

Method Summary
`boolean` `equals(java.lang.Object o)` Returns if the specified fold handler is equal to this one.
`static FoldHandler` `getFoldHandler(java.lang.String name)` Returns the fold handler with the specified name, or null if there is no registered handler with that name.
`static FoldHandler[]` `getFoldHandlers()` Deprecated. Call `ServiceManager.getServiceNames( "org.gjt.sp.jedit.buffer.FoldHandler" );` instead. See `ServiceManager`.
`abstract int` `getFoldLevel(Buffer buffer, int lineIndex, javax.swing.text.Segment seg)` Returns the fold level of the specified line.
`static java.lang.String[]` `getFoldModes()` Returns an array containing the names of all registered fold handlers.
`java.lang.String` `getName()` Returns the internal name of this FoldHandler
`int` `hashCode()`
`static void` `registerFoldHandler(FoldHandler handler)` Deprecated. Write a `services.xml` file instead; see `ServiceManager`.
`java.lang.String` `toString()`
`static void` `unregisterFoldHandler(FoldHandler handler)` Deprecated. Write a `services.xml` file instead; see `ServiceManager`.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### SERVICE

    public static final java.lang.String SERVICE

  The service type. See `ServiceManager`.

  Since:
    jEdit 4.2pre1
  See Also:
    Constant Field Values

Constructor Detail

### FoldHandler

    protected FoldHandler(java.lang.String name)

Method Detail

### getName

    public java.lang.String getName()

  Returns the internal name of this FoldHandler

  Returns:
    The internal name of this FoldHandler
  Since:
    jEdit 4.0pre6

### getFoldLevel

    public abstract int getFoldLevel(Buffer buffer,
                                     int lineIndex,
                                     javax.swing.text.Segment seg)

  Returns the fold level of the specified line.

  Parameters:
    `buffer` - The buffer in question
    `lineIndex` - The line index
    `seg` - A segment the fold handler can use to obtain any text from the buffer, if necessary
  Returns:
    The fold level of the specified line
  Since:
    jEdit 4.0pre1

### equals

    public boolean equals(java.lang.Object o)

  Returns if the specified fold handler is equal to this one.

  Parameters:
    `o` - The object

### hashCode

    public int hashCode()

### registerFoldHandler

    public static void registerFoldHandler(FoldHandler handler)

  Deprecated. Write a `services.xml` file instead; see `ServiceManager`.

### unregisterFoldHandler

    public static void unregisterFoldHandler(FoldHandler handler)

  Deprecated. Write a `services.xml` file instead; see `ServiceManager`.

### getFoldHandlers

    public static FoldHandler[] getFoldHandlers()

  Deprecated. Call `ServiceManager.getServiceNames( "org.gjt.sp.jedit.buffer.FoldHandler" );` instead. See `ServiceManager`.

### getFoldHandler

    public static FoldHandler getFoldHandler(java.lang.String name)

  Returns the fold handler with the specified name, or null if there is no registered handler with that name.

  Parameters:
    `name` - The name of the desired fold handler
  Since:
    jEdit 4.0pre6

### getFoldModes

    public static java.lang.String[] getFoldModes()

  Returns an array containing the names of all registered fold handlers.

  Since:
    jEdit 4.0pre6

### toString

    public java.lang.String toString()