01: /*
02: * NEMESIS-FORUM.
03: * Copyright (C) 2002 David Laurent(lithium2@free.fr). All rights reserved.
04: *
05: * Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
06: *
07: * Copyright (C) 2001 Yasna.com. All rights reserved.
08: *
09: * Copyright (C) 2000 CoolServlets.com. All rights reserved.
10: *
11: * NEMESIS-FORUM. is free software; you can redistribute it and/or
12: * modify it under the terms of the Apache Software License, Version 1.1,
13: * or (at your option) any later version.
14: *
15: * NEMESIS-FORUM core framework, NEMESIS-FORUM backoffice, NEMESIS-FORUM frontoffice
16: * application are parts of NEMESIS-FORUM and are distributed under
17: * same terms of licence.
18: *
19: *
20: * NEMESIS-FORUM includes software developed by the Apache Software Foundation (http://www.apache.org/)
21: * and software developed by CoolServlets.com (http://www.coolservlets.com).
22: * and software developed by Yasna.com (http://www.yasna.com).
23: *
24: */
25: package org.nemesis.forum.proxy;
26:
27: import org.nemesis.forum.Authorization;
28: import org.nemesis.forum.ForumPermissions;
29: import org.nemesis.forum.Message;
30: import org.nemesis.forum.TreeWalker;
31:
32: /**
33: * Protection proxy for TreeWalker ojbects
34: */
35: public class TreeWalkerProxy implements TreeWalker {
36:
37: private TreeWalker treeWalker;
38: private Authorization authorization;
39: private ForumPermissions permissions;
40:
41: public TreeWalkerProxy(TreeWalker treeWalker,
42: Authorization authorization, ForumPermissions permissions) {
43: this .treeWalker = treeWalker;
44: this .authorization = authorization;
45: this .permissions = permissions;
46: }
47:
48: public Message getRoot() {
49: Message message = treeWalker.getRoot();
50: return new MessageProxy(message, authorization, permissions);
51: }
52:
53: public Message getChild(Message parent, int index) {
54: Message message = treeWalker.getChild(parent, index);
55: return new MessageProxy(message, authorization, permissions);
56: }
57:
58: public int getChildCount(Message parent) {
59: return treeWalker.getChildCount(parent);
60: }
61:
62: public int getRecursiveChildCount(Message parent) {
63: return treeWalker.getRecursiveChildCount(parent);
64: }
65:
66: public int getIndexOfChild(Message parent, Message child) {
67: return treeWalker.getIndexOfChild(parent, child);
68: }
69:
70: public boolean isLeaf(Message node) {
71: return treeWalker.isLeaf(node);
72: }
73:
74: }
|