001package com.dpillay.tools.tail4j.model;
002
003public class TailEvent<T> {
004        private TailContents<T> tailContents = null;
005
006        public TailEvent(TailContents<T> tailContents) {
007                super();
008                this.tailContents = tailContents;
009        }
010
011        public TailContents<T> getTailContents() {
012                return tailContents;
013        }
014
015        @Override
016        public int hashCode() {
017                final int prime = 31;
018                int result = 1;
019                result = prime * result
020                                + ((tailContents == null) ? 0 : tailContents.hashCode());
021                return result;
022        }
023
024        @SuppressWarnings("unchecked")
025        @Override
026        public boolean equals(Object obj) {
027                if (this == obj)
028                        return true;
029                if (obj == null)
030                        return false;
031                if (getClass() != obj.getClass())
032                        return false;
033                TailEvent other = (TailEvent) obj;
034                if (tailContents == null) {
035                        if (other.tailContents != null)
036                                return false;
037                } else if (!tailContents.equals(other.tailContents))
038                        return false;
039                return true;
040        }
041
042        @Override
043        public String toString() {
044                return "TailEvent [tailContents=" + tailContents + "]";
045        }
046
047        public static <T> TailEvent<T> generateEvent(T line, long size) {
048                TailContents<T> tailContents = new TailContents<T>(line, size);
049                TailEvent<T> tailEvent = new TailEvent<T>(tailContents);
050                return tailEvent;
051        }
052}