org.jvnet.hk2.config
Interface ConfigBeanProxy

All Known Subinterfaces:
Environment, Property

public interface ConfigBeanProxy

Marker interface that signifies that the interface is meant to be used as a strongly-typed proxy to Dom.

To obtain the Dom object, use Dom.unwrap(ConfigBeanProxy). This design allows the interfaces to be implemented by other code outside DOM more easily.

Author:
Kohsuke Kawaguchi
See Also:
Dom.unwrap(ConfigBeanProxy), DuckTyped, Element, Attribute

Nested Class Summary
static class ConfigBeanProxy.Duck
           
 
Method Summary
<T extends ConfigBeanProxy>
T
createChild(Class<T> type)
          Creates a child element of this configuration element
 ConfigBeanProxy deepCopy(ConfigBeanProxy parent)
          Performs a deep copy of this configuration element and returns it.
 ConfigBeanProxy getParent()
          Returns the parent element of this configuration element.
<T extends ConfigBeanProxy>
T
getParent(Class<T> type)
          Returns the typed parent element of this configuration element.
 

Method Detail

getParent

@DuckTyped
ConfigBeanProxy getParent()
Returns the parent element of this configuration element. It is possible to return a not null parent while the parent knows nothing of this child element. This could happen when the child element was removed from the configuration tree, yet it's parent would not have been reset.

Returns:
the parent configuration node.

getParent

@DuckTyped
<T extends ConfigBeanProxy> T getParent(Class<T> type)
Returns the typed parent element of this configuration element. It is possible to return a not null parent while the parent knows nothing of this child element. This could happen when the child element was removed from the configuration tree, yet it's parent would not have been reset.

Parameters:
type - parent's type
Returns:
the parent configuration node.

createChild

@DuckTyped
<T extends ConfigBeanProxy> T createChild(Class<T> type)
                                      throws TransactionFailure
Creates a child element of this configuration element

Parameters:
type - the child element type
Returns:
the newly created child instance
Throws:
TransactionFailure - when called outside the boundaries of a transaction

deepCopy

@DuckTyped
ConfigBeanProxy deepCopy(ConfigBeanProxy parent)
                         throws TransactionFailure
Performs a deep copy of this configuration element and returns it. The parent of this configuration must be locked in a transaction and the newly created child will be automatically enrolled in the parent's transaction.

Parameters:
parent - the writable copy of the parent
Returns:
a deep copy of itself.
Throws:
TransactionFailure - if the transaction cannot be completed.


Copyright © 2013 Oracle Corporation. All Rights Reserved.