1 package org.sonatype.aether.util.listener;
2
3
4
5
6
7
8
9
10
11 import java.nio.ByteBuffer;
12
13 import org.sonatype.aether.transfer.TransferEvent;
14 import org.sonatype.aether.transfer.TransferResource;
15
16
17
18
19
20
21 public class DefaultTransferEvent
22 implements TransferEvent
23 {
24
25 private EventType type = EventType.INITIATED;
26
27 private RequestType requestType = RequestType.GET;
28
29 private TransferResource resource;
30
31 private ByteBuffer dataBuffer;
32
33 private long transferredBytes;
34
35 private Exception exception;
36
37
38
39
40 public DefaultTransferEvent()
41 {
42 }
43
44 public EventType getType()
45 {
46 return type;
47 }
48
49
50
51
52
53
54
55 public DefaultTransferEvent setType( EventType type )
56 {
57 if ( type == null )
58 {
59 throw new IllegalArgumentException( "event type not specified" );
60 }
61 this.type = type;
62 return this;
63 }
64
65 public RequestType getRequestType()
66 {
67 return requestType;
68 }
69
70
71
72
73
74
75
76 public DefaultTransferEvent setRequestType( RequestType requestType )
77 {
78 if ( requestType == null )
79 {
80 throw new IllegalArgumentException( "request type not specified" );
81 }
82 this.requestType = requestType;
83 return this;
84 }
85
86 public TransferResource getResource()
87 {
88 return resource;
89 }
90
91
92
93
94
95
96
97 public DefaultTransferEvent setResource( TransferResource resource )
98 {
99 if ( resource == null )
100 {
101 throw new IllegalArgumentException( "transfer resource not specified" );
102 }
103 this.resource = resource;
104 return this;
105 }
106
107 public long getTransferredBytes()
108 {
109 return transferredBytes;
110 }
111
112
113
114
115
116
117
118
119 public DefaultTransferEvent setTransferredBytes( long transferredBytes )
120 {
121 if ( transferredBytes < 0 )
122 {
123 throw new IllegalArgumentException( "number of transferred bytes cannot be negative" );
124 }
125 this.transferredBytes = transferredBytes;
126 return this;
127 }
128
129 public int getDataLength()
130 {
131 return ( dataBuffer != null ) ? dataBuffer.remaining() : 0;
132 }
133
134 public ByteBuffer getDataBuffer()
135 {
136 return ( dataBuffer != null ) ? dataBuffer.asReadOnlyBuffer() : null;
137 }
138
139
140
141
142
143
144
145
146
147 public DefaultTransferEvent setDataBuffer( byte[] buffer, int offset, int length )
148 {
149 return setDataBuffer( ByteBuffer.wrap( buffer, offset, length ) );
150 }
151
152
153
154
155
156
157
158 public DefaultTransferEvent setDataBuffer( ByteBuffer dataBuffer )
159 {
160 this.dataBuffer = dataBuffer;
161 return this;
162 }
163
164 public Exception getException()
165 {
166 return exception;
167 }
168
169
170
171
172
173
174
175 public DefaultTransferEvent setException( Exception exception )
176 {
177 this.exception = exception;
178 return this;
179 }
180
181 @Override
182 public String toString()
183 {
184 return getRequestType() + " " + getType() + " " + getResource();
185 }
186
187 }