/**
* Copyright 2013 Tommi S.E. Laukkanen
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.bubblecloud.ilves.site;
/**
* NavigationDescriptor information class.
* @author Tommi S.E. Laukkanen
*/
public final class NavigationDescriptor {
/** The navigation name. */
private String name;
/** The navigation development version. */
private NavigationVersion developmentVersion;
/** The navigation test version. */
private NavigationVersion testVersion;
/** The navigation production version. */
private NavigationVersion productionVersion;
/**
* @param name The navigation name.
* @param developmentVersion The navigation development version.
* @param testVersion The navigation test version.
* @param productionVersion The navigation production version.
*/
public NavigationDescriptor(final String name, final NavigationVersion developmentVersion,
final NavigationVersion testVersion, final NavigationVersion productionVersion) {
super();
this.name = name;
this.developmentVersion = developmentVersion;
this.testVersion = testVersion;
this.productionVersion = productionVersion;
}
/**
* Default constructor for cloning.
*/
public NavigationDescriptor() {
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @return the developmentVersion
*/
public NavigationVersion getDevelopmentVersion() {
return developmentVersion;
}
/**
* @param developmentVersion the developmentVersion to set
*/
public void setDevelopmentVersion(final NavigationVersion developmentVersion) {
this.developmentVersion = developmentVersion;
}
/**
* @return the testVersion
*/
public NavigationVersion getTestVersion() {
return testVersion;
}
/**
* @param testVersion the testVersion to set
*/
public void setTestVersion(final NavigationVersion testVersion) {
this.testVersion = testVersion;
}
/**
* @return the productionVersion
*/
public NavigationVersion getProductionVersion() {
return productionVersion;
}
/**
* @param productionVersion the productionVersion to set
*/
public void setProductionVersion(final NavigationVersion productionVersion) {
this.productionVersion = productionVersion;
}
/**
* @return clone
*/
public NavigationDescriptor clone() {
final NavigationDescriptor clone = new NavigationDescriptor();
clone.name = name;
if (developmentVersion != null) {
clone.developmentVersion = developmentVersion.clone();
}
if (testVersion != null) {
clone.testVersion = testVersion.clone();
}
if (productionVersion != null) {
clone.productionVersion = productionVersion.clone();
}
return clone;
}
}