Package org.opensaml.xmlsec.encryption.impl

# Class AgreementMethodImpl

java.lang.Object
org.opensaml.core.xml.AbstractXMLObject
org.opensaml.xmlsec.encryption.impl.AgreementMethodImpl

All Implemented Interfaces:
  `ElementExtensibleXMLObject`, `XMLObject`, `AgreementMethod`

public class AgreementMethodImpl extends AbstractXMLObject implements AgreementMethod
Concrete implementation of `AgreementMethod`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private String`
`algorithm`
Algorithm attribute value.
`private KANonce`
`kaNonce`
KA-Nonce child element value.
`private OriginatorKeyInfo`
`originatorKeyInfo`
OriginatorKeyInfo child element value.
`private RecipientKeyInfo`
`recipientKeyInfo`
RecipientKeyInfo child element value.
`private IndexedXMLObjectChildrenList<XMLObject>`
`xmlChildren`
List of wildcard <any> XMLObject children.

### Fields inherited from interface org.opensaml.xmlsec.encryption.AgreementMethod

`ALGORITHM_ATTRIBUTE_NAME, DEFAULT_ELEMENT_LOCAL_NAME, DEFAULT_ELEMENT_NAME, TYPE_LOCAL_NAME, TYPE_NAME`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AgreementMethodImpl(String namespaceURI, String elementLocalName, String namespacePrefix)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`String`
`getAlgorithm()`
Gets the algorithm URI attribute value for this agreement method.
`KANonce`
`getKANonce()`
Get the nonce child element used to introduce variability into the generation of keying material.
`List<XMLObject>`
`getOrderedChildren()`
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.
`OriginatorKeyInfo`
`getOriginatorKeyInfo()`
Get the child element containing the key generation material for the originator.
`RecipientKeyInfo`
`getRecipientKeyInfo()`
Get the child element containing the key generation material for the recipient.
`List<XMLObject>`
`getUnknownXMLObjects()`
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model.
`List<XMLObject>`
`getUnknownXMLObjects(QName typeOrName)`
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model, and which match the specified QName.
`void`
`setAlgorithm(String newAlgorithm)`
Sets the algorithm URI attribute value for this agreement method.
`void`
`setKANonce(KANonce newKANonce)`
Set the nonce child element used to introduce variability into the generation of keying material.
`void`
`setOriginatorKeyInfo(OriginatorKeyInfo newOriginatorKeyInfo)`
Set the child element containing the key generation material for the originator.
`void`
`setRecipientKeyInfo(RecipientKeyInfo newRecipientKeyInfo)`
Set the child element containing the key generation material for the recipient.

### Methods inherited from class org.opensaml.core.xml.AbstractXMLObject

`detach, ensureDOM, getDOM, getElementQName, getIDIndex, getNamespaceManager, getNamespaces, getNoNamespaceSchemaLocation, getObjectMetadata, getParent, getSchemaLocation, getSchemaType, hasChildren, hasParent, isNil, isNilXSBoolean, manageQualifiedAttributeNamespace, prepareAttributeValueForAssignment, prepareElementContentForAssignment, prepareForAssignment, prepareForAssignment, prepareForAssignment, registerOwnID, releaseChildrenDOM, releaseDOM, releaseParentDOM, releaseThisAndChildrenDOM, releaseThisandParentDOM, resolveID, resolveIDFromRoot, setDOM, setElementNamespacePrefix, setElementQName, setNil, setNil, setNoNamespaceSchemaLocation, setParent, setSchemaLocation, setSchemaType`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.opensaml.core.xml.XMLObject

`detach, ensureDOM, getDOM, getElementQName, getIDIndex, getNamespaceManager, getNamespaces, getNoNamespaceSchemaLocation, getObjectMetadata, getParent, getSchemaLocation, getSchemaType, hasChildren, hasParent, isNil, isNilXSBoolean, releaseChildrenDOM, releaseDOM, releaseParentDOM, resolveID, resolveIDFromRoot, setDOM, setNil, setNil, setNoNamespaceSchemaLocation, setParent, setSchemaLocation`

## Field Details

### algorithm

@Nullable private String algorithm
Algorithm attribute value.

### kaNonce

@Nullable private KANonce kaNonce
KA-Nonce child element value.

### originatorKeyInfo

@Nullable private OriginatorKeyInfo originatorKeyInfo
OriginatorKeyInfo child element value.

### recipientKeyInfo

@Nullable private RecipientKeyInfo recipientKeyInfo
RecipientKeyInfo child element value.

### xmlChildren

@Nonnull private IndexedXMLObjectChildrenList<XMLObject> xmlChildren
List of wildcard <any> XMLObject children.

## Constructor Details

### AgreementMethodImpl

protected AgreementMethodImpl(@Nullable String namespaceURI, @Nonnull String elementLocalName, @Nullable String namespacePrefix)
Constructor.

Parameters:
  `namespaceURI` - namespace URI
  `elementLocalName` - element local name
  `namespacePrefix` - namespace prefix

## Method Details

### getAlgorithm

@Nullable public String getAlgorithm()
Gets the algorithm URI attribute value for this agreement method.

Specified by:
  `getAlgorithm` in interface `AgreementMethod`
Returns:
  the algorithm URI attribute value

### setAlgorithm

public void setAlgorithm(@Nullable String newAlgorithm)
Sets the algorithm URI attribute value for this agreement method.

Specified by:
  `setAlgorithm` in interface `AgreementMethod`
Parameters:
  `newAlgorithm` - the new algorithm URI attribute value

### getKANonce

@Nullable public KANonce getKANonce()
Get the nonce child element used to introduce variability into the generation of keying material.

Specified by:
  `getKANonce` in interface `AgreementMethod`
Returns:
  the KA-Nonce child element

### setKANonce

public void setKANonce(@Nullable KANonce newKANonce)
Set the nonce child element used to introduce variability into the generation of keying material.

Specified by:
  `setKANonce` in interface `AgreementMethod`
Parameters:
  `newKANonce` - the new KA-Nonce child element

### getOriginatorKeyInfo

@Nullable public OriginatorKeyInfo getOriginatorKeyInfo()
Get the child element containing the key generation material for the originator.

Specified by:
  `getOriginatorKeyInfo` in interface `AgreementMethod`
Returns:
  the OriginatorKeyInfo child element

### setOriginatorKeyInfo

public void setOriginatorKeyInfo(@Nullable OriginatorKeyInfo newOriginatorKeyInfo)
Set the child element containing the key generation material for the originator.

Specified by:
  `setOriginatorKeyInfo` in interface `AgreementMethod`
Parameters:
  `newOriginatorKeyInfo` - the new OriginatorKeyInfo child element

### getRecipientKeyInfo

@Nullable public RecipientKeyInfo getRecipientKeyInfo()
Get the child element containing the key generation material for the recipient.

Specified by:
  `getRecipientKeyInfo` in interface `AgreementMethod`
Returns:
  the RecipientKeyInfo child element

### setRecipientKeyInfo

public void setRecipientKeyInfo(@Nullable RecipientKeyInfo newRecipientKeyInfo)
Set the child element containing the key generation material for the recipient.

Specified by:
  `setRecipientKeyInfo` in interface `AgreementMethod`
Parameters:
  `newRecipientKeyInfo` - the new RecipientKeyInfo child element

### getUnknownXMLObjects

@Nonnull public List<XMLObject> getUnknownXMLObjects()
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model.

Specified by:
  `getUnknownXMLObjects` in interface `ElementExtensibleXMLObject`
Returns:
  list of XMLObjects added to this XMLObject as part of the "any" content model

### getUnknownXMLObjects

@Nonnull public List<XMLObject> getUnknownXMLObjects(@Nonnull QName typeOrName)
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model, and which match the specified QName.

Specified by:
  `getUnknownXMLObjects` in interface `ElementExtensibleXMLObject`
Parameters:
  `typeOrName` - the QName of the statements to return
Returns:
  list of XMLObjects added to this XMLObject as part of the "any" content model TODO: think this should be typed List<? extends XMLObject>

### getOrderedChildren

@Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren()
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.

Specified by:
  `getOrderedChildren` in interface `XMLObject`
Returns:
  ordered list of child elements