001package com.pusher.rest.data;
002
003import com.pusher.rest.util.Prerequisites;
004
005/**
006 * POJO for JSON encoding of trigger batch events.
007 */
008public class Event {
009
010    private final String channel;
011    private final String name;
012    private final Object data;
013    private final String socketId;
014
015    public Event(final String channel, final String eventName, final Object data) {
016        this(channel, eventName, data, null);
017    }
018
019    public Event(final String channel, final String eventName, final Object data, final String socketId) {
020        Prerequisites.nonNull("channel", channel);
021        Prerequisites.nonNull("eventName", eventName);
022        Prerequisites.nonNull("data", data);
023
024        this.channel = channel;
025        this.name = eventName;
026        this.data = data;
027        this.socketId = socketId;
028    }
029
030    public String getChannel() {
031        return channel;
032    }
033
034    public String getName() {
035        return name;
036    }
037
038    public Object getData() {
039        return data;
040    }
041
042    public String getSocketId() {
043        return socketId;
044    }
045}