RSE
Release 3.0

org.eclipse.rse.core.references
Class SystemReferencedObject

java.lang.Object
  extended by org.eclipse.rse.core.model.RSEPersistableObject
      extended by org.eclipse.rse.core.model.PropertySetContainer
          extended by org.eclipse.rse.core.model.RSEModelObject
              extended by org.eclipse.rse.core.references.SystemReferencedObject
All Implemented Interfaces:
IPropertySetContainer, IRSEModelObject, IRSEPersistableContainer, IRSEBaseReferencedObject, IRSEReferencedObject

public abstract class SystemReferencedObject
extends RSEModelObject
implements IRSEReferencedObject

A class to encapsulate the operations required of an object which supports references to it by other objects (SystemReferencingObject). This type of class needs to support maintaining an in-memory list of all who reference it so that list can be following on delete and rename operations.

Since:
org.eclipse.rse.core 3.0

Field Summary
protected  SystemReferencedObjectHelper helper
           
 
Fields inherited from interface org.eclipse.rse.core.model.IRSEPersistableContainer
NO_CHILDREN
 
Constructor Summary
protected SystemReferencedObject()
          Default constructor.
 
Method Summary
 int addReference(IRSEBaseReferencingObject ref)
          Add a reference, increment reference count, return new count
 int getReferenceCount()
          Return a count of how many referencing objects reference this object.
 IRSEBaseReferencingObject[] getReferencingObjects()
           
 void removeAllReferences()
          Clear the list of referenced objects.
 int removeReference(IRSEBaseReferencingObject ref)
          Remove a reference, decrement reference count, return new count
 
Methods inherited from class org.eclipse.rse.core.model.RSEModelObject
getDescription
 
Methods inherited from class org.eclipse.rse.core.model.PropertySetContainer
addPropertySet, addPropertySets, createPropertySet, createPropertySet, getPropertySet, getPropertySets, removePropertySet
 
Methods inherited from class org.eclipse.rse.core.model.RSEPersistableObject
compareStrings, isDirty, isTainted, setDirty, setTainted, setWasRestored, wasRestored
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.rse.core.model.IRSEModelObject
getName
 
Methods inherited from interface org.eclipse.rse.core.model.IPropertySetContainer
addPropertySet, addPropertySets, createPropertySet, createPropertySet, getPropertySet, getPropertySets, removePropertySet
 
Methods inherited from interface org.eclipse.rse.core.model.IRSEPersistableContainer
commit, getPersistableChildren, getPersistableParent, isDirty, isTainted, setDirty, setTainted, setWasRestored, wasRestored
 

Field Detail

helper

protected SystemReferencedObjectHelper helper
Constructor Detail

SystemReferencedObject

protected SystemReferencedObject()
Default constructor. Typically called by EMF factory method.

Method Detail

addReference

public int addReference(IRSEBaseReferencingObject ref)
Add a reference, increment reference count, return new count

Specified by:
addReference in interface IRSEBaseReferencedObject
Parameters:
ref - the referencing object
Returns:
new count of how many referencing objects reference this object.

removeReference

public int removeReference(IRSEBaseReferencingObject ref)
Remove a reference, decrement reference count, return new count

Specified by:
removeReference in interface IRSEBaseReferencedObject
Parameters:
ref - the referencing object
Returns:
new count of how many referencing objects reference this object.

getReferenceCount

public int getReferenceCount()
Description copied from interface: IRSEBaseReferencedObject
Return a count of how many referencing objects reference this object.

Specified by:
getReferenceCount in interface IRSEBaseReferencedObject
Returns:
a count of how many referencing objects reference this object.

removeAllReferences

public void removeAllReferences()
Clear the list of referenced objects.

Specified by:
removeAllReferences in interface IRSEBaseReferencedObject

getReferencingObjects

public IRSEBaseReferencingObject[] getReferencingObjects()
Specified by:
getReferencingObjects in interface IRSEBaseReferencedObject
Returns:
a list of all referencing objects of this object

RSE
Release 3.0

Copyright (c) IBM Corporation and others 2000, 2008. All Rights Reserved.