/******************************************************************************* * This file is part of OpenNMS(R). * * Copyright (C) 2009-2011 The OpenNMS Group, Inc. * OpenNMS(R) is Copyright (C) 1999-2011 The OpenNMS Group, Inc. * * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc. * * OpenNMS(R) is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * OpenNMS(R) 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OpenNMS(R). If not, see: * http://www.gnu.org/licenses/ * * For more information contact: * OpenNMS(R) Licensing <license@opennms.org> * http://www.opennms.org/ * http://www.opennms.com/ *******************************************************************************/ // // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.0.3-b01-fcs // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2009.01.29 at 01:15:48 PM EST // package org.opennms.netmgt.provision.persist.requisition; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.apache.commons.lang.builder.ToStringBuilder; import org.opennms.core.utils.InetAddressUtils; import org.opennms.netmgt.model.PrimaryType; import org.opennms.netmgt.provision.persist.PrimaryTypeAdapter; /** * <p>RequisitionInterface class.</p> */ @XmlAccessorType(XmlAccessType.NONE) @XmlType(name="", propOrder = { "m_monitoredServices", "m_categories" }) @XmlRootElement(name = "interface") public class RequisitionInterface implements Comparable<RequisitionInterface> { //TODO Change these to be sets so that we don't have to verify duplicates in the lists @XmlElement(name="monitored-service") protected List<RequisitionMonitoredService> m_monitoredServices = new ArrayList<RequisitionMonitoredService>(); @XmlElement(name="category") protected List<RequisitionCategory> m_categories = new ArrayList<RequisitionCategory>(); @XmlAttribute(name="descr") protected String m_description; @XmlAttribute(name="ip-addr", required=true) protected String m_ipAddress; @XmlAttribute(name="managed") protected Boolean m_isManaged; // annotated on the class, for some compatibility/initialization protected PrimaryType m_snmpPrimary; @XmlAttribute(name="status") protected Integer m_status; /** * <p>getMonitoredServiceCount</p> * * @return a int. */ @XmlTransient public int getMonitoredServiceCount() { return (m_monitoredServices == null) ? 0 : m_monitoredServices.size(); } /* backwards-compat with ModelImport */ /** * <p>getMonitoredService</p> * * @return an array of {@link org.opennms.netmgt.provision.persist.requisition.RequisitionMonitoredService} objects. */ @XmlTransient public RequisitionMonitoredService[] getMonitoredService() { return getMonitoredServices().toArray(new RequisitionMonitoredService[] {}); } /** * <p>getMonitoredServices</p> * * @return a {@link java.util.List} object. */ public List<RequisitionMonitoredService> getMonitoredServices() { if (m_monitoredServices == null) { m_monitoredServices = new ArrayList<RequisitionMonitoredService>(); } return m_monitoredServices; } /** * <p>setMonitoredServices</p> * * @param services a {@link java.util.List} object. */ public void setMonitoredServices(List<RequisitionMonitoredService> services) { m_monitoredServices = services; } /** * <p>getMonitoredService</p> * * @param service a {@link java.lang.String} object. * @return a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionMonitoredService} object. */ public RequisitionMonitoredService getMonitoredService(String service) { if (m_monitoredServices != null) { for (RequisitionMonitoredService svc : m_monitoredServices) { if (svc.getServiceName().equals(service)) { return svc; } } } return null; } /** * <p>deleteMonitoredService</p> * * @param service a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionMonitoredService} object. */ public void deleteMonitoredService(RequisitionMonitoredService service) { m_monitoredServices.remove(service); } /** * <p>deleteMonitoredService</p> * * @param service a {@link java.lang.String} object. */ public void deleteMonitoredService(String service) { if (m_monitoredServices != null) { Iterator<RequisitionMonitoredService> i = m_monitoredServices.iterator(); while (i.hasNext()) { RequisitionMonitoredService svc = i.next(); if (svc.getServiceName().equals(service)) { i.remove(); break; } } } } /** * <p>insertMonitoredService</p> * * @param service a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionMonitoredService} object. */ public void insertMonitoredService(RequisitionMonitoredService service) { Iterator<RequisitionMonitoredService> iterator = m_monitoredServices.iterator(); while (iterator.hasNext()) { RequisitionMonitoredService existingService = iterator.next(); if (existingService.getServiceName().equals(service.getServiceName())) { iterator.remove(); } } m_monitoredServices.add(0, service); } /** * <p>putMonitoredService</p> * * @param service a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionMonitoredService} object. */ public void putMonitoredService(RequisitionMonitoredService service) { Iterator<RequisitionMonitoredService> iterator = m_monitoredServices.iterator(); while (iterator.hasNext()) { RequisitionMonitoredService existingService = iterator.next(); if (existingService.getServiceName().equals(service.getServiceName())) { iterator.remove(); } } m_monitoredServices.add(service); } /** * <p>getCategories</p> * * @return a {@link java.util.List} object. */ public List<RequisitionCategory> getCategories() { if (m_categories == null) { m_categories = new ArrayList<RequisitionCategory>(); } return m_categories; } /** * <p>setCategories</p> * * @param categories a {@link java.util.List} object. */ public void setCategories(List<RequisitionCategory> categories) { m_categories = categories; } /** * <p>getCategory</p> * * @param category a {@link java.lang.String} object. * @return a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionCategory} object. */ public RequisitionCategory getCategory(String category) { if (m_categories != null) { for (RequisitionCategory cat : m_categories) { if (cat.getName().equals(category)) { return cat; } } } return null; } /** * <p>deleteCategory</p> * * @param category a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionCategory} object. */ public void deleteCategory(RequisitionCategory category) { m_categories.remove(category); } /** * <p>deleteCategory</p> * * @param category a {@link java.lang.String} object. */ public void deleteCategory(String category) { if (m_categories != null) { Iterator<RequisitionCategory> i = m_categories.iterator(); while (i.hasNext()) { RequisitionCategory cat = i.next(); if (cat.getName().equals(category)) { i.remove(); break; } } } } /** * <p>getDescr</p> * * @return a {@link java.lang.String} object. */ public String getDescr() { return m_description; } /** * <p>setDescr</p> * * @param value a {@link java.lang.String} object. */ public void setDescr(String value) { m_description = value; } /** * <p>getIpAddr</p> * * @return a {@link java.lang.String} object. */ public String getIpAddr() { return m_ipAddress; } /** * <p>setIpAddr</p> * * @param value a {@link java.lang.String} object. */ public void setIpAddr(String value) { try { m_ipAddress = InetAddressUtils.toIpAddrString(InetAddressUtils.getInetAddress(value)); } catch (Throwable e) { throw new IllegalArgumentException("Invalid IP address specified", e); } } /** * <p>isManaged</p> * * @return a boolean. */ public boolean isManaged() { if (m_isManaged == null) { return true; } else { return m_isManaged; } } /** * <p>setManaged</p> * * @param value a {@link java.lang.Boolean} object. */ public void setManaged(Boolean value) { m_isManaged = value; } /** * <p>getSnmpPrimary</p> * * @return a {@link java.lang.String} object. */ @XmlAttribute(name="snmp-primary") @XmlJavaTypeAdapter(PrimaryTypeAdapter.class) public PrimaryType getSnmpPrimary() { return m_snmpPrimary; } /** * <p>setSnmpPrimary</p> * * @param value a {@link java.lang.String} object. */ public void setSnmpPrimary(final PrimaryType value) { m_snmpPrimary = value; } /** * <p>getStatus</p> * * @return a int. */ public int getStatus() { if (m_status == null) { return 1; } else { return m_status; } } /** * <p>setStatus</p> * * @param value a {@link java.lang.Integer} object. */ public void setStatus(Integer value) { m_status = value; } @Override public boolean equals(Object o) { if (o instanceof RequisitionInterface) { return this.compareTo((RequisitionInterface)o) == 0; } else return false; } public int compareTo(RequisitionInterface o) { return this.m_ipAddress.compareTo(o.getIpAddr()); } public String toString() { return new ToStringBuilder(this) .append("monitored-services", m_monitoredServices) .append("categories", m_categories) .append("description", m_description) .append("ip-address", m_ipAddress) .append("is-managed", m_isManaged) .append("snmp-primary", m_snmpPrimary) .append("status", m_status) .toString(); } }