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