Error.java :  » Image » jjil » jjil » j2me » Android Open Source

Android Open Source » Image » jjil 
jjil » jjil » j2me » Error.java
package jjil.j2me;

/**
 * This is the class used to create Strings from Error objects when running
 * under J2ME. The point is that the J2ME localization support is used so
 * the same approach won't work with Android, J2SE, etc.<br>
 * Usage:<br>
 * <pre>
 *     jjil.j2me.Error eJ2me = new jjil.j2me.Error(e);<br>
 *      ... eJ2me.toString() ...
 * </pre>
 * @author webb
 *
 */
public class Error extends jjil.core.Error {
    private static final String szMessage[][] = new String[jjil.core.Error.PACKAGE.COUNT][];
    
    {
        Error.szMessage[jjil.core.Error.PACKAGE.CORE] = new String[jjil.core.ErrorCodes.COUNT];
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.BOUNDS_OUTSIDE_IMAGE] =
            LS.getMessage("BOUNDS_OUTSIDE_IMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.ILLEGAL_PARAMETER_VALUE] =
            LS.getMessage("ILLEGAL_PARAMETER_VALUE");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.IMAGE_MASK_SIZE_MISMATCH] =
            LS.getMessage("IMAGE_MASK_SIZE_MISMATCH");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.MATH_DIVISION_ZERO] =
            LS.getMessage("MATH_DIVISION_ZERO");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.MATH_NEGATIVE_SQRT] =
            LS.getMessage("MATH_NEGATIVE_SQRT");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.MATH_PRODUCT_TOO_LARGE] =
            LS.getMessage("MATH_PRODUCT_TOO_LARGE");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.MATH_SQUARE_TOO_LARGE] =
            LS.getMessage("MATH_SQUARE_TOO_LARGE");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.NO_RESULT_AVAILABLE] =
            LS.getMessage("PIPELINE_NO_RESULT");
        Error.szMessage[jjil.core.Error.PACKAGE.CORE][jjil.core.ErrorCodes.PIPELINE_EMPTY_PUSH] =
            LS.getMessage("PIPELINE_EMPTY_PUSH");

        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM] = new String[jjil.algorithm.ErrorCodes.COUNT];
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.CONN_COMP_LABEL_COMPARETO_NULL] =
            LS.getMessage("CONN_COMP_LABEL_COMPARETO_NULL");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.CONN_COMP_LABEL_OUT_OF_BOUNDS] =
            LS.getMessage("CONN_COMP_LABEL_OUT_OF_BOUNDS");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.FFT_SIZE_LARGER_THAN_MAX] =
            LS.getMessage("FFT_SIZE_LARGER_THAN_MAX");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.FFT_SIZE_NOT_POWER_OF_2] =
            LS.getMessage("FFT_SIZE_NOT_POWER_OF_2");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.HEAP_EMPTY] =
            LS.getMessage("HEAP_EMPTY");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.HISTOGRAM_LENGTH_NOT_256] =
            LS.getMessage("HISTOGRAM_LENGTH_NOT_256");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.ILLEGAL_COLOR_CHOICE] =
            LS.getMessage("ILLEGAL_COLOR_CHOICE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_COMPLEX32IMAGE] =
            LS.getMessage("IMAGE_NOT_COMPLEX32IMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_GRAY16IMAGE] =
            LS.getMessage("IMAGE_NOT_GRAY16IMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_GRAY32IMAGE] =
            LS.getMessage("IMAGE_NOT_GRAY32IMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_GRAY8IMAGE] =
            LS.getMessage("IMAGE_NOT_GRAY8IMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_RGBIMAGE] =
            LS.getMessage("IMAGE_NOT_RGBIMAGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_NOT_SQUARE] =
            LS.getMessage("IMAGE_NOT_SQUARE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_SIZES_DIFFER] =
            LS.getMessage("IMAGE_SIZES_DIFFER");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IMAGE_TOO_SMALL] =
            LS.getMessage("IMAGE_TOO_SMALL");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.INPUT_IMAGE_SIZE_NEGATIVE] =
            LS.getMessage("INPUT_IMAGE_SIZE_NEGATIVE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.INPUT_TERMINATED_EARLY] =
            LS.getMessage("INPUT_TERMINATED_EARLY");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.IO_EXCEPTION] =
            LS.getMessage("IO_EXCEPTION");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.LOOKUP_TABLE_LENGTH_NOT_256] =
            LS.getMessage("LOOKUP_TABLE_LENGTH_NOT_256");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.OBJECT_NOT_EXPECTED_TYPE] =
            LS.getMessage("OBJECT_NOT_EXPECTED_TYPE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.OUTPUT_IMAGE_SIZE_NEGATIVE] =
            LS.getMessage("OUTPUT_IMAGE_SIZE_NEGATIVE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.PARAMETER_OUT_OF_RANGE] =
            LS.getMessage("PARAMETER_OUT_OF_RANGE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.PARAMETER_RANGE_NULL_OR_NEGATIVE] =
            LS.getMessage("PARAMETER_RANGE_NULL_OR_NEGATIVE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.PARAMETER_SIZES_DIFFER] =
            LS.getMessage("PARAMETER_SIZES_DIFFER");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.PARAMETER_WRONG_SIZE] =
            LS.getMessage("PARAMETER_WRONG_SIZE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.PARSE_ERROR] =
            LS.getMessage("PARSE_ERROR");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.REDUCE_INPUT_IMAGE_NOT_MULTIPLE_OF_OUTPUT_SIZE] =
            LS.getMessage("REDUCE_INPUT_IMAGE_NOT_MULTIPLE_OF_OUTPUT_SIZE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.SHRINK_OUTPUT_LARGER_THAN_INPUT] =
            LS.getMessage("SHRINK_OUTPUT_LARGER_THAN_INPUT");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.STATISTICS_VARIANCE_LESS_THAN_ZERO] =
            LS.getMessage("STATISTICS_VARIANCE_LESS_THAN_ZERO");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.STRETCH_OUTPUT_SMALLER_THAN_INPUT] =
            LS.getMessage("STRETCH_OUTPUT_SMALLER_THAN_INPUT");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.SUBIMAGE_NO_IMAGE_AVAILABLE] =
            LS.getMessage("SUBIMAGE_NO_IMAGE_AVAILABLE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.THRESHOLD_NEGATIVE] =
            LS.getMessage("THRESHOLD_NEGATIVE");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.WARP_END_LEFT_COL_GE_END_RIGHT_COL] =
            LS.getMessage("WARP_END_LEFT_COL_GE_END_RIGHT_COL");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.WARP_START_LEFT_COL_GE_START_RIGHT_COL] =
            LS.getMessage("WARP_START_LEFT_COL_GE_START_RIGHT_COL");
        Error.szMessage[jjil.core.Error.PACKAGE.ALGORITHM][jjil.algorithm.ErrorCodes.WARP_START_ROW_GE_END_ROW] =
            LS.getMessage("WARP_START_ROW_GE_END_ROW");
    }
    
    /**
     * Copy constructor.
     * @param e the Error object to copy.
     */
    public Error(jjil.core.Error e) {
        super(e);
    }
        
    /**
     * Get a localized message for the Error.
     * @return a localized String describing the Error.
     */
    public String getLocalizedMessage() {
        String szResult = null;
        switch (this.getPackage()) {
            case Error.PACKAGE.CORE:
                if (this.getCode() < 0 || this.getCode() >= jjil.core.ErrorCodes.COUNT) {
                    szResult = LS.getMessage("Illegal_error_code_core") + 
                            new Integer(this.getCode()).toString();
                 } else {
                    szResult = szMessage[this.getPackage()][this.getCode()];
                }
                break;
            case Error.PACKAGE.ALGORITHM:
                if (this.getCode() < 0 || this.getCode() >= jjil.algorithm.ErrorCodes.COUNT) {
                    szResult = LS.getMessage("Illegal_error_code_algorithm") + 
                            new Integer(this.getCode()).toString();
                 } else {
                    szResult = szMessage[this.getPackage()][this.getCode()];
                }
                break;
            case jjil.core.Error.PACKAGE.J2ME:
                szResult = LS.getMessage("Illegal_error_code_j2me") +  " " +
                        new Integer(this.getCode()).toString();
                break;
            default:
                szResult = LS.getMessage("Illegal_error_code_package") + " " +
                        new Integer(this.getPackage()).toString() + " " +
                        new Integer(this.getCode()).toString();
                break;
           }
            return szResult + ":  " + parameters();
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.