4 * Licensed to Jasig under one or more contributor license
5 * agreements. See the NOTICE file distributed with this work for
6 * additional information regarding copyright ownership.
8 * Jasig licenses this file to you under the Apache License,
9 * Version 2.0 (the "License"); you may not use this file except in
10 * compliance with the License. You may obtain a copy of the License at:
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 * @file CAS/Request/MultiRequestInterface.php
23 * @category Authentication
25 * @author Adam Franco <afranco@middlebury.edu>
26 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
27 * @link https://wiki.jasig.org/display/CASC/phpCAS
31 * This interface defines a class library for performing multiple web requests
32 * in batches. Implementations of this interface may perform requests serially
35 * @class CAS_Request_MultiRequestInterface
36 * @category Authentication
38 * @author Adam Franco <afranco@middlebury.edu>
39 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
40 * @link https://wiki.jasig.org/display/CASC/phpCAS
42 interface CAS_Request_MultiRequestInterface
45 /*********************************************************
47 *********************************************************/
50 * Add a new Request to this batch.
51 * Note, implementations will likely restrict requests to their own concrete
54 * @param CAS_Request_RequestInterface $request request interface
57 * @throws CAS_OutOfSequenceException If called after the Request has been
59 * @throws CAS_InvalidArgumentException If passed a Request of the wrong
62 public function addRequest (CAS_Request_RequestInterface $request);
65 * Retrieve the number of requests added to this batch.
67 * @return number of request elements
69 public function getNumRequests ();
71 /*********************************************************
73 *********************************************************/
76 * Perform the request. After sending, all requests will have their
79 * @return bool TRUE on success, FALSE on failure.
80 * @throws CAS_OutOfSequenceException If called multiple times.
82 public function send ();