toXml method

XmlNode toXml()

Implementation

XmlNode toXml() {
  final builder = XmlBuilder();
  builder.element(
    'Rule',
    nest: () {
      if (abortIncompleteMultipartUpload != null) {
        builder.element(
          'AbortIncompleteMultipartUpload',
          nest: (abortIncompleteMultipartUpload!.toXml() as XmlDocument)
              .rootElement
              .children,
        );
      }

      if (expiration != null) {
        builder.element(
          'Expiration',
          nest: (expiration!.toXml() as XmlDocument).rootElement.children,
        );
      }

      if (iD != null) {
        builder.element('ID', nest: iD);
      }

      if (noncurrentVersionExpiration != null) {
        builder.element(
          'NoncurrentVersionExpiration',
          nest: (noncurrentVersionExpiration!.toXml() as XmlDocument)
              .rootElement
              .children,
        );
      }

      if (noncurrentVersionTransition != null) {
        builder.element(
          'NoncurrentVersionTransition',
          nest: (noncurrentVersionTransition!.toXml() as XmlDocument)
              .rootElement
              .children,
        );
      }

      if (prefix != null) {
        builder.element('Prefix', nest: prefix);
      }

      if (status != null) {
        builder.element('Status', nest: status);
      }

      if (transition != null) {
        builder.element(
          'Transition',
          nest: (transition!.toXml() as XmlDocument).rootElement.children,
        );
      }
    },
  );
  return builder.buildDocument();
}