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