001    package org.vafer.jdeb.descriptors;
002    
003    public final class InvalidDescriptorException extends Exception {
004    
005            private static final long serialVersionUID = 1L;
006            private final AbstractDescriptor desc;
007    
008            public InvalidDescriptorException(AbstractDescriptor desc) {
009                    this.desc = desc;
010            }
011    
012            public InvalidDescriptorException(AbstractDescriptor desc, String message) {
013                    super(message);
014                    this.desc = desc;
015            }
016    
017            public InvalidDescriptorException(AbstractDescriptor desc, Throwable cause) {
018                    super(cause);
019                    this.desc = desc;
020            }
021    
022            public InvalidDescriptorException(AbstractDescriptor desc, String message, Throwable cause) {
023                    super(message, cause);
024                    this.desc = desc;
025            }
026    
027            public AbstractDescriptor getDescriptor() {
028                    return desc;
029            }
030    
031            public String toString() {
032                    return "Invalid keys are " + desc.invalidKeys() + "\n" + desc; 
033            }
034    
035            
036    }