001 /*
002 * Copyright 2012 UnboundID Corp.
003 *
004 * This program is free software; you can redistribute it and/or modify
005 * it under the terms of the GNU General Public License (GPLv2 only)
006 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only)
007 * as published by the Free Software Foundation.
008 *
009 * This program is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012 * GNU General Public License for more details.
013 *
014 * You should have received a copy of the GNU General Public License
015 * along with this program; if not, see <http://www.gnu.org/licenses>.
016 */
017
018 package com.unboundid.scim.sdk;
019
020 import com.unboundid.scim.marshal.Marshaller;
021
022 import java.io.OutputStream;
023 import java.util.ArrayList;
024 import java.util.Iterator;
025 import java.util.List;
026
027
028
029 /**
030 * This class represents the response to a bulk request.
031 */
032 public class BulkResponse implements SCIMResponse, Iterable<BulkOperation>
033 {
034 private final List<BulkOperation> operations;
035
036
037
038 /**
039 * Create a new bulk response.
040 *
041 * @param operations The operations responses.
042 */
043 public BulkResponse(final List<BulkOperation> operations)
044 {
045 this.operations = new ArrayList<BulkOperation>(operations);
046 }
047
048
049
050 /**
051 * {@inheritDoc}
052 */
053 public void marshal(final Marshaller marshaller,
054 final OutputStream outputStream)
055 throws Exception
056 {
057 marshaller.bulkMarshal(outputStream, -1, operations);
058 }
059
060
061
062 /**
063 * {@inheritDoc}
064 */
065 public Iterator<BulkOperation> iterator()
066 {
067 return operations.iterator();
068 }
069 }