13d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/* 23d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Copyright (C) 2014 The Android Open Source Project 33d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 43d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Licensed under the Apache License, Version 2.0 (the "License"); 53d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * you may not use this file except in compliance with the License. 63d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * You may obtain a copy of the License at 73d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 83d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * http://www.apache.org/licenses/LICENSE-2.0 93d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 103d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Unless required by applicable law or agreed to in writing, software 113d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * distributed under the License is distributed on an "AS IS" BASIS, 123d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * See the License for the specific language governing permissions and 143d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * limitations under the License. 153d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 163d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 173d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambypackage com.android.omadm.plugin; 183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** 203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * DmtException is the base for all DMT exceptions. 213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambypublic class DmtException extends Exception { 233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby private final int code; 253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /** 273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Default Constructor for unspecified message. Not recommended to use. 283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public DmtException() { 303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby code = ErrorCodes.SYNCML_DM_FAIL; 313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /** 343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Exception with only message without error code, for backwards 353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * compatibility, not recommended to use. 363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * @param message the detail message. null means unspecified. 383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public DmtException(String message) { 403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby super(message); 413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby code = ErrorCodes.SYNCML_DM_FAIL; 423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /** 453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Recommended DmtException constructor. 463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * @param code error code specified in <A 483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * href="ErrorCodes.html">ErrorCodes</A>. 0 means unspecified. 493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * @param message the detail message. null means unspecified. 503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public DmtException(int code, String message) { 523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby super(message); 533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby this.code = code; 543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /** 573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Return error code. if it is 0 it means has not been specified. 583d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 593d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * @return Error code, 603d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 613d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public int getCode() { 623d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby return code; 633d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 643d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 653d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /** 663d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Returns the error message string. null means unspecified message 673d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 683d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * @return Error message string. 693d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 703d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby @Override 713d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public String getMessage() { 723d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby String s = super.getMessage(); 733d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby if (s == null) { 743d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby s = "Unspecified Message"; 753d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 763d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby return s; 773d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby } 783d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby} 79