classpathhelper.eclipse.ui
Class AbstractClassPathModel

java.lang.Object
  extended byclasspathhelper.eclipse.ui.AbstractClassPathModel
All Implemented Interfaces:
IClassPathModel
Direct Known Subclasses:
BasicClassPathModel, ClassPathModelMultiplexer, JavaProjectClassPathListener, TomcatClassPathListener

public abstract class AbstractClassPathModel
extends java.lang.Object
implements IClassPathModel

Abstract base class providing a basic implementation of the listener registration/deregistration methods.

It also adds a fireClassPathChangeEvent(classpathhelper.CGClassLoader) method that will notify all the listeners of a classpath change.

Usage

This class is intended to be extended by concrete implementations of a classpath model.

Since:
1.0
Author:
bharris

Constructor Summary
AbstractClassPathModel()
           
 
Method Summary
 void addClassPathChangeListener(IClassPathChangeListener changeListener)
          Registers a classpath change listener with this model object.
protected  void fireClassPathChangeEvent(CGClassLoader classLoader)
          Method intended to be called by subclasses to notify all the listeners of a classloader change.
protected abstract  CGClassLoader getCurrentClassLoader()
          Internal method used to obtain the current classloader for addClassPathChangeListener(IClassPathChangeListener).
protected  int getNumberOfListeners()
           
 boolean removeClassPathChangeListener(IClassPathChangeListener changeListener)
          Deregisteres a classpath change listener with this model object.
 void reset()
          Method that requests that this model reset (and resend) its classpath, clearing any internal caching.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface classpathhelper.eclipse.ui.IClassPathModel
startClassPathListening, stopClassPathListening
 

Constructor Detail

AbstractClassPathModel

public AbstractClassPathModel()
Method Detail

fireClassPathChangeEvent

protected void fireClassPathChangeEvent(CGClassLoader classLoader)
Method intended to be called by subclasses to notify all the listeners of a classloader change.

Parameters:
classLoader - The new classloader.
Since:
1.0

getCurrentClassLoader

protected abstract CGClassLoader getCurrentClassLoader()
Internal method used to obtain the current classloader for addClassPathChangeListener(IClassPathChangeListener). If not class loader exists, this method should return null.

Returns:
The current class loader.
Since:
1.0

getNumberOfListeners

protected int getNumberOfListeners()
Returns:
The number of registered listeners.
Since:
1.0

reset

public void reset()
Description copied from interface: IClassPathModel
Method that requests that this model reset (and resend) its classpath, clearing any internal caching.

Specified by:
reset in interface IClassPathModel

addClassPathChangeListener

public void addClassPathChangeListener(IClassPathChangeListener changeListener)
Description copied from interface: IClassPathModel
Registers a classpath change listener with this model object. This listener should be immediately notified regarding the current classloader (if there is one) via its callback method. In otherwords calling this method may mean that the listeners callback method is called, only if a class loader already exists.

Specified by:
addClassPathChangeListener in interface IClassPathModel
Parameters:
changeListener - The listener.

removeClassPathChangeListener

public boolean removeClassPathChangeListener(IClassPathChangeListener changeListener)
Description copied from interface: IClassPathModel
Deregisteres a classpath change listener with this model object.

Specified by:
removeClassPathChangeListener in interface IClassPathModel
Parameters:
changeListener - The listener to remove.
Returns:
true If the listener was found, false If the listener was not found.