/******************************************************************************* * Copyright (c) Feb 20, 2012 Zend Technologies Ltd. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package org.zend.sdklib.monitor; import java.io.File; import java.util.List; import org.zend.webapi.core.WebApiException; import org.zend.webapi.core.connection.data.EventsGroupDetails; import org.zend.webapi.core.connection.data.Issue; import org.zend.webapi.core.connection.data.IssueDetails; import org.zend.webapi.core.connection.data.values.IssueStatus; /** * Wrapper for {@link Issue} class. Provides some additional method to retrieve * issue details. * * @author Wojciech Galanciak, 2012 * */ public interface IZendIssue { /** * Returns {@link Issue} instance. * * @return issue */ Issue getIssue(); /** * Provides issue details. * * @return issue details * @throws WebApiException */ IssueDetails getDetails() throws WebApiException; /** * Changes issue status. * * @param status * new status value * @return <code>true</code> if status was changed successfully; otherwise * return <code>false</code> */ boolean changeStatus(IssueStatus status); /** * Provides list of details for each events group connected with this issue * (based on {@link IssueDetails#getEventsGroups()}. * * @return group details * @throws WebApiException */ List<EventsGroupDetails> getGroupDetails() throws WebApiException; /** * Exports list of issue files. * * @return list of exported issues */ List<File> export(); /** * Exports list of issue files. * * @param destination * location where exported issues should be stored * @return list of exported issues */ List<File> export(File destination); }