View Javadoc
1 2 package org.apache.bcel.classfile; 3 4 /* ==================================================================== 5 * The Apache Software License, Version 1.1 6 * 7 * Copyright (c) 2001 The Apache Software Foundation. All rights 8 * reserved. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 17 * 2. Redistributions in binary form must reproduce the above copyright 18 * notice, this list of conditions and the following disclaimer in 19 * the documentation and/or other materials provided with the 20 * distribution. 21 * 22 * 3. The end-user documentation included with the redistribution, 23 * if any, must include the following acknowledgment: 24 * "This product includes software developed by the 25 * Apache Software Foundation (http://www.apache.org/)." 26 * Alternately, this acknowledgment may appear in the software itself, 27 * if and wherever such third-party acknowledgments normally appear. 28 * 29 * 4. The names "Apache" and "Apache Software Foundation" and 30 * "Apache BCEL" must not be used to endorse or promote products 31 * derived from this software without prior written permission. For 32 * written permission, please contact apache@apache.org. 33 * 34 * 5. Products derived from this software may not be called "Apache", 35 * "Apache BCEL", nor may "Apache" appear in their name, without 36 * prior written permission of the Apache Software Foundation. 37 * 38 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 39 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 40 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 41 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 42 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 43 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 44 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 45 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 46 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 47 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 48 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 49 * SUCH DAMAGE. 50 * ==================================================================== 51 * 52 * This software consists of voluntary contributions made by many 53 * individuals on behalf of the Apache Software Foundation. For more 54 * information on the Apache Software Foundation, please see 55 * <http://www.apache.org/>;. 56 */ 57 58 59 import org.apache.bcel.Constants; 60 import java.io.*; 61 62 /*** 63 * This class is derived from the abstract 64 * <A HREF="org.apache.bcel.classfile.Constant.html">Constant</A> class 65 * and represents a reference to an int object. 66 * 67 * @version $Id: ConstantInteger.java,v 1.2 2002/03/11 16:16:35 mdahm Exp $ 68 * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> 69 * @see Constant 70 */ 71 public final class ConstantInteger extends Constant implements ConstantObject { 72 private int bytes; 73 74 /*** 75 * @param bytes Data 76 */ 77 public ConstantInteger(int bytes) 78 { 79 super(Constants.CONSTANT_Integer); 80 this.bytes = bytes; 81 } 82 83 /*** 84 * Initialize from another object. 85 */ 86 public ConstantInteger(ConstantInteger c) { 87 this(c.getBytes()); 88 } 89 90 /*** 91 * Initialize instance from file data. 92 * 93 * @param file Input stream 94 * @throws IOException 95 */ 96 ConstantInteger(DataInputStream file) throws IOException 97 { 98 this(file.readInt()); 99 } 100 101 /*** 102 * Called by objects that are traversing the nodes of the tree implicitely 103 * defined by the contents of a Java class. I.e., the hierarchy of methods, 104 * fields, attributes, etc. spawns a tree of objects. 105 * 106 * @param v Visitor object 107 */ 108 public void accept(Visitor v) { 109 v.visitConstantInteger(this); 110 } 111 112 /*** 113 * Dump constant integer to file stream in binary format. 114 * 115 * @param file Output file stream 116 * @throws IOException 117 */ 118 public final void dump(DataOutputStream file) throws IOException 119 { 120 file.writeByte(tag); 121 file.writeInt(bytes); 122 } 123 124 /*** 125 * @return data, i.e., 4 bytes. 126 */ 127 public final int getBytes() { return bytes; } 128 129 /*** 130 * @param bytes. 131 */ 132 public final void setBytes(int bytes) { 133 this.bytes = bytes; 134 } 135 136 /*** 137 * @return String representation. 138 */ 139 public final String toString() { 140 return super.toString() + "(bytes = " + bytes + ")"; 141 } 142 143 /*** @return Integer object 144 */ 145 public Object getConstantValue(ConstantPool cp) { 146 return new Integer(bytes); 147 } 148 }

This page was automatically generated by Maven