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 java.util.Iterator;
22:
23: import org.openharmonise.vfs.*;
24:
25: /**
26: * Rule that will return true if the currently selected virtual file
27: * is a collection which has no published children.
28: *
29: * @author Matthew Large
30: * @version $Revision: 1.1 $
31: *
32: */
33: public class NoPublishedChildrenRule implements EnableRule {
34:
35: /**
36: *
37: */
38: public NoPublishedChildrenRule() {
39: super ();
40: }
41:
42: /* (non-Javadoc)
43: * @see com.simulacramedia.contentmanager.actions.rules.EnableRule#isEnabled(com.simulacramedia.vfs.VirtualFile)
44: */
45: public boolean isEnabled(VirtualFile vfFile) {
46: boolean bFound = false;
47:
48: if (vfFile.isDirectory()) {
49: Iterator itor = vfFile.getChildren().iterator();
50: while (itor.hasNext()) {
51: String sPath = (String) itor.next();
52: VirtualFile vfChild = vfFile.getVFS().getVirtualFile(
53: sPath).getResource();
54: if (vfChild.getState() == VirtualFile.STATE_LIVE) {
55: bFound = true;
56: break;
57: }
58: }
59: }
60:
61: return !bFound;
62: }
63:
64: /* (non-Javadoc)
65: * @see com.simulacramedia.contentmanager.actions.rules.EnableRule#setResultComparator(boolean)
66: */
67: public void setResultComparator(boolean bComparator) {
68: // TODO Auto-generated method stub
69:
70: }
71:
72: }
|