01: /*
02: * $Id: XINSCallException.java,v 1.18 2007/03/12 10:40:41 agoubard Exp $
03: *
04: * Copyright 2003-2007 Orange Nederland Breedband B.V.
05: * See the COPYRIGHT file for redistribution and use restrictions.
06: */
07: package org.xins.client;
08:
09: import org.xins.common.service.CallException;
10: import org.xins.common.service.TargetDescriptor;
11:
12: /**
13: * XINS-specific call exception.
14: *
15: * @version $Revision: 1.18 $ $Date: 2007/03/12 10:40:41 $
16: * @author <a href="mailto:ernst@ernstdehaan.com">Ernst de Haan</a>
17: *
18: * @since XINS 1.0.0
19: */
20: public abstract class XINSCallException extends CallException {
21:
22: /**
23: * Constructs a new <code>XINSCallException</code> based on a short reason,
24: * the original request, target called, call duration, detail message and
25: * cause exception.
26: *
27: * @param shortReason
28: * the short reason, cannot be <code>null</code>.
29: *
30: * @param request
31: * the original request, cannot be <code>null</code>.
32: *
33: * @param target
34: * descriptor for the target that was attempted to be called, can be <code>null</code>.
35: *
36: * @param duration
37: * the call duration in milliseconds, must be >= 0.
38: *
39: * @param detail
40: * a detailed description of the problem, can be <code>null</code> if
41: * there is no more detail.
42: *
43: * @param cause
44: * the cause exception, can be <code>null</code>.
45: *
46: * @throws IllegalArgumentException
47: * if <code>shortReason == null
48: * || request == null
49: * || duration < 0</code>.
50: */
51: XINSCallException(String shortReason, XINSCallRequest request,
52: TargetDescriptor target, long duration, String detail,
53: Throwable cause) throws IllegalArgumentException {
54:
55: // Call superconstructor
56: super (shortReason, request, target, duration, detail, cause);
57: }
58:
59: /**
60: * Constructs a new <code>XINSCallException</code> based on a short reason,
61: * a XINS call result, detail message and cause exception.
62: *
63: * @param shortReason
64: * the short reason, cannot be <code>null</code>.
65: *
66: * @param result
67: * the call result, cannot be <code>null</code>.
68: *
69: * @param detail
70: * a detailed description of the problem, can be <code>null</code> if
71: * there is no more detail.
72: *
73: * @param cause
74: * the cause exception, can be <code>null</code>.
75: *
76: * @throws IllegalArgumentException
77: * if <code>shortReason == null || result == null</code>.
78: */
79: XINSCallException(String shortReason, XINSCallResult result,
80: String detail, Throwable cause)
81: throws IllegalArgumentException {
82:
83: // Call superconstructor
84: super (shortReason, (result == null) ? null : result
85: .getRequest(), (result == null) ? null : result
86: .getSucceededTarget(), (result == null) ? 0L : result
87: .getDuration(), detail, cause);
88: }
89: }
|