/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.config.persist.storage.file.xml.model; import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder; import javax.xml.bind.annotation.XmlAnyElement; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import java.util.SortedSet; @XmlRootElement(name = "snapshot") public class ConfigSnapshot { private String configSnapshot; private SortedSet capabilities; ConfigSnapshot(String configXml, SortedSet capabilities) { this.configSnapshot = configXml; this.capabilities = capabilities; } public ConfigSnapshot() { } public static ConfigSnapshot fromConfigSnapshot(ConfigSnapshotHolder cfg) { return new ConfigSnapshot(cfg.getConfigSnapshot(), cfg.getCapabilities()); } @XmlAnyElement(SnapshotHandler.class) public String getConfigSnapshot() { return configSnapshot; } public void setConfigSnapshot(String configSnapshot) { this.configSnapshot = configSnapshot; } @XmlElement(name = "capability") @XmlElementWrapper(name = "required-capabilities") public SortedSet getCapabilities() { return capabilities; } public void setCapabilities(SortedSet capabilities) { this.capabilities = capabilities; } @Override public String toString() { final StringBuffer sb = new StringBuffer("ConfigSnapshot{"); sb.append("configSnapshot='").append(configSnapshot).append('\''); sb.append(", capabilities=").append(capabilities); sb.append('}'); return sb.toString(); } }