All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cloudhopper.sxmp.SxmpParsingException Maven / Gradle / Ivy

package com.cloudhopper.sxmp;

/*
 * #%L
 * ch-sxmp
 * %%
 * Copyright (C) 2012 - 2013 Cloudhopper by Twitter
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import org.xml.sax.SAXException;

/**
 * Exception thrown when the XML could not be parsed and recognized as a valid
 * SXMP operation.  Will contain an error code, message, and if possible, it
 * will contain the Operation object that was at least partially parsed.
 *
 * The partially parsed Operation object is essential to correctly returning
 * the operation type in the XML response.  If the operation is null, then
 * a generic error will be returned to the caller (e.g. an HTTP non-200 error
 * code vs. a 200 error code).
 * 
 * @author joelauer
 */
public class SxmpParsingException extends SAXException {
    private static final long serialVersionUID = 0L;

    private SxmpErrorCode errorCode;
    private String errorMessage;
    private Operation operation;

    public SxmpParsingException(SxmpErrorCode errorCode, String msg, Operation operation) {
        super("SXMP error (code [" + errorCode.getIntValue() + "] message [" + msg + "]");
        this.errorCode = errorCode;
        this.errorMessage = msg;
        this.operation = operation;
    }

    public SxmpErrorCode getErrorCode() {
        return this.errorCode;
    }

    public String getErrorMessage() {
        return this.errorMessage;
    }

    /**
     * Gets the partially parsed Operation if it exists.  If this is null,
     * then a valid SXMP error response could not be returned and a generic
     * operation error should be returned.
     * @return The operation at least partially parsed or null if it doesn't
     *      exist.
     */
    public Operation getOperation() {
        return this.operation;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy