01: /*
02: * The contents of this file are subject to the
03: * Mozilla Public License Version 1.1 (the "License");
04: * you may not use this file except in compliance with the License.
05: * You may obtain a copy of the License at http://www.mozilla.org/MPL/
06: *
07: * Software distributed under the License is distributed on an "AS IS"
08: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
09: * See the License for the specific language governing rights and
10: * limitations under the License.
11: *
12: * The Initial Developer of the Original Code is Simulacra Media Ltd.
13: * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14: *
15: * All Rights Reserved.
16: *
17: * Contributor(s):
18: */
19: package org.openharmonise.him.actions.rules;
20:
21: import org.openharmonise.vfs.*;
22:
23: /**
24: * Rule that will return true if a specified tab name is the name
25: * of the currently selcted outlook bar tab.
26: *
27: * @author Matthew Large
28: * @version $Revision: 1.1 $
29: *
30: */
31: public class TabRule implements EnableRule {
32:
33: boolean m_bComparator = true;
34:
35: /**
36: * Tab name to check.
37: */
38: private String m_sTabName = null;
39:
40: /**
41: * Constructs a new tab rule.
42: *
43: * @param sTabName Tab name to check
44: */
45: public TabRule(String sTabName) {
46: super ();
47: this .m_sTabName = sTabName;
48: }
49:
50: /* (non-Javadoc)
51: * @see com.simulacramedia.contentmanager.actions.rules.EnableRule#isEnabled(com.simulacramedia.vfs.VirtualFile)
52: */
53: public boolean isEnabled(VirtualFile vfFile) {
54: boolean bEnabled = false;
55:
56: if (vfFile != null
57: && vfFile.getFullPath().startsWith(this .m_sTabName)) {
58: bEnabled = true;
59: }
60:
61: return this .m_bComparator == bEnabled;
62: }
63:
64: /**
65: * Checks if an action is enabled base on the rule, its parameters
66: * and the current context.
67: *
68: * @param sTabName Tab name to check
69: * @return true if the rule is passed
70: */
71: public boolean isEnabled(String sTabName) {
72: boolean bEnabled = false;
73:
74: if (sTabName.equals(this .m_sTabName)) {
75: bEnabled = true;
76: }
77:
78: return this .m_bComparator == bEnabled;
79: }
80:
81: /* (non-Javadoc)
82: * @see com.simulacramedia.contentmanager.actions.rules.EnableRule#setResultComparator(boolean)
83: */
84: public void setResultComparator(boolean bComparator) {
85: this.m_bComparator = bComparator;
86: }
87:
88: }
|