# com.bea.ide.sourceeditor.compiler
CompilerSvc.ITwoWayEditLock Interface

public static interface CompilerSvc.ITwoWayEditLock

This interface defines the shape of a locking mechanism used to synchronize two-way edit communication between the CompilerSvc and Javelin. This interface is public for implementation reasons, and shouldn't ever be needed by extension writers.

Enclosing class
  `CompilerSvc`

## Method Summary

`public `CompilerSvc.ITwoWayEditLock`` | `cloneAndClear`() This method will return a clone of this lock object, giving the owner exclusive access to the merger.
`public boolean` | `hasMerger`() Indicates whether this lock has a merger available.
`public boolean` | `runMerger`() call 'runMerger' to merge the new parse trees and update the IDE's error list.

## Method Detail

### cloneAndClear() Method

    public CompilerSvc.ITwoWayEditLock cloneAndClear()

This method will return a clone of this lock object, giving the owner exclusive access to the merger. This should be done if you plan to run a merger outside of a synchronization block.

### hasMerger() Method

    public boolean hasMerger()

Indicates whether this lock has a merger available.

### runMerger() Method

    public boolean runMerger()

call 'runMerger' to merge the new parse trees and update the IDE's error list. This call should ONLY be made on the AWT thread.

#### Returns

boolean indicating success or failure. This method should only fail in the case of catastrophic application or compiler failure.