View Javadoc

1   /*
2    * Copyright (C) 2007 ETH Zurich
3    *
4    * This file is part of Fosstrak (www.fosstrak.org).
5    *
6    * Fosstrak is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License version 2.1, as published by the Free Software Foundation.
9    *
10   * Fosstrak is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13   * Lesser General Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser General Public
16   * License along with Fosstrak; if not, write to the Free
17   * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18   * Boston, MA  02110-1301  USA
19   */
20  
21  package org.fosstrak.epcis.repository;
22  
23  import java.util.List;
24  
25  import org.fosstrak.epcis.repository.model.EPCISEvent;
26  
27  /**
28   * The EPCIS Capture Interface defines the delivery of EPCIS events from EPCIS
29   * Capturing Applications to an EPCIS Repository. The interface contains only a
30   * single method, <code>capture</code>, which takes a single argument and
31   * returns no results. Implementations of the EPCIS Capture Interface SHALL
32   * accept each element of the argument list that is a valid
33   * <code>EPCISEvent</code> or subtype thereof according to the EPCIS
34   * specification. Implementations MAY accept other types of events through
35   * vendor extension.
36   */
37  public interface EpcisCaptureInterface {
38  
39      /**
40       * The <code>capture</code> operation records one or more EPCIS events, of
41       * any type.
42       * 
43       * @param events
44       *            The event(s) to capture. All relevant information such as the
45       *            event time, EPCs, etc., are contained within each event.
46       *            Exception: the <code>recordTime</code> MAY be omitted.
47       *            Whether the <code>recordTime</code> is omitted or not in the
48       *            input, following the capture operation the
49       *            <code>recordTime</code> of the event as recorded by the
50       *            EPCIS Repository or EPCIS Accessing Application is the time of
51       *            capture.
52       */
53      public void capture(List<EPCISEvent> events);
54  }