* @throws TransformerException
*/
public String toXml()
throws ParserConfigurationException, FactoryConfigurationError, TransformerException
{
XMLBuilder builder = XMLBuilder.create("LifecycleConfiguration");
for (Rule rule: this.getRules()) {
XMLBuilder b = builder.elem("Rule");
if (rule.id != null && rule.id.length() > 0) {
b.elem("ID").t(rule.id);
}
b.elem("Prefix").t(rule.prefix).up()
.elem("Status").t(rule.enabled ? "Enabled" : "Disabled").up();
if (rule.transition != null) {
XMLBuilder tBuilder = b.elem("Transition");
if (rule.transition.date != null) {
tBuilder.elem("Date").t(ServiceUtils.formatIso8601Date(rule.transition.date));
}
if (rule.transition.days != null) {
tBuilder.elem("Days").t(Integer.toString(rule.transition.days));
}
tBuilder.elem("StorageClass").t(rule.transition.storageClass);
}
if (rule.expiration != null) {
XMLBuilder eBuilder = b.elem("Expiration");
if (rule.expiration.date != null) {
eBuilder.elem("Date").t(ServiceUtils.formatIso8601Date(rule.expiration.date));
}
if (rule.expiration.days != null) {
eBuilder.elem("Days").t(Integer.toString(rule.expiration.days));
}
}
}
return builder.asString();
}