func (e *EncryptionAlgorithmDataElement) UnmarshalHBCI(value []byte) error {
	e = &EncryptionAlgorithmDataElement{}
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 7 {
		return fmt.Errorf("Malformed marshaled value")
	}
	e.DataElement = NewDataElementGroup(encryptionAlgorithmDEG, 5, e)
	e.Usage = &AlphaNumericDataElement{}
	err = e.Usage.UnmarshalHBCI(elements[0])
	if err != nil {
		return err
	}
	e.OperationMode = &AlphaNumericDataElement{}
	err = e.OperationMode.UnmarshalHBCI(elements[1])
	if err != nil {
		return err
	}
	if len(elements) > 2 && len(elements[2]) > 0 {
		e.Algorithm = &AlphaNumericDataElement{}
		err = e.Algorithm.UnmarshalHBCI(elements[2])
		if err != nil {
			return err
		}
	}
	if len(elements) > 3 && len(elements[3]) > 0 {
		e.Key = &BinaryDataElement{}
		err = e.Key.UnmarshalHBCI(elements[3])
		if err != nil {
			return err
		}
	}
	if len(elements) > 4 && len(elements[4]) > 0 {
		e.KeyParamID = &AlphaNumericDataElement{}
		err = e.KeyParamID.UnmarshalHBCI(elements[4])
		if err != nil {
			return err
		}
	}
	if len(elements) > 5 && len(elements[5]) > 0 {
		e.InitializationValueParamID = &AlphaNumericDataElement{}
		err = e.InitializationValueParamID.UnmarshalHBCI(elements[5])
		if err != nil {
			return err
		}
	}
	if len(elements) > 6 && len(elements[6]) > 0 {
		e.InitializationValue = &BinaryDataElement{}
		err = e.InitializationValue.UnmarshalHBCI(elements[6])
		if err != nil {
			return err
		}
	}
	return nil
}
// UnmarshalHBCI unmarshals value into the DataElement
UnmarshalHBCI unmarshals value into the DataElement
// UnmarshalHBCI unmarshals value into the DataElement
func (e *EncryptionAlgorithmDataElement) UnmarshalHBCI(value []byte) error {
	e = &EncryptionAlgorithmDataElement{}
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 7 {
		return fmt.Errorf("Malformed marshaled value")
	}
	e.DataElement = NewDataElementGroup(encryptionAlgorithmDEG, 5, e)
	e.Usage = &AlphaNumericDataElement{}
	err = e.Usage.UnmarshalHBCI(elements[0])
	if err != nil {
		return err
	}
	e.OperationMode = &AlphaNumericDataElement{}
	err = e.OperationMode.UnmarshalHBCI(elements[1])
	if err != nil {
		return err
	}
	if len(elements) > 2 && len(elements[2]) > 0 {
		e.Algorithm = &AlphaNumericDataElement{}
		err = e.Algorithm.UnmarshalHBCI(elements[2])
		if err != nil {
			return err
		}
	}
	if len(elements) > 3 && len(elements[3]) > 0 {
		e.Key = &BinaryDataElement{}
		err = e.Key.UnmarshalHBCI(elements[3])
		if err != nil {
			return err
		}
	}
	if len(elements) > 4 && len(elements[4]) > 0 {
		e.KeyParamID = &AlphaNumericDataElement{}
		err = e.KeyParamID.UnmarshalHBCI(elements[4])
		if err != nil {
			return err
		}
	}
	if len(elements) > 5 && len(elements[5]) > 0 {
		e.InitializationValueParamID = &AlphaNumericDataElement{}
		err = e.InitializationValueParamID.UnmarshalHBCI(elements[5])
		if err != nil {
			return err
		}
	}
	if len(elements) > 6 && len(elements[6]) > 0 {
		e.InitializationValue = &BinaryDataElement{}
		err = e.InitializationValue.UnmarshalHBCI(elements[6])
		if err != nil {
			return err
		}
	}
	return nil
}
func ( e * EncryptionAlgorithmDataElement ) UnmarshalHBCI ( value [ ] byte ) error { e = & EncryptionAlgorithmDataElement { } elements , err := ExtractElements ( value ) if err != nil { return err } if len ( elements ) < 7 { return fmt . Errorf ( " " ) } e . DataElement = NewDataElementGroup ( encryptionAlgorithmDEG , 5 , e ) e . Usage = & AlphaNumericDataElement { } err = e . Usage . UnmarshalHBCI ( elements [ 0 ] ) if err != nil { return err } e . OperationMode = & AlphaNumericDataElement { } err = e . OperationMode . UnmarshalHBCI ( elements [ 1 ] ) if err != nil { return err } if len ( elements ) > 2 && len ( elements [ 2 ] ) > 0 { e . Algorithm = & AlphaNumericDataElement { } err = e . Algorithm . UnmarshalHBCI ( elements [ 2 ] ) if err != nil { return err } } if len ( elements ) > 3 && len ( elements [ 3 ] ) > 0 { e . Key = & BinaryDataElement { } err = e . Key . UnmarshalHBCI ( elements [ 3 ] ) if err != nil { return err } } if len ( elements ) > 4 && len ( elements [ 4 ] ) > 0 { e . KeyParamID = & AlphaNumericDataElement { } err = e . KeyParamID . UnmarshalHBCI ( elements [ 4 ] ) if err != nil { return err } } if len ( elements ) > 5 && len ( elements [ 5 ] ) > 0 { e . InitializationValueParamID = & AlphaNumericDataElement { } err = e . InitializationValueParamID . UnmarshalHBCI ( elements [ 5 ] ) if err != nil { return err } } if len ( elements ) > 6 && len ( elements [ 6 ] ) > 0 { e . InitializationValue = & BinaryDataElement { } err = e . InitializationValue . UnmarshalHBCI ( elements [ 6 ] ) if err != nil { return err } } return nil }
UnmarshalHBCI unmarshals value into the DataElement
UnmarshalHBCI unmarshals value into the DataElement