/******************************************************************************* * 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.reporting.availability; import java.io.File; import java.io.OutputStream; import java.util.Calendar; import java.util.Date; import org.opennms.reporting.core.svclayer.ReportStoreService; /** * <p>AvailabilityCalculator interface.</p> */ public interface AvailabilityCalculator { /** * <p>calculate</p> * * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract void calculate() throws AvailabilityCalculationException; /** * <p>writeXML</p> * * @return a {@link java.lang.String} object. * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract String writeXML() throws AvailabilityCalculationException; /** * <p>writeXML</p> * * @param outputFileName a {@link java.lang.String} object. * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract void writeXML(String outputFileName) throws AvailabilityCalculationException; /** * <p>writeXML</p> * * @param outputStream a {@link java.io.OutputStream} object. * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract void writeXML(OutputStream outputStream) throws AvailabilityCalculationException; /** * <p>writeLocateableXML</p> * * @param id a {@link java.lang.String} object. * @return a {@link java.lang.String} object. * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract String writeLocateableXML(String id) throws AvailabilityCalculationException; /** * <p>marshal</p> * * @param outputFile a {@link java.io.File} object. * @throws org.opennms.reporting.availability.AvailabilityCalculationException if any. */ public abstract void marshal(File outputFile) throws AvailabilityCalculationException; /** * <p>getLogoURL</p> * * @return a {@link java.lang.String} object. */ public abstract String getLogoURL(); /** * <p>setLogoURL</p> * * @param logoURL a {@link java.lang.String} object. */ public abstract void setLogoURL(String logoURL); /** * <p>getOutputFileName</p> * * @return a {@link java.lang.String} object. */ public abstract String getOutputFileName(); /** * <p>setOutputFileName</p> * * @param outputFileName a {@link java.lang.String} object. */ public abstract void setOutputFileName(String outputFileName); /** * <p>getAuthor</p> * * @return a {@link java.lang.String} object. */ public abstract String getAuthor(); /** * <p>setAuthor</p> * * @param author a {@link java.lang.String} object. */ public abstract void setAuthor(String author); /** * <p>getCategoryName</p> * * @return a {@link java.lang.String} object. */ public abstract String getCategoryName(); /** * <p>setCategoryName</p> * * @param categoryName a {@link java.lang.String} object. */ public abstract void setCategoryName(String categoryName); /** * <p>getMonthFormat</p> * * @return a {@link java.lang.String} object. */ public abstract String getMonthFormat(); /** * <p>setMonthFormat</p> * * @param monthFormat a {@link java.lang.String} object. */ public abstract void setMonthFormat(String monthFormat); /** * <p>getReportFormat</p> * * @return a {@link java.lang.String} object. */ public abstract String getReportFormat(); /** * <p>setReportFormat</p> * * @param reportFormat a {@link java.lang.String} object. */ public abstract void setReportFormat(String reportFormat); /** * <p>getReport</p> * * @return a {@link org.opennms.reporting.availability.Report} object. */ public abstract Report getReport(); /** * <p>setCalendar</p> * * @param calendar a {@link java.util.Calendar} object. */ public abstract void setCalendar(Calendar calendar); /** * <p>getPeriodEndDate</p> * * @return a {@link java.util.Date} object. */ public abstract Date getPeriodEndDate(); /** * <p>setPeriodEndDate</p> * * @param periodEndDate a {@link java.util.Date} object. */ public abstract void setPeriodEndDate(Date periodEndDate); /** * <p>setReportStoreService</p> * * @param reportStoreService a {@link org.opennms.reporting.core.svclayer.ReportStoreService} object. */ public abstract void setReportStoreService( ReportStoreService reportStoreService); /** * <p>getBaseDir</p> * * @return a {@link java.lang.String} object. */ public abstract String getBaseDir(); /** * <p>setBaseDir</p> * * @param baseDir a {@link java.lang.String} object. */ public abstract void setBaseDir(String baseDir); /** * <p>setAvailabilityData</p> * * @param availabilityData a {@link org.opennms.reporting.availability.AvailabilityData} object. */ public abstract void setAvailabilityData(AvailabilityData availabilityData); }