Package org.opensaml.xmlsec.encryption.impl

# Class EncryptionMethodImpl

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

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

Direct Known Subclasses:
  `EncryptionMethodImpl`

public class EncryptionMethodImpl extends AbstractXMLObject implements EncryptionMethod
Concrete implementation of `EncryptionMethod`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private String`
`algorithm`
Algorithm attribute value.
`private KeySize`
`keySize`
KeySize child element value.
`private OAEPparams`
`oaepParams`
OAEPparams child element value.
`private final IndexedXMLObjectChildrenList<XMLObject>`
`unknownChildren`
"any" children.

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

`ALGORITHM_ATTRIB_NAME, DEFAULT_ELEMENT_LOCAL_NAME, DEFAULT_ELEMENT_NAME, TYPE_LOCAL_NAME, TYPE_NAME`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`String`
`getAlgorithm()`
Gets the algorithm URI attribute used in this EncryptionMethod.
`KeySize`
`getKeySize()`
Gets the KeySize child element.
`OAEPparams`
`getOAEPparams()`
Gets the OAEPparams child element.
`List<XMLObject>`
`getOrderedChildren()`
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.
`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 used in this EncryptionMethod.
`void`
`setKeySize(KeySize newKeySize)`
Sets the KeySize child element.
`void`
`setOAEPparams(OAEPparams newOAEPparams)`
Sets the OAEPparams child element.

### 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.

### keySize

@Nullable private KeySize keySize
KeySize child element value.

### oaepParams

@Nullable private OAEPparams oaepParams
OAEPparams child element value.

### unknownChildren

@Nonnull private final IndexedXMLObjectChildrenList<XMLObject> unknownChildren
"any" children.

## Constructor Details

### EncryptionMethodImpl

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

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

## Method Details

### getAlgorithm

@Nullable public String getAlgorithm()
Gets the algorithm URI attribute used in this EncryptionMethod.

Specified by:
  `getAlgorithm` in interface `EncryptionMethod`
Returns:
  the Algorithm attribute URI attribute string

### setAlgorithm

public void setAlgorithm(@Nullable String newAlgorithm)
Sets the algorithm URI attribute used in this EncryptionMethod.

Specified by:
  `setAlgorithm` in interface `EncryptionMethod`
Parameters:
  `newAlgorithm` - the new Algorithm URI attribute string

### getKeySize

@Nullable public KeySize getKeySize()
Gets the KeySize child element.

Specified by:
  `getKeySize` in interface `EncryptionMethod`
Returns:
  the KeySize child element

### setKeySize

public void setKeySize(@Nullable KeySize newKeySize)
Sets the KeySize child element.

Specified by:
  `setKeySize` in interface `EncryptionMethod`
Parameters:
  `newKeySize` - the new KeySize child element

### getOAEPparams

@Nullable public OAEPparams getOAEPparams()
Gets the OAEPparams child element.

Specified by:
  `getOAEPparams` in interface `EncryptionMethod`
Returns:
  the OAEPparams child element

### setOAEPparams

public void setOAEPparams(@Nullable OAEPparams newOAEPparams)
Sets the OAEPparams child element.

Specified by:
  `setOAEPparams` in interface `EncryptionMethod`
Parameters:
  `newOAEPparams` - the new OAEPparams child element

### getUnknownXMLObjects

@Nonnull @Live 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 @Live 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