/**
* Abiquo community edition
* cloud management application for hybrid clouds
* Copyright (C) 2008-2010 - Abiquo Holdings S.L.
*
* This application is free software; you can redistribute it and/or
* modify it under the terms of the GNU LESSER GENERAL PUBLIC
* LICENSE as published by the Free Software Foundation under
* version 3 of the License
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* LESSER GENERAL PUBLIC LICENSE v.3 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
*
*/
package com.abiquo.server.core.infrastructure.network;
/**
* Pojo class to work with to configure Virtual Machines. It is not a POJO nor a Dto object, only a
* return object for the 'Service' layer.
*
* @author jdevesa@abiquo.com
*/
public class VMNetworkConfiguration
{
public VMNetworkConfiguration()
{
}
private Integer id;
private String gateway;
private String primaryDNS;
private String secondaryDNS;
private String suffixDNS;
private Boolean used;
public Integer getId()
{
return this.id;
}
public void setId(final Integer id)
{
this.id = id;
}
public String getGateway()
{
return gateway;
}
public void setGateway(final String gateway)
{
this.gateway = gateway;
}
public String getPrimaryDNS()
{
return primaryDNS;
}
public void setPrimaryDNS(final String primaryDNS)
{
this.primaryDNS = primaryDNS;
}
public String getSecondaryDNS()
{
return secondaryDNS;
}
public void setSecondaryDNS(final String secondaryDNS)
{
this.secondaryDNS = secondaryDNS;
}
public String getSuffixDNS()
{
return suffixDNS;
}
public void setSuffixDNS(final String suffixDNS)
{
this.suffixDNS = suffixDNS;
}
public Boolean getUsed()
{
return used;
}
public void setUsed(final Boolean used)
{
this.used = used;
}
// HASHCODE AND EQUALS TO USE 'CONTAINS' OBJECT.
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + (gateway == null ? 0 : gateway.hashCode());
result = prime * result + (primaryDNS == null ? 0 : primaryDNS.hashCode());
result = prime * result + (secondaryDNS == null ? 0 : secondaryDNS.hashCode());
result = prime * result + (suffixDNS == null ? 0 : suffixDNS.hashCode());
return result;
}
@Override
public boolean equals(final Object obj)
{
if (this == obj)
{
return true;
}
if (obj == null)
{
return false;
}
if (getClass() != obj.getClass())
{
return false;
}
VMNetworkConfiguration other = (VMNetworkConfiguration) obj;
if (gateway == null)
{
if (other.gateway != null)
{
return false;
}
}
else if (!gateway.equals(other.gateway))
{
return false;
}
if (primaryDNS == null)
{
if (other.primaryDNS != null)
{
return false;
}
}
else if (!primaryDNS.equals(other.primaryDNS))
{
return false;
}
if (secondaryDNS == null)
{
if (other.secondaryDNS != null)
{
return false;
}
}
else if (!secondaryDNS.equals(other.secondaryDNS))
{
return false;
}
if (suffixDNS == null)
{
if (other.suffixDNS != null)
{
return false;
}
}
else if (!suffixDNS.equals(other.suffixDNS))
{
return false;
}
return true;
}
}