01: /*******************************************************************************
02: * Copyright (c) 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: ******************************************************************************/package org.eclipse.ui.internal.services;
11:
12: import org.eclipse.jface.util.IPropertyChangeListener;
13:
14: /**
15: * This is not meant to be implemented or extended by clients.
16: *
17: * @since 3.3
18: *
19: */
20: public interface IEvaluationReference extends IEvaluationResultCache {
21: public IPropertyChangeListener getListener();
22:
23: public String getProperty();
24:
25: /**
26: * Sets whether or not the property change listener should be notified on
27: * changes to the expression held by this result cache. Setting this to
28: * <code>false</code> is useful for times in which you want to prevent flopping of the UI
29: * on variable changes (ie: shell activation).
30: *
31: * @param evaluationEnabled
32: */
33: public void setPostingChanges(boolean evaluationEnabled);
34:
35: /**
36: * Returns whether or not the property change listener should be notified on
37: * changes to the expression held by this result cache. Setting this to
38: * <code>false</code> is useful for times in which you want to prevent flopping of the UI
39: * on variable changes (ie: shell activation).
40: *
41: * @return whether or not listeners should be notified at this time.
42: */
43: public boolean isPostingChanges();
44:
45: /**
46: * Return an evaluation reference that could be impacted by changes to this
47: * evaluation reference.
48: *
49: * @return the reference. May be <code>null</code>.
50: */
51: public IEvaluationReference getTargetReference();
52:
53: /**
54: * Set an evaluation reference that could be impacted by changes to this
55: * evaluation reference.
56: *
57: * @param ref the reference. May be <code>null</code>.
58: */
59: public void setTargetReference(IEvaluationReference ref);
60: }
|