edu.stanford.slac.archiverappliance.PB.data.PBParseException.java Source code

Java tutorial

Introduction

Here is the source code for edu.stanford.slac.archiverappliance.PB.data.PBParseException.java

Source

/*******************************************************************************
 * Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University
 * as Operator of the SLAC National Accelerator Laboratory.
 * Copyright (c) 2011 Brookhaven National Laboratory.
 * EPICS archiver appliance is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 *******************************************************************************/
package edu.stanford.slac.archiverappliance.PB.data;

import org.apache.commons.codec.binary.Hex;
import org.apache.log4j.Logger;

/**
 * We convert PB exceptions into a runtime exception to minimize the number of IOExceptions in the method declarations.
 * We do want to avoid unmarshalling on construction; however, this forces us to unmarshal ( if needed )  on the gets.
 * @author mshankar
 *
 */
public class PBParseException extends RuntimeException {
    private static final long serialVersionUID = 5552973945298428020L;
    private static Logger logger = Logger.getLogger(PBParseException.class.getName());

    public PBParseException(Exception ex) {
        super(ex);
    }

    public PBParseException(byte[] databytes, Exception ex) {
        super("Length of byte array = " + ((databytes != null) ? databytes.length : "null"), ex);
        if (logger.isDebugEnabled() && databytes != null) {
            logger.debug(Hex.encodeHexString(databytes));
        }
    }

}