public class DirectoryEdit
extends java.lang.Object
Note that the use of HighLevelObject
is not needed (and is
a significant amount of useless code) once we move the directory interfaces
into a RemoteObject
approach. Much of this code also exists
inside the DirectoryEdit
class. Very nasty.
Modifier and Type | Class and Description |
---|---|
(package private) class |
DirectoryEdit.MenuItem
Single menu item.
|
static class |
DirectoryEdit.ServerDirectory
HLO which will map server entry points into local object.
|
(package private) static class |
DirectoryEdit.StopMenu
Special exception used to break menu processing loop.
|
Modifier and Type | Field and Description |
---|---|
private DirectoryEdit.MenuItem[] |
attrMenu
Attribute editing menu
|
(package private) java.lang.String |
attrName
Current attribute name
|
(package private) java.lang.String |
branch
Locked branch
|
(package private) DirectoryEdit.ServerDirectory |
dir
instance of HLO class that provides methods for directory access
|
(package private) DirectoryEdit.MenuItem[] |
nodeMenu
Node menu definition/implementation
|
(package private) DirectoryEdit.MenuItem[] |
topMenu
Top level menu definition/implementation
|
Constructor and Description |
---|
DirectoryEdit(Session session)
Construct an instance.
|
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
addValue(java.lang.String node,
java.lang.String attr,
java.lang.String newVal)
Adds a value to node's attribute.
|
(package private) java.lang.String |
getFullId(java.lang.String[] args,
boolean force)
Combine current branch ID and command arguments into resulting node ID.
|
(package private) java.lang.String |
getNodeClass(java.lang.String node)
Get node class name without leading prefix.
|
(package private) int |
getNumValues(java.lang.String node,
java.lang.String attr)
Gets the number of values of node's attribute.
|
(package private) static java.lang.String |
in()
A shortcut for getting user input.
|
(package private) boolean |
isNodeTerminal(java.lang.String nodeId)
Check note if it is a terminal node and does not allow creation of child
nodes.
|
(package private) void |
listNodes(java.lang.String startingPoint)
Lists the batch branch of the directory.
|
static void |
main(java.lang.String[] args)
Simple command line harness.
|
(package private) void |
menuAttrAdd(java.lang.String[] args)
Attribute menu - add attribute value implementation.
|
(package private) void |
menuAttrDelete(java.lang.String[] args)
Attribute menu - delete attribute value implementation.
|
(package private) void |
menuAttrEdit(java.lang.String[] args)
Attribute menu - edit attribute value implementation.
|
(package private) void |
menuAttrList(java.lang.String[] args)
Attribute menu - list attribute value implementation.
|
(package private) void |
menuGoTop(java.lang.String[] args)
Return to previous level of menu.
|
(package private) void |
menuNodeCreate(java.lang.String[] args)
Node menu - create object implementation.
|
(package private) void |
menuNodeCreateAttribute(java.lang.String[] args)
Node menu - create attribute implementation.
|
(package private) void |
menuNodeDelete(java.lang.String[] args)
Node menu - delete object implementation.
|
(package private) void |
menuNodeDeleteAttribute(java.lang.String[] args)
Node menu - delete attribute implementation.
|
(package private) void |
menuNodeEdit(java.lang.String[] args)
Node menu - edit object implementation.
|
(package private) void |
menuNodeEditAttribute(java.lang.String[] args)
Node menu - edit attribute implementation.
|
(package private) void |
menuNodeList(java.lang.String[] args)
Node menu - list attributes and objects implementation.
|
(package private) void |
menuNodeListDefs(java.lang.String[] args)
Node menu - list definitions of attributes implementation.
|
(package private) void |
menuNodeMove(java.lang.String[] args)
Node menu - move node implementation.
|
(package private) void |
menuNodePrint(java.lang.String[] args)
Node menu - print menu implementation.
|
(package private) void |
menuTopBatch(java.lang.String[] args)
Top menu - open batch implementation.
|
(package private) void |
menuTopCommit(java.lang.String[] args)
Top menu - commit batch implementation.
|
(package private) void |
menuTopQuit(java.lang.String[] args)
Top menu - quit implementation.
|
(package private) void |
menuTopRollback(java.lang.String[] args)
Top menu - rollback batch implementation.
|
(package private) boolean |
nodeExists(java.lang.String nodeId)
Check existence of the node.
|
(package private) boolean |
printAttrDef(java.lang.String node,
java.lang.String attr)
Prints information about node's attribute definition.
|
(package private) void |
printAttrDefs(java.lang.String node)
Print definitions of attributes for the specified node.
|
(package private) void |
printChildren(java.lang.String node,
int level)
Prints information about node's children nodes.
|
(package private) void |
printDef(NodeAttribute nAttr,
java.lang.String prefix)
Print instance of
NodeAttribute in human-readable form. |
(package private) void |
printNode(java.lang.String path,
java.lang.String node,
int level)
Prints information about a single node.
|
(package private) void |
printNodeAttrs(java.lang.String node,
int level)
Prints information about node's attributes.
|
(package private) void |
run()
Main entry point
|
(package private) void |
run(java.lang.String text,
DirectoryEdit.MenuItem[] menu,
java.lang.String comment)
Menu list processing routine.
|
(package private) void |
runNodeMenu()
Prepare message and call node menu.
|
(package private) static void |
say()
A shortcut for the System.out.println()
|
(package private) static void |
say(java.lang.String string)
A shortcut for the System.out.println(String).
|
(package private) boolean |
setValue(java.lang.String node,
java.lang.String attr,
int n,
java.lang.String newVal)
Sets a value of node's attribute.
|
(package private) java.lang.Object |
stringToAttrValue(NodeAttribute list,
java.lang.String str)
Convert given string value into attribute value using attribute type
information.
|
java.lang.String attrName
java.lang.String branch
DirectoryEdit.ServerDirectory dir
DirectoryEdit.MenuItem[] nodeMenu
DirectoryEdit.MenuItem[] topMenu
private DirectoryEdit.MenuItem[] attrMenu
public DirectoryEdit(Session session)
session
- Reference to Session
.static java.lang.String in()
static void say()
static void say(java.lang.String string)
string
- String to print.boolean addValue(java.lang.String node, java.lang.String attr, java.lang.String newVal) throws java.lang.Exception
node
- Node name.attr
- attribute name.newVal
- new value to be set.true
if operation was successful.java.lang.Exception
- Forwarded from various methods.java.lang.String getFullId(java.lang.String[] args, boolean force)
If command arguments are missing then null
is returned
indicating error, unless returning base branch ID is forced by setting
force
parameter to true
.
args
- Command arguments.force
- If set to true
then resulting ID is returned
regardless from the presence of the parameters.java.lang.String getNodeClass(java.lang.String node)
node
- Node name.int getNumValues(java.lang.String node, java.lang.String attr) throws java.lang.Exception
node
- Node name.attr
- Attribute name.java.lang.Exception
- Forwarded from various methods.boolean isNodeTerminal(java.lang.String nodeId)
nodeId
- Node ID.true
if node is a terminal node.void listNodes(java.lang.String startingPoint) throws java.lang.Exception
startingPoint
- Path (id) of the node to printjava.lang.Exception
- Forwarded from various methods.void menuAttrAdd(java.lang.String[] args)
args
- Command arguments.void menuAttrDelete(java.lang.String[] args)
args
- Command arguments.void menuAttrEdit(java.lang.String[] args)
args
- Command arguments.void menuAttrList(java.lang.String[] args)
args
- Command arguments.void menuGoTop(java.lang.String[] args)
args
- Command arguments (ignored).void menuNodeCreate(java.lang.String[] args)
args
- Parsed command.void menuNodeCreateAttribute(java.lang.String[] args)
args
- Parsed command.void menuNodeDelete(java.lang.String[] args)
args
- Parsed command.void menuNodeDeleteAttribute(java.lang.String[] args)
args
- Parsed command.void menuNodeEdit(java.lang.String[] args)
args
- Parsed command.void menuNodeEditAttribute(java.lang.String[] args)
args
- Parsed command.void menuNodeList(java.lang.String[] args)
args
- Parsed command.void menuNodeListDefs(java.lang.String[] args)
args
- Parsed command.void menuNodeMove(java.lang.String[] args)
args
- Parsed command.void menuNodePrint(java.lang.String[] args)
args
- Parsed command.void menuTopBatch(java.lang.String[] args)
args
- Command arguments.void menuTopCommit(java.lang.String[] args)
args
- Command arguments.void menuTopQuit(java.lang.String[] args)
args
- Command arguments.void menuTopRollback(java.lang.String[] args)
args
- Command arguments.boolean nodeExists(java.lang.String nodeId) throws java.lang.Exception
nodeId
- true
is specified node exists.java.lang.Exception
- Forwarded from underlying call.boolean printAttrDef(java.lang.String node, java.lang.String attr) throws java.lang.Exception
node
- Node name.attr
- Attribute name.true
if operation was successful.java.lang.Exception
- Forwarded from various methods.void printAttrDefs(java.lang.String node)
node
- Node ID.void printChildren(java.lang.String node, int level) throws java.lang.Exception
node
- Node name.level
- Nesting/indentation level.java.lang.Exception
- Forwarded from various methods.void printDef(NodeAttribute nAttr, java.lang.String prefix)
NodeAttribute
in human-readable form.nAttr
- Instance of the NodeAttribute
to print.prefix
- Optional prefix to print before attribute definition.void printNode(java.lang.String path, java.lang.String node, int level) throws java.lang.Exception
path
- Path (id) of the parent node.node
- Node name.level
- Nesting/indentation level.java.lang.Exception
- Forwarded from various methods.void printNodeAttrs(java.lang.String node, int level) throws java.lang.Exception
node
- Node name.level
- Nesting/indentation level.java.lang.Exception
- Forwarded from various methods.void run()
void run(java.lang.String text, DirectoryEdit.MenuItem[] menu, java.lang.String comment)
text
- Message which will be printed before menu.menu
- List of menu items.comment
- Additional comment message to display after menu.void runNodeMenu()
boolean setValue(java.lang.String node, java.lang.String attr, int n, java.lang.String newVal) throws java.lang.Exception
node
- Node name.attr
- Attribute name.n
- Value index.newVal
- New value to be set.true
if operation was successful.java.lang.Exception
- Forwarded from various methods.java.lang.Object stringToAttrValue(NodeAttribute list, java.lang.String str)
list
- Attribute definition list.str
- Source string.public static void main(java.lang.String[] args)