01: package com.sun.portal.netfile.applet.java2.model;
02:
03: import java.util.*;
04:
05: public class FolderNode extends ShareFolderNode {
06:
07: public static final int FOLDER = 0;
08: public static final int SUB_FOLDER = 1;
09:
10: private static final String ICON_NAME = "closedFolder.gif";
11: private static final String OPEN_ICON_NAME = "openFolder.gif";
12:
13: public FolderNode(String name, int type) {
14: super (name, ICON_NAME, OPEN_ICON_NAME);
15: this .type = type;
16: }
17:
18: public int getType() {
19: return type;
20: }
21:
22: public void addFolderNode(FolderNode folderNode) {
23: if (folderNode.type != SUB_FOLDER) {
24: throw new IllegalArgumentException(
25: "model.FolderNode:addFolderNode : can only add a subfolder");
26: }
27: addChildNode(folderNode);
28: }
29:
30: private int type;
31:
32: public ShareNode getShareNode() {
33: NetFileNode parent = null;
34: NetFileNode last = this ;
35: do {
36: parent = last.getParent();
37: if (parent == null)
38: return null;
39: last = parent;
40: } while (!(parent instanceof ShareNode));
41: return (ShareNode) parent;
42: }
43:
44: public SystemNode getSystemNode() {
45:
46: ShareNode shareNode = getShareNode();
47: return shareNode.getSystemNode();
48: }
49:
50: public String getFQDirectoryName() {
51: ShareFolderNode parent = (ShareFolderNode) getParent();
52: return (parent.getFQDirectoryName() + "/" + getName());
53:
54: }
55:
56: }
|