toXml method

XmlNode toXml()

Implementation

XmlNode toXml() {
  final builder = XmlBuilder();
  builder.element(
    'LifecycleRule',
    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 (filter != null) {
        builder.element(
          'Filter',
          nest: (filter!.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 (noncurrentVersionTransitions != null) {
        builder.element(
          'NoncurrentVersionTransitions',
          nest: (noncurrentVersionTransitions!.toXml() as XmlDocument)
              .rootElement
              .children,
        );
      }

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

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

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