1 20 21 22 package org.snmp4j.agent.request; 23 24 import java.util.*; 25 26 import org.snmp4j.mp.*; 27 28 32 public class RequestStatus { 33 34 private int errorStatus = SnmpConstants.SNMP_ERROR_SUCCESS; 35 private boolean phaseComplete = false; 36 private boolean processed = false; 37 private transient Vector requestStatusListeners; 38 39 public RequestStatus() { 40 } 41 42 public int getErrorStatus() { 43 return errorStatus; 44 } 45 46 public void setErrorStatus(int errorStatus) { 47 this.errorStatus = errorStatus; 48 boolean error = (errorStatus != SnmpConstants.SNMP_ERROR_SUCCESS); 49 setPhaseComplete(error); 50 fireRequestStatusChanged(new RequestStatusEvent(this, this)); 51 } 52 53 public boolean isPhaseComplete() { 54 return phaseComplete; 55 } 56 57 public boolean isProcessed() { 58 return processed; 59 } 60 61 public void setPhaseComplete(boolean completionStatus) { 62 this.phaseComplete = completionStatus; 63 this.processed |= completionStatus; 64 } 65 66 public void setProcessed(boolean processed) { 67 this.processed = processed; 68 } 69 70 public synchronized void addRequestStatusListener(RequestStatusListener l) { 71 if (this.requestStatusListeners == null) { 72 this.requestStatusListeners = new Vector(2); 73 } 74 this.requestStatusListeners.add(l); 75 } 76 77 public synchronized void removeRequestStatusListener(RequestStatusListener l) { 78 if (this.requestStatusListeners != null) { 79 this.requestStatusListeners.remove(l); 80 } 81 } 82 83 protected void fireRequestStatusChanged(RequestStatusEvent event) { 84 if (requestStatusListeners != null) { 85 Vector listeners = requestStatusListeners; 86 int count = listeners.size(); 87 for (int i = 0; i < count; i++) { 88 ((RequestStatusListener) listeners.elementAt(i)).requestStatusChanged( 89 event); 90 } 91 } 92 } 93 94 } 95 | Popular Tags |