/******************************************************************************* * This file is part of OpenNMS(R). * * Copyright (C) 2010-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/ *******************************************************************************/ package org.opennms.api.reporting.parameter; import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.List; import org.opennms.api.reporting.ReportFormat; import org.opennms.api.reporting.ReportMode; /** * <p>ReportParameters class.</p> * * @author ranger * @version $Id: $ */ public class ReportParameters implements Serializable { private static final long serialVersionUID = -3848794546173077375L; protected String m_reportId; protected ReportFormat m_format; protected String m_displayName; protected List <ReportDateParm> m_dateParms; protected List <ReportStringParm> m_stringParms; protected List <ReportIntParm> m_intParms; protected List<ReportFloatParm> m_floatParms; protected List<ReportDoubleParm> m_doubleParms; /** * <p>Constructor for ReportParameters.</p> */ public ReportParameters() { super(); } /** * <p>getDateParms</p> * * @return a {@link java.util.List} object. */ public List<ReportDateParm> getDateParms() { return m_dateParms; } /** * <p>setDateParms</p> * * @param dateParms a {@link java.util.List} object. */ public void setDateParms(List<ReportDateParm> dateParms) { m_dateParms = dateParms; } /** * <p>getStringParms</p> * * @return a {@link java.util.List} object. */ public List<ReportStringParm> getStringParms() { return m_stringParms; } /** * <p>setStringParms</p> * * @param strings a {@link java.util.List} object. */ public void setStringParms(List<ReportStringParm> strings) { m_stringParms = strings; } /** * <p>getIntParms</p> * * @return a {@link java.util.List} object. */ public List<ReportIntParm> getIntParms() { return m_intParms; } /** * <p>setIntParms</p> * * @param ints a {@link java.util.List} object. */ public void setIntParms(List<ReportIntParm> ints) { m_intParms = ints; } /** * <p>getFloatParms</p> * * @return a {@link java.util.List} object. */ public List<ReportFloatParm> getFloatParms() { return m_floatParms; } /** * <p>setFloatParms</p> * * @param ints a {@link java.util.List} object. */ public void setFloatParms(List<ReportFloatParm> floats) { m_floatParms = floats; } /** * <p>getDoubleParms</p> * * @return a {@link java.util.List} object. */ public List<ReportDoubleParm> getDoubleParms() { return m_doubleParms; } /** * <p>setDoubleParms</p> * * @param ints a {@link java.util.List} object. */ public void setDoubleParms(List<ReportDoubleParm> doubleParms) { m_doubleParms = doubleParms; } /** * <p>setReportId</p> * * @param reportId a {@link java.lang.String} object. */ public void setReportId(String reportId) { m_reportId = reportId; } /** * <p>getReportId</p> * * @return a {@link java.lang.String} object. */ public String getReportId() { return m_reportId; } /** * <p>setDisplayName</p> * * @param displayName a {@link java.lang.String} object. */ public void setDisplayName(String displayName) { m_displayName = displayName; } /** * <p>getDisplayName</p> * * @return a {@link java.lang.String} object. */ public String getDisplayName() { return m_displayName; } /** * <p>setFormat</p> * * @param format a {@link org.opennms.api.reporting.ReportFormat} object. */ public void setFormat(ReportFormat format) { m_format = format; } /** * <p>getFormat</p> * * @return a {@link org.opennms.api.reporting.ReportFormat} object. */ public ReportFormat getFormat() { return m_format; } /** * <p>getReportParms</p> * * * @param format a {@link org.opennms.api.reporting.ReportMode} object. * * @return a {@link java.util.HashMap} object. */ public HashMap<String, Object> getReportParms(ReportMode mode) { HashMap <String,Object>parmMap = new HashMap<String, Object>(); // Add all the strings from the report if (m_stringParms != null ) { Iterator<ReportStringParm>stringIter = m_stringParms.iterator(); while (stringIter.hasNext()) { ReportStringParm parm = stringIter.next(); parmMap.put(parm.getName(), parm.getValue()); } } // Add all the dates from the report if (m_dateParms != null) { Iterator<ReportDateParm>dateIter = m_dateParms.iterator(); while (dateIter.hasNext()) { ReportDateParm parm = dateIter.next(); parmMap.put(parm.getName(), parm.getValue(mode)); } } // Add all the integers from the report if (m_intParms != null) { Iterator<ReportIntParm>intIter = m_intParms.iterator(); while (intIter.hasNext()) { ReportIntParm parm = intIter.next(); parmMap.put(parm.getName(), parm.getValue()); } } // Add all the floats from the report if (m_floatParms != null) { Iterator<ReportFloatParm>floatIter = m_floatParms.iterator(); while (floatIter.hasNext()) { ReportFloatParm parm = floatIter.next(); parmMap.put(parm.getName(), parm.getValue()); } } // Add all the double parameters from the report if (m_doubleParms != null) { Iterator<ReportDoubleParm>doubleIter = m_doubleParms.iterator(); while (doubleIter.hasNext()) { ReportDoubleParm parm = doubleIter.next(); parmMap.put(parm.getName(), parm.getValue()); } } return parmMap; } /** * <p>getReportParms</p> * * @return a {@link java.util.HashMap} object. */ public HashMap<String, Object> getReportParms() { return getReportParms(ReportMode.IMMEDIATE); } }