da686efd2f30cd10fb54642f7cc43f5e80316c74
[packetcable.git] / protocol_plugins.packetcable / src / main / java / org / pcmm / gates / impl / PCMMError.java
1 /**
2  @header@
3  */
4 package org.pcmm.gates.impl;
5
6 import org.pcmm.base.impl.PCMMBaseObject;
7 import org.pcmm.gates.IPCMMError;
8
9 /**
10  *
11  */
12 public class PCMMError extends PCMMBaseObject implements IPCMMError {
13     /**
14      *
15      */
16     public PCMMError() {
17         this(LENGTH, STYPE, SNUM);
18     }
19
20     public PCMMError(short errorCode, short subErrCode) {
21         this();
22         setErrorCode(errorCode);
23         setErrorSubcode(subErrCode);
24     }
25
26     /**
27      * @param data
28      */
29     public PCMMError(byte[] data) {
30         super(data);
31     }
32
33     /**
34      * @param len
35      * @param sType
36      * @param sNum
37      */
38     public PCMMError(short len, byte sType, byte sNum) {
39         super(len, sType, sNum);
40     }
41
42     /*
43      * (non-Javadoc)
44      *
45      * @see org.pcmm.gates.IPCError#setErrorCode(int)
46      */
47     @Override
48     public void setErrorCode(short errorCode) {
49         setShort(errorCode, (short) 0);
50     }
51
52     /*
53      * (non-Javadoc)
54      *
55      * @see org.pcmm.gates.IPCError#getErrorCode()
56      */
57     @Override
58     public short getErrorCode() {
59         return getShort((short) 0);
60     }
61
62     /*
63      * (non-Javadoc)
64      *
65      * @see org.pcmm.gates.IPCError#setErrorSubcode(int)
66      */
67     @Override
68     public void setErrorSubcode(short errorSubcode) {
69         setShort(errorSubcode, (short) 2);
70     }
71
72     /*
73      * (non-Javadoc)
74      *
75      * @see org.pcmm.gates.IPCError#getErrorCode()
76      */
77     @Override
78     public short getErrorSubcode() {
79         return getShort((short) 2);
80     }
81
82     /*
83      * (non-Javadoc)
84      *
85      * @see org.pcmm.gates.IPCError#getDescription()
86      */
87     @Override
88     public String getDescription() {
89         String hex = Integer.toHexString(getErrorSubcode() & 0xFFFF);
90         return "Error Code: " + getErrorCode() + " Error Subcode : " + hex
91                + "  " + Description.valueOf(getErrorCode());
92     }
93
94     @Override
95     public String toString() {
96         return getDescription();
97     }
98 }