1   package org.apache.bcel.verifier;
2   
3   /* ====================================================================
4    * The Apache Software License, Version 1.1
5    *
6    * Copyright (c) 2001 The Apache Software Foundation.  All rights
7    * reserved.
8    *
9    * Redistribution and use in source and binary forms, with or without
10   * modification, are permitted provided that the following conditions
11   * are met:
12   *
13   * 1. Redistributions of source code must retain the above copyright
14   *    notice, this list of conditions and the following disclaimer.
15   *
16   * 2. Redistributions in binary form must reproduce the above copyright
17   *    notice, this list of conditions and the following disclaimer in
18   *    the documentation and/or other materials provided with the
19   *    distribution.
20   *
21   * 3. The end-user documentation included with the redistribution,
22   *    if any, must include the following acknowledgment:
23   *       "This product includes software developed by the
24   *        Apache Software Foundation (http://www.apache.org/)."
25   *    Alternately, this acknowledgment may appear in the software itself,
26   *    if and wherever such third-party acknowledgments normally appear.
27   *
28   * 4. The names "Apache" and "Apache Software Foundation" and
29   *    "Apache BCEL" must not be used to endorse or promote products
30   *    derived from this software without prior written permission. For
31   *    written permission, please contact apache@apache.org.
32   *
33   * 5. Products derived from this software may not be called "Apache",
34   *    "Apache BCEL", nor may "Apache" appear in their name, without
35   *    prior written permission of the Apache Software Foundation.
36   *
37   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48   * SUCH DAMAGE.
49   * ====================================================================
50   *
51   * This software consists of voluntary contributions made by many
52   * individuals on behalf of the Apache Software Foundation.  For more
53   * information on the Apache Software Foundation, please see
54   * <http://www.apache.org/>.
55   */
56  
57  /***
58   * A VerificationResult is what a PassVerifier returns
59   * after verifying.
60   *
61   * @version $Id: VerificationResult.java,v 1.2 2002/06/13 09:32:50 enver Exp $
62   * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A>
63   *
64   */
65  public class VerificationResult{
66  
67  	/***
68  	 * Constant to indicate verification has not been tried yet.
69  	 * This happens if some earlier verification pass did not return VERIFIED_OK.
70  	 */
71  	public static final int VERIFIED_NOTYET = 0;
72  	/*** Constant to indicate verification was passed. */
73  	public static final int VERIFIED_OK = 1;
74  	/*** Constant to indicate verfication failed. */
75  	public static final int VERIFIED_REJECTED = 2;
76  
77  	/***
78  	 * This string is the canonical message for verifications that have not been tried yet.
79  	 * This happens if some earlier verification pass did not return VERIFIED_OK.
80  	 */
81  	private static final String VERIFIED_NOTYET_MSG = "Not yet verified.";
82  	/*** This string is the canonical message for passed verification passes. */
83  	private static final String VERIFIED_OK_MSG = "Passed verification.";
84  
85  	/***
86  	 * Canonical VerificationResult for not-yet-tried verifications.
87  	 * This happens if some earlier verification pass did not return VERIFIED_OK.
88  	 */
89  	public static final VerificationResult VR_NOTYET = new VerificationResult(VERIFIED_NOTYET, VERIFIED_NOTYET_MSG);
90  	/*** Canonical VerificationResult for passed verifications. */
91  	public static final VerificationResult VR_OK = new VerificationResult(VERIFIED_OK, VERIFIED_OK_MSG);
92  
93  	/*** The numeric status. */
94  	private int numeric;
95  
96  	/*** The detailed message. */
97  	private String detailMessage;
98  
99  	/*** The usual constructor. */
100 	public VerificationResult(int status, String message){
101 		numeric = status;
102 		detailMessage = message;
103 	}
104 
105 	/*** Returns one one the VERIFIED_OK, VERIFIED_NOTYET, VERIFIED_REJECTED constants. */
106 	public int getStatus(){
107 		return numeric;
108 	}
109 
110 	/*** Returns a detailed message. */
111 	public String getMessage(){
112 		return detailMessage;
113 	}
114 
115 	/***
116 	 * Returns if two VerificationResult instances are equal.
117 	 */ 
118 	public boolean equals(Object o){
119 		if (! (o instanceof VerificationResult)) return false;
120 		VerificationResult other = (VerificationResult) o;
121 		return ((other.numeric == this.numeric) && (other.detailMessage.equals(this.detailMessage)));
122 	}
123 	
124 	/***
125 	 * Returns a String representation of the VerificationResult.
126 	 */
127 	public String toString(){
128 		String ret="";
129 		if (numeric == VERIFIED_NOTYET)   ret = "VERIFIED_NOTYET";
130 		if (numeric == VERIFIED_OK)       ret = "VERIFIED_OK";
131 		if (numeric == VERIFIED_REJECTED) ret = "VERIFIED_REJECTED";
132 		ret+="\n"+detailMessage+"\n";
133 		return ret;
134 	}
135 }
This page was automatically generated by Maven