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

[222270][api][breaking] Clean up interfaces in org.eclipse.rse.core.filters

https://bugs.eclipse.org/bugs/show_bug.cgi?id=222270
This commit is contained in:
David Dykstal 2008-03-14 21:09:03 +00:00
parent a8535007a9
commit d0aa83ebef
2 changed files with 103 additions and 49 deletions

View file

@ -14,10 +14,13 @@
* Contributors:
* David Dykstal (IBM) - [197036] All filter pools created on clean workspace
* cleaned javadoc for renameSystemFilterPool
* David Dykstal (IBM) - [222270] clean up interfaces in org.eclipse.rse.core.filters
*******************************************************************************/
package org.eclipse.rse.core.filters;
import java.util.List;
import org.eclipse.rse.core.model.IRSEPersistableContainer;
import org.eclipse.rse.core.model.ISystemProfile;
@ -250,7 +253,7 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
// ---------------------------------
/**
* Creates a new system filter within the given filter container (either a filter pool, or
* a filter). This creates the filter, and then saves the filter pool.
* a filter). This creates the filter, and then saves the filter pool.
* <p>Calls back to provider to inform of the event (filterEventFilterCreated)
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
* @param aliasName The name to give the new filter. Must be unique for this pool.
@ -258,6 +261,16 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings) throws Exception;
/**
* Creates a new system filter within the given filter container (either a filter pool, or
* a filter). This creates the filter, and then saves the filter pool.
* <p>Calls back to provider to inform of the event (filterEventFilterCreated)
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
* @param aliasName The name to give the new filter. Must be unique for this pool.
* @param filterStrings The list of String objects that represent the filter strings.
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings) throws Exception;
/**
* Creates a new system filter that is typed.
* Same as {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
@ -274,6 +287,22 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type) throws Exception;
/**
* Creates a new system filter that is typed.
* Same as {@link #createSystemFilter(ISystemFilterContainer, String, String[])} but
* takes a filter type as an additional parameter.
* <p>
* A filter's type is an arbitrary string that is not interpreted or used by the base framework. This
* is for use entirely by tools who wish to support multiple types of filters and be able to launch unique
* actions per type, say.
*
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
* @param aliasName The name to give the new filter. Must be unique for this pool.
* @param filterStrings The list of String objects that represent the filter strings.
* @param type The type of this filter
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type) throws Exception;
/**
* Creates a new system filter that is typed and promptable
* Same as {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)} but
@ -291,6 +320,23 @@ public interface ISystemFilterPoolManager extends IRSEPersistableContainer {
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type, boolean promptable) throws Exception;
/**
* Creates a new system filter that is typed and promptable
* Same as {@link #createSystemFilter(ISystemFilterContainer, String ,String[], String)} but
* takes a boolean indicating if it is promptable.
* <p>
* A promptable filter is one in which the user is prompted for information at expand time.
* There is no base filter framework support for this, but tools can query this attribute and
* do their own thing at expand time.
*
* @param parent The parent which is either a SystemFilterPool or a SystemFilter
* @param aliasName The name to give the new filter. Must be unique for this pool.
* @param filterStrings The list of String objects that represent the filter strings.
* @param type The type of this filter
* @param promptable Pass true if this is a promptable filter
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type, boolean promptable) throws Exception;
/**
* Delete an existing system filter.
* Does the following:

View file

@ -14,6 +14,7 @@
* Contributors:
* David Dykstal (IBM) - 142806: refactoring persistence framework
* David Dykstal (IBM) - [197036] removed caching mechanism to clean up logic
* David Dykstal (IBM) - [222270] clean up interfaces in org.eclipse.rse.core.filters
*******************************************************************************/
package org.eclipse.rse.internal.core.filters;
@ -622,6 +623,34 @@ public class SystemFilterPoolManager extends RSEPersistableObject implements ISy
// ---------------------------------
// FILTER METHODS
// ---------------------------------
/* (non-Javadoc)
* @see org.eclipse.rse.core.filters.ISystemFilterPoolManager#createSystemFilter(org.eclipse.rse.core.filters.ISystemFilterContainer, java.lang.String, java.util.List, java.lang.String, boolean)
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type, boolean promptable) throws Exception {
String[] filterStringsArray = new String[filterStrings.size()];
ISystemFilter result = doCreateSystemFilter(parent, aliasName, filterStringsArray, type, promptable);
return result;
}
/* (non-Javadoc)
* @see org.eclipse.rse.core.filters.ISystemFilterPoolManager#createSystemFilter(org.eclipse.rse.core.filters.ISystemFilterContainer, java.lang.String, java.util.List, java.lang.String)
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings, String type) throws Exception {
String[] filterStringsArray = new String[filterStrings.size()];
ISystemFilter result = doCreateSystemFilter(parent, aliasName, filterStringsArray, type, false);
return result;
}
/* (non-Javadoc)
* @see org.eclipse.rse.core.filters.ISystemFilterPoolManager#createSystemFilter(org.eclipse.rse.core.filters.ISystemFilterContainer, java.lang.String, java.util.List)
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, List filterStrings) throws Exception {
String[] filterStringsArray = new String[filterStrings.size()];
ISystemFilter result = doCreateSystemFilter(parent, aliasName, filterStringsArray, null, false);
return result;
}
/**
* Creates a new system filter within the given filter container (either a filter pool, or
* a filter). This creates the filter, and then saves the filter pool.
@ -631,16 +660,7 @@ public class SystemFilterPoolManager extends RSEPersistableObject implements ISy
* @param filterStrings The list of String objects that represent the filter strings.
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings) throws Exception {
ISystemFilter newFilter = null;
ISystemFilterPool parentPool = null;
if (parent instanceof ISystemFilterPool)
parentPool = (ISystemFilterPool) parent;
else
parentPool = ((ISystemFilter) parent).getParentFilterPool();
newFilter = parent.createSystemFilter(aliasName, filterStrings);
if (!suspendSave) commit(parentPool);
// if caller provider, callback to inform them of this event
if ((caller != null) && !suspendCallbacks) caller.filterEventFilterCreated(newFilter);
ISystemFilter newFilter = doCreateSystemFilter(parent, aliasName, filterStrings, null, false);
return newFilter;
}
@ -659,27 +679,7 @@ public class SystemFilterPoolManager extends RSEPersistableObject implements ISy
* @param type The type of this filter
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type) throws Exception {
boolean oldSuspendSave = suspendSave;
boolean oldSuspendCallbacks = suspendCallbacks;
suspendSave = true;
suspendCallbacks = true;
ISystemFilter newFilter = createSystemFilter(parent, aliasName, filterStrings);
newFilter.setType(type);
suspendSave = oldSuspendSave;
suspendCallbacks = oldSuspendCallbacks;
if (!suspendSave) {
ISystemFilterPool parentPool = null;
if (parent instanceof ISystemFilterPool)
parentPool = (ISystemFilterPool) parent;
else
parentPool = ((ISystemFilter) parent).getParentFilterPool();
commit(parentPool);
}
// if caller provider, callback to inform them of this event
if ((caller != null) && !suspendCallbacks) caller.filterEventFilterCreated(newFilter);
ISystemFilter newFilter = doCreateSystemFilter(parent, aliasName, filterStrings, type, false);
return newFilter;
}
@ -699,27 +699,35 @@ public class SystemFilterPoolManager extends RSEPersistableObject implements ISy
* @param promptable Pass true if this is a promptable filter
*/
public ISystemFilter createSystemFilter(ISystemFilterContainer parent, String aliasName, String[] filterStrings, String type, boolean promptable) throws Exception {
boolean oldSuspendSave = suspendSave;
boolean oldSuspendCallbacks = suspendCallbacks;
suspendSave = true;
suspendCallbacks = true;
ISystemFilter newFilter = createSystemFilter(parent, aliasName, filterStrings, type);
ISystemFilter newFilter = doCreateSystemFilter(parent, aliasName, filterStrings, type, promptable);
return newFilter;
}
/**
* Creates a system filter.
* @param parent the owning parent of this filter, must be a filter pool or a filter capable of nesting
* @param name the name of this filter
* @param filterStrings the strings associated with this filter
* @param type the type of this filter, used only if inheritType is false
* @param promptable the promptable nature of this filter, used only if inheritPromptable is false
* @return
*/
private ISystemFilter doCreateSystemFilter(ISystemFilterContainer parent, String name, String[] filterStrings, String type, boolean promptable) {
ISystemFilterPool parentPool = null;
if (parent instanceof ISystemFilterPool) {
parentPool = (ISystemFilterPool) parent;
} else {
parentPool = ((ISystemFilter) parent).getParentFilterPool();
}
ISystemFilter newFilter = parentPool.createSystemFilter(name, filterStrings);
newFilter.setType(type);
newFilter.setPromptable(promptable);
suspendSave = oldSuspendSave;
suspendCallbacks = oldSuspendCallbacks;
if (!suspendSave) {
ISystemFilterPool parentPool = null;
if (parent instanceof ISystemFilterPool)
parentPool = (ISystemFilterPool) parent;
else
parentPool = ((ISystemFilter) parent).getParentFilterPool();
commit(parentPool);
}
// if caller provider, callback to inform them of this event
if ((caller != null) && !suspendCallbacks) caller.filterEventFilterCreated(newFilter);
if ((caller != null) && !suspendCallbacks) {
caller.filterEventFilterCreated(newFilter);
}
return newFilter;
}