Eclipse Platform
Release 3.3

org.eclipse.compare.structuremergeviewer
Interface IStructureCreator2

All Superinterfaces:
IStructureCreator
All Known Implementing Classes:
StructureCreator

public interface IStructureCreator2
extends IStructureCreator

An extension to the IStructureCreator interface that supports the use of shared documents.

This interface is not intended to be implemented by clients. Client should instead subclass StructureCreator.

Since:
3.3

Method Summary
 ITypedElement createElement(Object element, Object input, IProgressMonitor monitor)
          Creates the single node specified by path from the given input object.
 IStructureComparator createStructure(Object input, IProgressMonitor monitor)
          Creates a tree structure consisting of IStructureComparators from the given object and returns its root object.
 void destroy(Object object)
          Release any resources associated with the given object.
 
Methods inherited from interface org.eclipse.compare.structuremergeviewer.IStructureCreator
getContents, getName, getStructure, locate, save
 

Method Detail

createStructure

public IStructureComparator createStructure(Object input,
                                            IProgressMonitor monitor)
                                     throws CoreException
Creates a tree structure consisting of IStructureComparators from the given object and returns its root object. Implementing this method typically involves parsing the input object. In case of an error (e.g. a parsing error) the value null is returned.

This method is equivalent to IStructureCreator.getStructure(Object) with the exception that the destroy(Object) method must be called with the returned comparator as a parameter when the comparator is no longer needed. This is done to allow structure creators to make use of shared resources such a file buffer.

Also, the node returned from this method should adapt to an ISharedDocumentAdapter if the provided input has a shared document adapter and it is being used by the this creator. The convenience class SharedDocumentAdapterWrapper is provided to allow the creator to wrap the adapter of the input so that the proper key can be returned.

Parameters:
input - the object from which to create the tree of IStructureComparator
monitor - a progress monitor or null if progress and cancelation is not required
Returns:
the root node of the structure or null in case of error
Throws:
CoreException
See Also:
IStructureCreator.getStructure(Object), destroy(Object)

createElement

public ITypedElement createElement(Object element,
                                   Object input,
                                   IProgressMonitor monitor)
                            throws CoreException
Creates the single node specified by path from the given input object. This method is equivalent to IStructureCreator.locate(Object, Object) with the exception that the destroy(Object) method must be called with the returned element as a parameter when the element is no longer needed. This is done to allow structure creators to make use of shared resources such a file buffer.

Parameters:
element - specifies a sub object within the input object
input - the object from which to create the ITypedElement
monitor - a progress monitor or null if progress is not desired
Returns:
the single node specified by path or null
Throws:
CoreException - if an error occurs while parsing the input
See Also:
IStructureCreator.locate(Object, Object), destroy(Object)

destroy

public void destroy(Object object)
Release any resources associated with the given object. This method must be called for objects returned from either createStructure(Object, IProgressMonitor) or createElement(Object, Object, IProgressMonitor).

Parameters:
object - the object to be destroyed
See Also:
createElement(Object, Object, IProgressMonitor), createStructure(Object, IProgressMonitor)

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.