/** * * Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wso2.carbon.databridge.commons; import java.util.Arrays; import java.util.Map; public class Event { private String streamId; private long timeStamp; private Object[] metaData; private Object[] correlationData; private Object[] payloadData; private Map<String, String> arbitraryDataMap = null; public Event() { } public Event(String streamId, long timeStamp, Object[] metaDataArray, Object[] correlationDataArray, Object[] payloadDataArray) { this.streamId = streamId; this.timeStamp = timeStamp; this.metaData = metaDataArray; this.correlationData = correlationDataArray; this.payloadData = payloadDataArray; } public Event(String streamId, long timeStamp, Object[] metaDataArray, Object[] correlationDataArray, Object[] payloadDataArray, Map<String, String> arbitraryDataMap) { this.streamId = streamId; this.timeStamp = timeStamp; this.metaData = metaDataArray; this.correlationData = correlationDataArray; this.payloadData = payloadDataArray; this.arbitraryDataMap = arbitraryDataMap; } public String getStreamId() { return streamId; } public void setStreamId(String streamId) { this.streamId = streamId; } public long getTimeStamp() { return timeStamp; } public void setTimeStamp(long timeStamp) { this.timeStamp = timeStamp; } public Object[] getMetaData() { return metaData; } public void setMetaData(Object[] metaData) { this.metaData = metaData; } public Object[] getCorrelationData() { return correlationData; } public void setCorrelationData(Object[] correlationData) { this.correlationData = correlationData; } public Object[] getPayloadData() { return payloadData; } public void setPayloadData(Object[] payloadData) { this.payloadData = payloadData; } public Map<String, String> getArbitraryDataMap() { return arbitraryDataMap; } public void setArbitraryDataMap(Map<String, String> arbitraryDataMap) { this.arbitraryDataMap = arbitraryDataMap; } public void setData(String key, Object[] dataObjArray) { if (key.equals("metaData")) { metaData = dataObjArray; } else if (key.equals("correlationData")) { correlationData = dataObjArray; } else if (key.equals("payloadData")) { payloadData = dataObjArray; } } @Override public String toString() { return "\nEvent{\n" + " " + EBCommonsConstants.STREAM_ID + "='" + streamId + "\',\n" + " " + EBCommonsConstants.TIME_STAMP + "=" + timeStamp + ",\n" + " " + EBCommonsConstants.META_DATA + "=" + (metaData == null ? null : Arrays.asList(metaData)) + ",\n" + " " + EBCommonsConstants.CORRELATION_DATA + "=" + (correlationData == null ? null : Arrays.asList(correlationData)) + ",\n" + " " + EBCommonsConstants.PAYLOAD_DATA + "=" + (payloadData == null ? null : Arrays.asList(payloadData)) + ",\n" + " " + EBCommonsConstants.ARBITRARY_DATA_MAP + "=" + arbitraryDataMap + ",\n" + "}\n"; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Event)) return false; Event event = (Event) o; if (timeStamp != event.timeStamp) return false; if (arbitraryDataMap != null ? !arbitraryDataMap.equals(event.arbitraryDataMap) : event.arbitraryDataMap != null) return false; if (!Arrays.deepEquals(correlationData, event.correlationData)) return false; if (!Arrays.deepEquals(metaData, event.metaData)) return false; if (!Arrays.deepEquals(payloadData, event.payloadData)) return false; if (streamId != null ? !streamId.equals(event.streamId) : event.streamId != null) return false; return true; } @Override public int hashCode() { int result = streamId != null ? streamId.hashCode() : 0; result = 31 * result + (int) (timeStamp ^ (timeStamp >>> 32)); result = 31 * result + (metaData != null ? Arrays.hashCode(metaData) : 0); result = 31 * result + (correlationData != null ? Arrays.hashCode(correlationData) : 0); result = 31 * result + (payloadData != null ? Arrays.hashCode(payloadData) : 0); result = 31 * result + (arbitraryDataMap != null ? arbitraryDataMap.hashCode() : 0); return result; } }