/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.coordinator.client.model; /** * ConfigVersion is only published as a node level object in UpgradeService * According to CoordinatorClassInfo's requirement, only attribute is necessary. * To comply with other similar classes, we gave it a dummy id and kind. * "global", "upgradeconfigversion" */ public class ConfigVersion implements CoordinatorSerializable { private static final String ENCODING_INVALID = ""; private String _configVersion = null; public ConfigVersion() { } public ConfigVersion(String configVersion) { _configVersion = configVersion; } public String getConfigVersion() { return _configVersion; } @Override public String toString() { return "configVersion=" + _configVersion; } @Override public String encodeAsString() { return _configVersion != null ? _configVersion : ENCODING_INVALID; } @Override public ConfigVersion decodeFromString(String infoStr) { if (infoStr == null) { return null; } else if (ENCODING_INVALID.equals(infoStr)) { return new ConfigVersion(); } else { return new ConfigVersion(infoStr); } } @Override public CoordinatorClassInfo getCoordinatorClassInfo() { return new CoordinatorClassInfo("global", "upgradeconfigversion", "configVersion"); } }