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

com.bronto.api.request.MessageReadRequest Maven / Gradle / Ivy

There is a newer version: 1.0.9
Show newest version
package com.bronto.api.request;

import com.bronto.api.model.BrontoSoapPortType;
import com.bronto.api.model.SessionHeader;

import com.bronto.api.model.MessageFilter;
import com.bronto.api.model.MessageObject;
import com.bronto.api.model.ReadMessages;

import java.util.List;

public class MessageReadRequest extends AbstractMessageReadRequest {
    public MessageReadRequest(MessageFilter filter, int pageNumber, int pageSize) {
        super(filter, new ReadMessages(), pageNumber, pageSize);
        withIncludeContent(false);
    }
    
    public MessageReadRequest(MessageFilter filter, int pageNumber) {
    	this(filter, pageNumber, getDefaultPageSize());
    }

    public MessageReadRequest(MessageFilter filter) {
        this(filter, 1);
    }

    public MessageReadRequest() {
        this(new MessageFilter());
    }

    @Override
    public MessageReadRequest withIncludeContent(boolean includeContent) {
        request.setIncludeContent(includeContent);
        return this;
    }

    @Override
    public MessageReadRequest copy() {
        return new MessageReadRequest(getFilter(), getCurrentPage(), getPageSize())
            .withIncludeContent(request.isIncludeContent());
    }

    @Override
    public List invoke(BrontoSoapPortType service, SessionHeader header) throws Exception {
        request.setFilter(getFilter());
        request.setPageNumber(getCurrentPage());
        if (!isDefaultPageSize()) {
        	request.setPageSize(getPageSize());
        }
        return service.readMessages(request, header).getReturn();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy