diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-11-03 15:58:54 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-11-03 15:58:54 +0100 |
commit | 581d0449b2c5f1bbfd5bb3d6d1216040b832b273 (patch) | |
tree | c3ebc0b05f1ad8d5dc2156e471c799b30be8ecde /java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java | |
parent | Fixed ICE-5816: Silverlight build failure (diff) | |
download | ice-581d0449b2c5f1bbfd5bb3d6d1216040b832b273.tar.bz2 ice-581d0449b2c5f1bbfd5bb3d6d1216040b832b273.tar.xz ice-581d0449b2c5f1bbfd5bb3d6d1216040b832b273.zip |
Fixed ICE-5811: renamed book demos to manual demos
Diffstat (limited to 'java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java')
-rw-r--r-- | java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java b/java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java new file mode 100644 index 00000000000..69f793bb89c --- /dev/null +++ b/java/demo/manual/simple_filesystem/Filesystem/DirectoryI.java @@ -0,0 +1,72 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package Filesystem; + +public final class DirectoryI extends _DirectoryDisp +{ + // DirectoryI constructor + + public + DirectoryI(Ice.Communicator communicator, String name, DirectoryI parent) + { + _name = name; + _parent = parent; + + // Create an identity. The root directory has the fixed identity "RootDir" + // + _id = new Ice.Identity(); + _id.name = _parent != null ? java.util.UUID.randomUUID().toString() : "RootDir"; + } + + // Slice Node::name() operation + + public String + name(Ice.Current current) + { + return _name; + } + + // Slice Directory::list() operation + + public NodePrx[] + list(Ice.Current current) + { + NodePrx[] result = new NodePrx[_contents.size()]; + _contents.toArray(result); + return result; + } + + // addChild is called by the child in order to add + // itself to the _contents member of the parent + + void + addChild(NodePrx child) + { + _contents.add(child); + } + + // activate adds the servant to the object adapter and + // adds child nodes ot the parent's _contents list. + + public void + activate(Ice.ObjectAdapter a) + { + NodePrx thisNode = NodePrxHelper.uncheckedCast(a.add(this, _id)); + if(_parent != null) + { + _parent.addChild(thisNode); + } + } + + private String _name; + private DirectoryI _parent; + private Ice.Identity _id; + private java.util.List<NodePrx> _contents = new java.util.ArrayList<NodePrx>(); +} |