All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.tidalwave.bluebill.mobile.observation.ui.ObservationsView Maven / Gradle / Ivy

The newest version!
/***********************************************************************************************************************
 *
 * blueBill Mobile - Android - open source birding
 * Copyright (C) 2009-2011 by Tidalwave s.a.s. (http://www.tidalwave.it)
 *
 ***********************************************************************************************************************
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 *
 ***********************************************************************************************************************
 *
 * WWW: http://bluebill.tidalwave.it/mobile
 * SCM: https://java.net/hg/bluebill-mobile~android-src
 *
 **********************************************************************************************************************/
package it.tidalwave.bluebill.mobile.observation.ui;

import javax.annotation.Nonnull;
import it.tidalwave.util.thread.annotation.ThreadConfined;
import it.tidalwave.util.ui.UserNotification;
import it.tidalwave.util.ui.UserNotificationWithFeedback;
import static it.tidalwave.util.thread.ThreadType.*;

/***********************************************************************************************************************
 *
 * Defines the behaviour of the UI for managing Observations.
 * 
 * @stereotype View
 *
 * @author  Fabrizio Giudici
 * @version $Id$
 *
 **********************************************************************************************************************/
public interface ObservationsView
  {
    /*******************************************************************************************************************
     *
     * Brings in evidence the latest observation.
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void highlightLatestObservation();

    /*******************************************************************************************************************
     *
     * Sets the footer text.
     *
     * @param footer  the text
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void setFooterText (@Nonnull String footer);

    /*******************************************************************************************************************
     *
     * Asks for the export options.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void askForExportOptions (@Nonnull ReportUserNotificationWithFeedback notification);

    /*******************************************************************************************************************
     *
     * Asks for the share options.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void askForShareOptions (@Nonnull ReportUserNotificationWithFeedback notification);

    /*******************************************************************************************************************
     *
     * Notifies that a new observation has been committed.
     * 
     * @param notification  the notification 
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyNewObservationCommitted (@Nonnull UserNotification notification);

    /*******************************************************************************************************************
     *
     * Notifies that a new observation has been cancelled..
     * 
     * @param notification  the notification 
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyNewObservationCancelled (@Nonnull UserNotification notification);

    /*******************************************************************************************************************
     *
     * Notifies that all observations have been deleted.
     * 
     * @param notification  the notification 
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyAllObservationsDeleted (@Nonnull UserNotification notification);
    
    /*******************************************************************************************************************
     *
     * Notifies that an observation item has been deleted.
     * 
     * @param notification  the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyObservationItemDeleted (@Nonnull UserNotification notification);
    
    /*******************************************************************************************************************
     *
     * Notifies that the export has been completed.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyExportCompleted (@Nonnull UserNotificationWithFeedback notification);
    
    /*******************************************************************************************************************
     *
     * Notifies that the export has failed.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void notifyExportFailed (@Nonnull UserNotificationWithFeedback notification);
    
    /*******************************************************************************************************************
     *
     * Asks for confirmation to delete an observation item.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void confirmToDeleteAnObservationItem (@Nonnull UserNotificationWithFeedback notification);

    /*******************************************************************************************************************
     *
     * Asks for confirmation to delete all the observations.
     * 
     * @param notification   the notification
     *
     ******************************************************************************************************************/
    @ThreadConfined(type=ANY)
    public void confirmToDeleteAllObservations (@Nonnull UserNotificationWithFeedback notification);

    @ThreadConfined(type=ANY)
    public void notifyObservationDateTimeUpdated (@Nonnull UserNotification notification);
  }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy