org.mule.DefaultMessageCollection Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mule-core Show documentation
Show all versions of mule-core Show documentation
Mule server and core classes
/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule;
import org.mule.api.MuleContext;
import org.mule.api.MuleEvent;
import org.mule.api.MuleMessage;
import org.mule.api.MuleMessageCollection;
import org.mule.api.ThreadSafeAccess;
import org.mule.api.transformer.DataType;
import org.mule.api.transformer.TransformerException;
import org.mule.transformer.types.DataTypeFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* A {@link org.mule.api.MuleMessage} type that manages a collection of MuleMessage Objects.
* Typically this type of message is only used when users explicitly want to work with aggregated or re-sequenced
* collections of messages.
*
* Note that the {@link #getPayload()} for this message will return a {@link java.util.List} of payload objects for
* each of the Mule messages stored in this collection.
*
* Calling {@link org.mule.api.MuleMessage#getPayload(Class)} will attempt to transform all payloads and return a {@link java.util.List}.
*
* The methods {@link org.mule.api.MuleMessage#getPayloadAsString()} and {@link org.mule.api.MuleMessage#getPayloadAsBytes()} are unsupported, instead users should
* call {@link org.mule.api.MuleMessage#getPayload(Class)} and pass in the return type byte[].class
or String.class
.
*/
public class DefaultMessageCollection extends DefaultMuleMessage implements MuleMessageCollection
{
private List messageList = new CopyOnWriteArrayList();
private boolean invalidatedPayload;
public DefaultMessageCollection(MuleContext muleContext)
{
//This will be a collection of payloads
super(new CopyOnWriteArrayList