## org.apache.bcel.classfile
Class SourceFile

    java.lang.Object
      |
      +--org.apache.bcel.classfile.Attribute
            |
            +--org.apache.bcel.classfile.SourceFile

All Implemented Interfaces:
  java.lang.Cloneable, Node

public final class SourceFile
extends Attribute

This class is derived from Attribute and represents a reference to the source file of this class. It is instantiated from the Attribute.readAttribute() method.

Version:
  $Id: SourceFile.java,v 1.1.1.1 2001/10/29 20:00:03 jvanzyl Exp $
Author:
  M. Dahm
See Also:
  `Attribute`

Fields inherited from class org.apache.bcel.classfile.Attribute
`constant_pool, length, name_index, tag`

Constructor Summary
`SourceFile(int name_index, int length, int sourcefile_index, ConstantPool constant_pool)`
`SourceFile(SourceFile c)` Initialize from another object.

Method Summary
`void` `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
`Attribute` `copy(ConstantPool constant_pool)`
`void` `dump(java.io.DataOutputStream file)` Dump source file attribute to file stream in binary format.
`int` `getSourceFileIndex()`
`java.lang.String` `getSourceFileName()`
`void` `setSourceFileIndex(int sourcefile_index)`
`java.lang.String` `toString()`

Methods inherited from class org.apache.bcel.classfile.Attribute
`addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, removeAttributeReader, setConstantPool, setLength, setNameIndex`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SourceFile

    public SourceFile(SourceFile c)

  Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.

### SourceFile

    public SourceFile(int name_index,
                      int length,
                      int sourcefile_index,
                      ConstantPool constant_pool)

  Parameters:
    `name_index` - Index in constant pool to CONSTANT_Utf8
    `length` - Content length in bytes
    `constant_pool` - Array of constants
    `sourcefile_index` - Index in constant pool to CONSTANT_Utf8

Method Detail

### accept

    public void accept(Visitor v)

  Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
  Overrides:
    `accept` in class `Attribute`
  Parameters:
    `v` - Visitor object

### dump

    public final void dump(java.io.DataOutputStream file)
                    throws java.io.IOException

  Dump source file attribute to file stream in binary format.
  Overrides:
    `dump` in class `Attribute`
  Parameters:
    `file` - Output file stream

### getSourceFileIndex

    public final int getSourceFileIndex()

  Returns:
    Index in constant pool of source file name.

### setSourceFileIndex

    public final void setSourceFileIndex(int sourcefile_index)

  Parameters:
    `sourcefile_index.` -

### getSourceFileName

    public final java.lang.String getSourceFileName()

  Returns:
    Source file name.

### toString

    public final java.lang.String toString()

  Overrides:
    `toString` in class `Attribute`
  Returns:
    String representation

### copy

    public Attribute copy(ConstantPool constant_pool)

  Overrides:
    `copy` in class `Attribute`
  Returns:
    deep copy of this attribute