1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-16 13:35:22 +02:00

[cleanup] Add Javadoc for Miner.finish()

This commit is contained in:
Martin Oberhuber 2008-04-29 18:22:21 +00:00
parent ce410fa3c4
commit c885280664

View file

@ -7,10 +7,10 @@
* *
* Initial Contributors: * Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer * The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir, * component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* Noriaki Takatsu (IBM) [220126] [dstore][api][breaking] Single process server for multiple clients * Noriaki Takatsu (IBM) [220126] [dstore][api][breaking] Single process server for multiple clients
* David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability
@ -32,14 +32,14 @@ import org.eclipse.dstore.core.model.Handler;
import org.eclipse.dstore.core.model.IExternalLoader; import org.eclipse.dstore.core.model.IExternalLoader;
import org.eclipse.dstore.core.model.ISchemaExtender; import org.eclipse.dstore.core.model.ISchemaExtender;
import org.eclipse.dstore.core.server.SystemServiceManager; import org.eclipse.dstore.core.server.SystemServiceManager;
/** /**
* Miner is the abstract base class of all DataStore extensions). * Miner is the abstract base class of all DataStore extensions).
* The DataStore framework knows how to load and route commands to miners * The DataStore framework knows how to load and route commands to miners
* because it interfaces miners through the restricted set of interfaces declared here. * because it interfaces miners through the restricted set of interfaces declared here.
* To add a new miner, developers must extend this class and implement the abstract methods declared here. * To add a new miner, developers must extend this class and implement the abstract methods declared here.
*/ */
public abstract class Miner extends Handler public abstract class Miner extends Handler
implements ISchemaExtender implements ISchemaExtender
{ {
@ -47,8 +47,8 @@ implements ISchemaExtender
public DataElement _minerData; public DataElement _minerData;
public DataElement _minerTransient; public DataElement _minerTransient;
private boolean _initialized; private boolean _initialized;
private boolean _connected; private boolean _connected;
private IExternalLoader _loader; private IExternalLoader _loader;
@ -57,7 +57,7 @@ implements ISchemaExtender
protected String _value = null; protected String _value = null;
protected ArrayList _dependencies; protected ArrayList _dependencies;
protected List _commandQueue; protected List _commandQueue;
protected ResourceBundle _resourceBundle = null; protected ResourceBundle _resourceBundle = null;
/** /**
@ -73,7 +73,7 @@ implements ISchemaExtender
/** /**
* Returns the qualified names of all miners that * Returns the qualified names of all miners that
* this miner depends on. A miner depends on another * this miner depends on. A miner depends on another
* miner if it's schema extends or uses another's schema. * miner if it's schema extends or uses another's schema.
* By default it returns an empty list. * By default it returns an empty list.
* @return a list of miner dependencies, each represented as a qualified name * @return a list of miner dependencies, each represented as a qualified name
*/ */
@ -112,8 +112,11 @@ implements ISchemaExtender
} }
/** /**
* Shuts down the miner and cleans up it's meta-information. * Shuts down the miner and cleans up it's meta-information. Override this
* Override this function to do your own cleanup. * function to do your own cleanup.
* <p>
* Subclasses may override this method but must call
* <code>super.finish()</code> at the end of their overriding method.
*/ */
public void finish() public void finish()
{ {
@ -131,12 +134,12 @@ implements ISchemaExtender
root.setUpdated(false); root.setUpdated(false);
_dataStore.update(root); _dataStore.update(root);
super.finish(); super.finish();
} }
/** /**
* Interface to retrieve an NL enabled resource bundle. * Interface to retrieve an NL enabled resource bundle.
* Override this function to get access to a real resource bundle. * Override this function to get access to a real resource bundle.
*/ */
public ResourceBundle getResourceBundle() public ResourceBundle getResourceBundle()
@ -165,7 +168,7 @@ implements ISchemaExtender
} }
/** /**
* This gets called after a miner is initialized. * This gets called after a miner is initialized.
* If you need to update element information at that time, override this method. * If you need to update element information at that time, override this method.
*/ */
protected void updateMinerInfo() protected void updateMinerInfo()
@ -199,16 +202,16 @@ implements ISchemaExtender
} }
return _value; return _value;
} }
public final void handle() public final void handle()
{ {
while (!_commandQueue.isEmpty()) while (!_commandQueue.isEmpty())
{ {
try try
{ {
DataElement cmd = (DataElement)_commandQueue.remove(0); DataElement cmd = (DataElement)_commandQueue.remove(0);
if (cmd != null){ if (cmd != null){
command(cmd); command(cmd);
} }
} }
catch (Exception e){ catch (Exception e){
@ -217,13 +220,13 @@ implements ISchemaExtender
} }
waitForInput(); waitForInput();
} }
public final void requestCommand(DataElement command) public final void requestCommand(DataElement command)
{ {
_commandQueue.add(command); _commandQueue.add(command);
notifyInput(); notifyInput();
} }
public final void initMiner(DataElement status) public final void initMiner(DataElement status)
{ {
try try
@ -252,11 +255,11 @@ implements ISchemaExtender
{ {
e.printStackTrace(); e.printStackTrace();
} }
} }
/** /**
* Issues a specified command on this miner from the DataStore framework. * Issues a specified command on this miner from the DataStore framework.
* The base class handles "C_INIT_MINERS" but other commands are delegated to * The base class handles "C_INIT_MINERS" but other commands are delegated to
@ -266,7 +269,7 @@ implements ISchemaExtender
* @return the status of the command * @return the status of the command
*/ */
protected final DataElement command(DataElement command) protected final DataElement command(DataElement command)
{ {
String name = getCommandName(command); String name = getCommandName(command);
DataElement status = getCommandStatus(command); DataElement status = getCommandStatus(command);
@ -314,7 +317,7 @@ implements ISchemaExtender
er.printStackTrace(); er.printStackTrace();
_dataStore.trace(er); _dataStore.trace(er);
_dataStore.finish(); _dataStore.finish();
if (SystemServiceManager.getInstance().getSystemService() == null) if (SystemServiceManager.getInstance().getSystemService() == null)
System.exit(-1); System.exit(-1);
} }
@ -335,9 +338,9 @@ implements ISchemaExtender
} }
return buf.toString(); return buf.toString();
} }
/** /**
* Sets the DataStore and performs some fundamental initialization for this miner. * Sets the DataStore and performs some fundamental initialization for this miner.
* The framework calls this method on a miner before any commands are issued. * The framework calls this method on a miner before any commands are issued.
* The extendSchema() is called on the miner. * The extendSchema() is called on the miner.
* *
@ -357,12 +360,12 @@ implements ISchemaExtender
// yantzi: Reuse existing miner root if found // yantzi: Reuse existing miner root if found
_minerElement = _dataStore.find(root, DE.A_NAME, name, 1); _minerElement = _dataStore.find(root, DE.A_NAME, name, 1);
if (_minerElement == null || _minerElement.isDeleted()) if (_minerElement == null || _minerElement.isDeleted())
{ {
// Create new child for this miner // Create new child for this miner
_minerElement = _dataStore.createObject(root, DataStoreResources.model_miner, name, name); _minerElement = _dataStore.createObject(root, DataStoreResources.model_miner, name, name);
_minerElement.setAttribute(DE.A_VALUE, value); _minerElement.setAttribute(DE.A_VALUE, value);
_minerElement.setAttribute(DE.A_SOURCE, getVersion()); _minerElement.setAttribute(DE.A_SOURCE, getVersion());
_minerData = _dataStore.createObject(_minerElement, DataStoreResources.model_data, DataStoreResources.model_Data, name); _minerData = _dataStore.createObject(_minerElement, DataStoreResources.model_data, DataStoreResources.model_Data, name);
_minerTransient = _dataStore.createObject(_minerElement, DataStoreResources.model_transient, DataStoreResources.model_Transient_Objects, name); _minerTransient = _dataStore.createObject(_minerElement, DataStoreResources.model_transient, DataStoreResources.model_Transient_Objects, name);
} }
@ -374,7 +377,7 @@ implements ISchemaExtender
{ {
_minerData = _dataStore.createObject(_minerElement, DataStoreResources.model_data, DataStoreResources.model_Data, name); _minerData = _dataStore.createObject(_minerElement, DataStoreResources.model_data, DataStoreResources.model_Data, name);
} }
_minerTransient = _dataStore.find(_minerElement, DE.A_NAME, DataStoreResources.model_Transient_Objects, 1); _minerTransient = _dataStore.find(_minerElement, DE.A_NAME, DataStoreResources.model_Transient_Objects, 1);
if (_minerTransient == null || _minerData.isDeleted()) if (_minerTransient == null || _minerData.isDeleted())
{ {
@ -510,7 +513,7 @@ implements ISchemaExtender
* properties of the first. This is a helper method that miner may call * properties of the first. This is a helper method that miner may call
* when it creates or updates the schema for it's tool domain. * when it creates or updates the schema for it's tool domain.
* *
* @param from the abstacting descriptor * @param from the abstacting descriptor
* @param to the descriptor that is abstracted * @param to the descriptor that is abstracted
* @return the new relationship descriptor * @return the new relationship descriptor
*/ */
@ -520,9 +523,9 @@ implements ISchemaExtender
} }
/** /**
* Creates a contents relationship between any two elements. * Creates a contents relationship between any two elements.
* *
* @param from the containing element * @param from the containing element
* @param to the element that is contained * @param to the element that is contained
* @return the new relationship * @return the new relationship
*/ */
@ -531,10 +534,10 @@ implements ISchemaExtender
return _dataStore.createReference(from, to); return _dataStore.createReference(from, to);
} }
/** /**
* Returns the element that represents this miner. * Returns the element that represents this miner.
* *
* @return the miner element * @return the miner element
*/ */
@ -544,7 +547,7 @@ implements ISchemaExtender
} }
/** /**
* Returns the element that contains this miners meta-information. * Returns the element that contains this miners meta-information.
* *
* @return the miner data element * @return the miner data element
*/ */
@ -554,7 +557,7 @@ implements ISchemaExtender
} }
/** /**
* Returns the transient object container for this element. * Returns the transient object container for this element.
* *
* @return the transient element * @return the transient element
*/ */
@ -564,7 +567,7 @@ implements ISchemaExtender
} }
/** /**
* Identifies a give object descriptor type to be transient in this miner. * Identifies a give object descriptor type to be transient in this miner.
* *
* @param objectDescriptor the object descriptor type that is transient * @param objectDescriptor the object descriptor type that is transient
*/ */
@ -574,7 +577,7 @@ implements ISchemaExtender
} }
/** /**
* Returns the name of a command. * Returns the name of a command.
* This is a helper method to be used inside handleCommand(). * This is a helper method to be used inside handleCommand().
* *
* @param command a tree of elements representing a command * @param command a tree of elements representing a command
@ -586,7 +589,7 @@ implements ISchemaExtender
} }
/** /**
* Returns the status of a command. * Returns the status of a command.
* This is a helper method to be used inside handleCommand(). * This is a helper method to be used inside handleCommand().
* *
* @param command a tree of elements representing a command * @param command a tree of elements representing a command
@ -602,7 +605,7 @@ implements ISchemaExtender
/** /**
* Returns the number of arguments for this command. * Returns the number of arguments for this command.
* This is a helper method to be used inside handleCommand(). * This is a helper method to be used inside handleCommand().
* *
* @param command a tree of elements representing a command * @param command a tree of elements representing a command
@ -614,7 +617,7 @@ implements ISchemaExtender
} }
/** /**
* Returns the argument of a command specified at a given index. * Returns the argument of a command specified at a given index.
* This is a helper method to be used inside handleCommand(). * This is a helper method to be used inside handleCommand().
* *
* @param command a tree of elements representing a command * @param command a tree of elements representing a command
@ -638,7 +641,7 @@ implements ISchemaExtender
/** /**
* Returns the descriptor root for the DataStore schema * Returns the descriptor root for the DataStore schema
* *
* @return the descriptor root * @return the descriptor root
*/ */
@ -656,7 +659,7 @@ implements ISchemaExtender
{ {
return _loader; return _loader;
} }
public synchronized void waitForInput() public synchronized void waitForInput()
{ {
if (_commandQueue.size() == 0) if (_commandQueue.size() == 0)
@ -665,8 +668,8 @@ implements ISchemaExtender
} }
} }
/** /**
* Handle commands that are routed to this miner. * Handle commands that are routed to this miner.
* This interface must be implemented by each miner in order to * This interface must be implemented by each miner in order to
@ -675,7 +678,7 @@ implements ISchemaExtender
* @param theCommand an instance of a command containing a tree of arguments * @param theCommand an instance of a command containing a tree of arguments
*/ */
public abstract DataElement handleCommand(DataElement theCommand); public abstract DataElement handleCommand(DataElement theCommand);
/** /**
* Returns the version of this miner * Returns the version of this miner