org.rhq.augeas.node
Class AugeasNodeLazy

java.lang.Object
  extended by org.rhq.augeas.node.AugeasNodeBase
      extended by org.rhq.augeas.node.AugeasNodeLazy
All Implemented Interfaces:
AugeasNode

public class AugeasNodeLazy
extends AugeasNodeBase
implements AugeasNode

Implementation of the augeas node that loads the children lazily.

Author:
Filip Drabek

Field Summary
 
Fields inherited from class org.rhq.augeas.node.AugeasNodeBase
ag, childNodes, label, parentNode, path, seq, value
 
Constructor Summary
AugeasNodeLazy(String fullPath, AugeasTree ag)
           
 
Method Summary
 void addChildNode(AugeasNode node)
           
 boolean equals(Object obj)
           
 List<AugeasNode> getChildByLabel(String labelName)
           
 List<AugeasNode> getChildNodes()
           
 String getFullPath()
           
 AugeasNode getParentNode()
           
 String getValue()
           
 void remove(boolean updateSeq)
          Removes the node from its parent children optionally updating the sequence numbers of the sibling nodes with the same label.
 void setPath(String path)
           
 void setValue(String value)
           
 void updateFromParent()
          Updates the settings of this node according to the data in the parent.
 
Methods inherited from class org.rhq.augeas.node.AugeasNodeBase
getLabel, getPath, getSeq, setLabel, setSeq
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.rhq.augeas.node.AugeasNode
getLabel, getPath, getSeq, setLabel, setSeq
 

Constructor Detail

AugeasNodeLazy

public AugeasNodeLazy(String fullPath,
                      AugeasTree ag)
Method Detail

getChildNodes

public List<AugeasNode> getChildNodes()
Specified by:
getChildNodes in interface AugeasNode
Overrides:
getChildNodes in class AugeasNodeBase
Returns:
the child nodes in the tree

getParentNode

public AugeasNode getParentNode()
Specified by:
getParentNode in interface AugeasNode
Overrides:
getParentNode in class AugeasNodeBase
Returns:
the parent node in the tree

getValue

public String getValue()
Specified by:
getValue in interface AugeasNode
Overrides:
getValue in class AugeasNodeBase
Returns:
the value of the node

equals

public boolean equals(Object obj)
Specified by:
equals in interface AugeasNode
Overrides:
equals in class Object

setValue

public void setValue(String value)
Specified by:
setValue in interface AugeasNode
Overrides:
setValue in class AugeasNodeBase

getFullPath

public String getFullPath()
Specified by:
getFullPath in interface AugeasNode
Returns:
the full path of the node including its label and sequence number

addChildNode

public void addChildNode(AugeasNode node)
Specified by:
addChildNode in interface AugeasNode

getChildByLabel

public List<AugeasNode> getChildByLabel(String labelName)
Specified by:
getChildByLabel in interface AugeasNode

remove

public void remove(boolean updateSeq)
            throws AugeasTreeException
Description copied from interface: AugeasNode
Removes the node from its parent children optionally updating the sequence numbers of the sibling nodes with the same label.

Specified by:
remove in interface AugeasNode
Parameters:
updateSeq - whether to update the siblings' sequence numbers
Throws:
AugeasTreeException

setPath

public void setPath(String path)
             throws AugeasTreeException
Specified by:
setPath in interface AugeasNode
Throws:
AugeasTreeException

updateFromParent

public void updateFromParent()
Description copied from interface: AugeasNode
Updates the settings of this node according to the data in the parent. This method should work recursively.

Specified by:
updateFromParent in interface AugeasNode


Copyright © 2008-2012 Red Hat, Inc.. All Rights Reserved.