diff options
Diffstat (limited to 'java/demo/Manual/simple_filesystem/Filesystem/FileI.java')
-rw-r--r-- | java/demo/Manual/simple_filesystem/Filesystem/FileI.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/java/demo/Manual/simple_filesystem/Filesystem/FileI.java b/java/demo/Manual/simple_filesystem/Filesystem/FileI.java new file mode 100644 index 00000000000..3a4bff86431 --- /dev/null +++ b/java/demo/Manual/simple_filesystem/Filesystem/FileI.java @@ -0,0 +1,67 @@ +// ********************************************************************** +// +// 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 class FileI extends _FileDisp +{ + // FileI constructor + + public + FileI(Ice.Communicator communicator, String name, DirectoryI parent) + { + _name = name; + _parent = parent; + + assert(_parent != null); + + // + // Create an identity + // + _id = new Ice.Identity(); + _id.name = java.util.UUID.randomUUID().toString(); + } + + // Slice Node::name() operation + + public String + name(Ice.Current current) + { + return _name; + } + + // Slice File::read() operation + + public String[] + read(Ice.Current current) + { + return _lines; + } + + // Slice File::write() operation + + public void + write(String[] text, Ice.Current current) + throws GenericError + { + _lines = text; + } + + public void + activate(Ice.ObjectAdapter a) + { + NodePrx thisNode = NodePrxHelper.uncheckedCast(a.add(this, _id)); + _parent.addChild(thisNode); + } + + private String _name; + private DirectoryI _parent; + private Ice.Identity _id; + private String[] _lines; +} |