RSE
Release 1.0

org.eclipse.rse.filters
Class SystemFilterSimple

java.lang.Object
  extended byorg.eclipse.rse.core.model.PropertySetContainer
      extended byorg.eclipse.rse.core.model.RSEModelObject
          extended byorg.eclipse.rse.internal.references.SystemReferencedObject
              extended byorg.eclipse.rse.internal.filters.SystemFilter
                  extended byorg.eclipse.rse.filters.SystemFilterSimple
All Implemented Interfaces:
IAdaptable, IPropertySetContainer, IRSEBaseReferencedObject, IRSEModelObject, org.eclipse.rse.core.persistance.IRSEPersistableContainer, IRSEReferencedObject, ISystemContainer, ISystemFilter, ISystemFilterContainer

public class SystemFilterSimple
extends org.eclipse.rse.internal.filters.SystemFilter
implements ISystemContainer

A lightweight override of the full-fledged persistable implementation of SystemFilter. This class replaces the heavy-weight MOF implementations with simple non-MOF implementations.

This flavour of SystemFilter implementation is for those cases where a simple in-memory SystemFilter is needed temporarily, perhaps to populate a GUI widget say, and the filter does not need to be savable/restorable. As a result there is no mof, and no need for a parent SystemFilterPool or SystemFilterPoolManager. The class is small, simple and directly instantiable.

This simple implementation does not support:


Field Summary
protected  HashMap cachedContents
           
protected  boolean isStale
           
 
Fields inherited from class org.eclipse.rse.internal.filters.SystemFilter
_parentFilter, debug, default_, DEFAULT_EDEFAULT, filterStringArray, filterStringObjectArray, filterStringVector, NAME_EDEFAULT, nestedFilters, NON_CHANGABLE_EDEFAULT, NON_DELETABLE_EDEFAULT, NON_RENAMABLE_EDEFAULT, nonChangable, nonDeletable, nonRenamable, PROMPTABLE_EDEFAULT, RELATIVE_ORDER_EDEFAULT, relativeOrder, release, RELEASE_EDEFAULT, SINGLE_FILTER_STRING_ONLY_EDEFAULT, singleFilterStringOnly, strings, STRINGS_CASE_SENSITIVE_EDEFAULT, STRINGS_NON_CHANGABLE_EDEFAULT, stringsCaseSensitive, stringsNonChangable, SUPPORTS_DUPLICATE_FILTER_STRINGS_EDEFAULT, SUPPORTS_NESTED_FILTERS_EDEFAULT, supportsDuplicateFilterStrings, supportsNestedFilters, TYPE_EDEFAULT
 
Fields inherited from class org.eclipse.rse.internal.references.SystemReferencedObject
helper
 
Fields inherited from class org.eclipse.rse.core.model.RSEModelObject
_isDirty, _wasRestored
 
Constructor Summary
SystemFilterSimple(String name)
          Constructor for SystemFilterSimpleImpl
 
Method Summary
 ISystemFilterString addFilterString(String newString)
          Append a new filter string to this filter's list.
 ISystemFilterString addFilterString(String newString, int position)
          Insert a new filter string to this filter's list, at the given zero-based position.
 boolean areStringsCaseSensitive()
          Are filter strings in this filter case sensitive?
 void clone(ISystemFilter targetFilter)
          Clones a given filter to the given target filter.
 Object[] getChildren()
          Return the children of this filter.
 Object[] getContents(ISystemContentsType contentsType)
          Returns all the contents of the object (combining results of all filters
 String getFilterString()
          Get the single filter string.
 int getFilterStringCount()
          Return how many filter strings are defined in this filter.
 String[] getFilterStrings()
          Return filter strings as an array of String objects.
 Vector getFilterStringsVector()
          Return filter strings as a Vector of String objects
 String getName()
          Get the filter's name
 List getNestedFilters()
          Overridden to return null
 Object getParent()
          Get the parent as set in setParent(Object)
 ISystemFilter getParentFilter()
          Overridden to return null
 ISystemFilterPoolManagerProvider getProvider()
          Overridden to return null
 int getRelativeOrder()
          Overridden to return -1
 IFile getSaveFile()
          Overridden to return null
 String getSaveFileName()
          Overridden to return null
 List getStrings()
          Overridden to return null
 ISystemFilter getSystemFilter(String aliasName)
          Overridden to return null
 int getSystemFilterCount()
          Overridden to return 0
 Vector getSystemFilterNames()
          Overridden to return null
 ISystemFilterPoolManager getSystemFilterPoolManager()
          Overridden to return null
 ISystemFilter[] getSystemFilters()
          Overridden to return null
 ISystemFilterString[] getSystemFilterStrings()
          Get this filter's filter string objects as an array.
 Vector getSystemFiltersVector()
          Overridden to return null
 String getType()
          Get the filter's type
 boolean hasChildren()
          Returns true if this filter has any filter strings
 boolean hasContents(ISystemContentsType contentsType)
          Returns whether the object has contents of a particular type.
protected  void invalidateCache()
          Clear internal cache so it will be rebuilt on next request.
 boolean isDefault()
          Overridden to return false
 boolean isNested()
          Return true if this filter is a nested filter or not.
 boolean isPromptable()
          Is this a special filter that prompts the user when it is expanded?
 boolean isStale()
          Indicates whether the cached object is stale
 boolean isStringsCaseSensitive()
          Are filter strings in this filter case sensitive?
 boolean isTransient()
          Return true if this a transient or simple filter that is only created temporary "on the fly" and not intended to be saved or part of the filter framework.
 void markStale(boolean isStale)
          Marks the object as stale or not
 void markStale(boolean isStale, boolean clearCache)
          Marks the object as stale or not
 void moveSystemFilterString(int pos, ISystemFilterString filterString)
          Move a given filter string to a given zero-based location.
 ISystemFilterString removeFilterString(int position)
          Remove a filter string from this filter's list, given its zero-based position
 boolean removeFilterString(ISystemFilterString filterString)
          Remove a filter string from this filter's list, given its SystemFilterString object.
 ISystemFilterString removeFilterString(String oldString)
          Delete a filter string from this filter's list.
 void save()
          Overridden to do nothing
 void setContents(ISystemContentsType type, Object[] cachedContents)
          Cache contents of a certain type.
 void setDefault(boolean value)
          Overridden to do nothing
 void setFilterString(String filterString)
          Set the single filter string
 void setFilterStrings(String[] newStrings)
          Set all the filter strings for this filter.
 void setFilterStrings(Vector newStrings)
          Set all the filter strings for this filter.
 void setName(String name)
          Set the filter's name
 void setParent(Object parent)
          Set the parent.
 void setParentFilter(ISystemFilter l)
          Overridden to do nothing
 void setPromptable(boolean promptable)
          Is this a special filter that prompts the user when it is expanded?
 void setRelativeOrder(int value)
          Overridden to do nothing
 void setStringsCaseSensitive(boolean value)
          Specify if filter strings in this filter are case sensitive.
 void setSupportsNestedFilters(boolean value)
          Overridden to do nothing
 void setType(String type)
          Set the filter's type
 boolean supportsNestedFilters()
          Does this support nested filters?
 void updateFilterString(ISystemFilterString filterString, String newValue)
          Update a new filter string's string value.
 
Methods inherited from class org.eclipse.rse.internal.filters.SystemFilter
addPathTerminator, addSystemFilter, cloneSystemFilter, commit, copySystemFilterString, createSystemFilter, deleteSystemFilter, getAdapter, getDescription, getFilterStringObjectsVector, getNamingPolicy, getParentFilterContainer, getParentFilterPool, getRelease, getRootSaveFileName, getRootSaveFileName, getSystemFilterPool, getSystemFilterPosition, getSystemFilterString, getTypeGen, initializeFilterStrings, internalGetFilters, isNonChangable, isNonDeletable, isNonRenamable, isSetSingleFilterStringOnly, isSetStringsCaseSensitive, isSingleFilterStringOnly, isSingleFilterStringOnlyGen, isStringsNonChangable, isSupportsDuplicateFilterStrings, isSupportsNestedFilters, moveSystemFilter, renameSystemFilter, restore, setNonChangable, setNonDeletable, setNonRenamable, setParentFilterPool, setRelease, setSingleFilterStringOnly, setStringsNonChangable, setSupportsDuplicateFilterStrings, supportsDuplicateFilterStrings, toString, unsetSingleFilterStringOnly, unsetStringsCaseSensitive, updateSystemFilter
 
Methods inherited from class org.eclipse.rse.internal.references.SystemReferencedObject
addReference, getReferenceCount, getReferencingObjects, removeAllReferences, removeReference
 
Methods inherited from class org.eclipse.rse.core.model.RSEModelObject
compareStrings, isDirty, setDirty, setWasRestored, wasRestored
 
Methods inherited from class org.eclipse.rse.core.model.PropertySetContainer
addPropertySet, addPropertySets, createPropertySet, createPropertySet, getPropertySet, getPropertySets, removePropertySet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.rse.core.references.IRSEBaseReferencedObject
addReference, getReferenceCount, getReferencingObjects, removeAllReferences, removeReference
 
Methods inherited from interface org.eclipse.rse.core.persistance.IRSEPersistableContainer
isDirty, setDirty, setWasRestored, wasRestored
 
Methods inherited from interface org.eclipse.rse.core.model.IPropertySetContainer
addPropertySet, addPropertySets, createPropertySet, createPropertySet, getPropertySet, getPropertySets, removePropertySet
 

Field Detail

isStale

protected boolean isStale

cachedContents

protected HashMap cachedContents
Constructor Detail

SystemFilterSimple

public SystemFilterSimple(String name)
Constructor for SystemFilterSimpleImpl

Method Detail

invalidateCache

protected void invalidateCache()
Description copied from class: org.eclipse.rse.internal.filters.SystemFilter
Clear internal cache so it will be rebuilt on next request.


isTransient

public boolean isTransient()
Return true if this a transient or simple filter that is only created temporary "on the fly" and not intended to be saved or part of the filter framework. Eg it has no manager or provider.

We always return true

Specified by:
isTransient in interface ISystemFilter
See Also:
SystemFilterSimple

clone

public void clone(ISystemFilter targetFilter)
Clones a given filter to the given target filter. All filter strings, and all nested filters, are copied.

Specified by:
clone in interface ISystemFilter
Parameters:
targetFilter - new filter into which we copy all our data

setFilterString

public void setFilterString(String filterString)
Set the single filter string


getFilterString

public String getFilterString()
Get the single filter string. Returns null if setFilterString has not been called.


setParent

public void setParent(Object parent)
Set the parent. Since we don't have any filter manager, we need some way to store context info for the adapter. Use this.


getParent

public Object getParent()
Get the parent as set in setParent(Object)


setName

public void setName(String name)
Set the filter's name

Specified by:
setName in interface ISystemFilter

getName

public String getName()
Get the filter's name

Specified by:
getName in interface ISystemFilter

setType

public void setType(String type)
Set the filter's type

Specified by:
setType in interface ISystemFilter

getType

public String getType()
Get the filter's type

Specified by:
getType in interface ISystemFilter

setStringsCaseSensitive

public void setStringsCaseSensitive(boolean value)
Specify if filter strings in this filter are case sensitive. Default is false.

Specified by:
setStringsCaseSensitive in interface ISystemFilter
Parameters:
value - The new value of the StringsCaseSensitive attribute

isStringsCaseSensitive

public boolean isStringsCaseSensitive()
Are filter strings in this filter case sensitive?

Specified by:
isStringsCaseSensitive in interface ISystemFilter
Returns:
The value of the StringsCaseSensitive attribute

areStringsCaseSensitive

public boolean areStringsCaseSensitive()
Are filter strings in this filter case sensitive?

Specified by:
areStringsCaseSensitive in interface ISystemFilterContainer
Returns:
The value of the StringsCaseSensitive attribute

setPromptable

public void setPromptable(boolean promptable)
Is this a special filter that prompts the user when it is expanded?

Specified by:
setPromptable in interface ISystemFilter

isPromptable

public boolean isPromptable()
Is this a special filter that prompts the user when it is expanded?

Specified by:
isPromptable in interface ISystemFilter

getFilterStrings

public String[] getFilterStrings()
Return filter strings as an array of String objects.

Specified by:
getFilterStrings in interface ISystemFilter

getFilterStringsVector

public Vector getFilterStringsVector()
Return filter strings as a Vector of String objects

Specified by:
getFilterStringsVector in interface ISystemFilter

getFilterStringCount

public int getFilterStringCount()
Return how many filter strings are defined in this filter.

Specified by:
getFilterStringCount in interface ISystemFilter

setFilterStrings

public void setFilterStrings(Vector newStrings)
Set all the filter strings for this filter.

Specified by:
setFilterStrings in interface ISystemFilter
Parameters:
newStrings - Vector of String objects

setFilterStrings

public void setFilterStrings(String[] newStrings)
Set all the filter strings for this filter.

Specified by:
setFilterStrings in interface ISystemFilter
Parameters:
newStrings - array of String objects

addFilterString

public ISystemFilterString addFilterString(String newString)
Append a new filter string to this filter's list. Returns null.

Specified by:
addFilterString in interface ISystemFilter

addFilterString

public ISystemFilterString addFilterString(String newString,
                                           int position)
Insert a new filter string to this filter's list, at the given zero-based position. Returns null.

Specified by:
addFilterString in interface ISystemFilter

removeFilterString

public ISystemFilterString removeFilterString(String oldString)
Delete a filter string from this filter's list. Returns null.

Specified by:
removeFilterString in interface ISystemFilter
Returns:
the SystemFilterString object deleted, or null if not found

removeFilterString

public ISystemFilterString removeFilterString(int position)
Remove a filter string from this filter's list, given its zero-based position

Specified by:
removeFilterString in interface ISystemFilter
Returns:
the SystemFilterString object deleted, or null if not found

getChildren

public Object[] getChildren()
Return the children of this filter. This is the same as getFilterStrings()


hasChildren

public boolean hasChildren()
Returns true if this filter has any filter strings


getSystemFilterStrings

public ISystemFilterString[] getSystemFilterStrings()
Get this filter's filter string objects as an array. We return null, as we don't support SystemFilterString objects, just String objects.

Specified by:
getSystemFilterStrings in interface ISystemFilter

setSupportsNestedFilters

public void setSupportsNestedFilters(boolean value)
Overridden to do nothing

Specified by:
setSupportsNestedFilters in interface ISystemFilter

supportsNestedFilters

public boolean supportsNestedFilters()
Does this support nested filters? No. Not for simple filtes.


isNested

public boolean isNested()
Return true if this filter is a nested filter or not. Overridden to return false;

Specified by:
isNested in interface ISystemFilter

updateFilterString

public void updateFilterString(ISystemFilterString filterString,
                               String newValue)
Update a new filter string's string value. Overridden to do nothing.

Specified by:
updateFilterString in interface ISystemFilter

removeFilterString

public boolean removeFilterString(ISystemFilterString filterString)
Remove a filter string from this filter's list, given its SystemFilterString object. Overridden to do nothing

Specified by:
removeFilterString in interface ISystemFilter
Returns:
true if the given string existed and hence was deleted.

moveSystemFilterString

public void moveSystemFilterString(int pos,
                                   ISystemFilterString filterString)
Move a given filter string to a given zero-based location. Overridden to do nothing

Specified by:
moveSystemFilterString in interface ISystemFilter

setRelativeOrder

public void setRelativeOrder(int value)
Overridden to do nothing

Specified by:
setRelativeOrder in interface ISystemFilter

getRelativeOrder

public int getRelativeOrder()
Overridden to return -1

Specified by:
getRelativeOrder in interface ISystemFilter

setDefault

public void setDefault(boolean value)
Overridden to do nothing

Specified by:
setDefault in interface ISystemFilter

isDefault

public boolean isDefault()
Overridden to return false

Specified by:
isDefault in interface ISystemFilter

setParentFilter

public void setParentFilter(ISystemFilter l)
Overridden to do nothing

Specified by:
setParentFilter in interface ISystemFilter

getParentFilter

public ISystemFilter getParentFilter()
Overridden to return null

Specified by:
getParentFilter in interface ISystemFilter

getSystemFilterNames

public Vector getSystemFilterNames()
Overridden to return null

Specified by:
getSystemFilterNames in interface ISystemFilterContainer

getNestedFilters

public List getNestedFilters()
Overridden to return null

Specified by:
getNestedFilters in interface ISystemFilter

getSystemFiltersVector

public Vector getSystemFiltersVector()
Overridden to return null

Specified by:
getSystemFiltersVector in interface ISystemFilterContainer

getSystemFilters

public ISystemFilter[] getSystemFilters()
Overridden to return null

Specified by:
getSystemFilters in interface ISystemFilterContainer

getSystemFilterCount

public int getSystemFilterCount()
Overridden to return 0

Specified by:
getSystemFilterCount in interface ISystemFilterContainer

getStrings

public List getStrings()
Overridden to return null

Specified by:
getStrings in interface ISystemFilter

getSystemFilter

public ISystemFilter getSystemFilter(String aliasName)
Overridden to return null

Specified by:
getSystemFilter in interface ISystemFilterContainer
Parameters:
aliasName - unique aliasName (case insensitive) to search on.
Returns:
SystemFilter object with unique aliasName, or null if no filter object with this name exists.

getProvider

public ISystemFilterPoolManagerProvider getProvider()
Overridden to return null

Specified by:
getProvider in interface ISystemFilter

getSystemFilterPoolManager

public ISystemFilterPoolManager getSystemFilterPoolManager()
Overridden to return null

Specified by:
getSystemFilterPoolManager in interface ISystemFilterContainer

getSaveFile

public IFile getSaveFile()
Overridden to return null


getSaveFileName

public String getSaveFileName()
Overridden to return null


save

public void save()
          throws Exception
Overridden to do nothing

Throws:
Exception

setContents

public void setContents(ISystemContentsType type,
                        Object[] cachedContents)
Cache contents of a certain type.

Parameters:
type - the contents type.
cachedContents - the contents to cache.

getContents

public Object[] getContents(ISystemContentsType contentsType)
Description copied from interface: ISystemContainer
Returns all the contents of the object (combining results of all filters

Specified by:
getContents in interface ISystemContainer
Parameters:
contentsType - type of contents
Returns:
an array of contents.
See Also:
ISystemContainer.getContents(org.eclipse.rse.core.model.ISystemContentsType)

hasContents

public boolean hasContents(ISystemContentsType contentsType)
Description copied from interface: ISystemContainer
Returns whether the object has contents of a particular type.

Specified by:
hasContents in interface ISystemContainer
Parameters:
contentsType - type of contents
Returns:
true if the object has contents, false otherwise.
See Also:
ISystemContainer.hasContents(org.eclipse.rse.core.model.ISystemContentsType)

isStale

public boolean isStale()
Description copied from interface: ISystemContainer
Indicates whether the cached object is stale

Specified by:
isStale in interface ISystemContainer
Returns:
whether the container is stale
See Also:
ISystemContainer.isStale()

markStale

public void markStale(boolean isStale)
Description copied from interface: ISystemContainer
Marks the object as stale or not

Specified by:
markStale in interface ISystemContainer
Parameters:
isStale - whether the object is to be marked stale or not
See Also:
ISystemContainer.markStale(boolean)

markStale

public void markStale(boolean isStale,
                      boolean clearCache)
Description copied from interface: ISystemContainer
Marks the object as stale or not

Specified by:
markStale in interface ISystemContainer
Parameters:
isStale - whether the object is to be marked stale or not
See Also:
ISystemContainer.markStale(boolean)

RSE
Release 1.0

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