001    /*
002     *                    BioJava development code
003     *
004     * This code may be freely distributed and modified under the
005     * terms of the GNU Lesser General Public Licence.  This should
006     * be distributed with the code.  If you do not have a copy,
007     * see:
008     *
009     *      http://www.gnu.org/copyleft/lesser.html
010     *
011     * Copyright for this code is held jointly by the individual
012     * authors.  These should be listed in @author doc comments.
013     *
014     * For more information on the BioJava project and its aims,
015     * or to join the biojava-l mailing list, visit the home page
016     * at:
017     *
018     *      http://www.biojava.org/
019     *
020     */
021    package org.biojava.utils.bytecode;
022    
023    /**
024     * Wrap up details about a method in a Java class file
025     *
026     * @author Thomas Down
027     * @author Matthew Pocock
028     */
029    
030    public interface CodeMethod {
031      /**
032       * The name of the method.
033       *
034       * @return the method name
035       */
036      public String getName();
037    
038      /**
039       * The class that contains this method
040       *
041       * @return the containing class
042       */
043      public CodeClass getContainingClass();
044    
045      /**
046       * The fully qualified name for this class
047       *
048       * @return the full name
049       */
050      public String getFullName();
051    
052      /**
053       * A human-readable description of the class
054       *
055       * @return the class description
056       */
057      public String getDescriptor();
058    
059      /**
060       * Get the modifiers, such as PUBLIC, ABSTRACT and so on
061       *
062       * @return the class modifiers
063       */
064      public int getModifiers();
065    
066      /**
067       * Get the return type
068       *
069       * @return the return type
070       */
071      public CodeClass getReturnType();
072    
073      /**
074       * Get the number of parameters taken by this method
075       *
076       * @return the number of parameters
077       */
078      public int numParameters();
079    
080      /**
081       * Get the type of the parameter at a given position
082       *
083       * @param pos  the position to fetch the parameter type for
084       * @return the type of the parameter at that position
085       */
086      public CodeClass getParameterType(int pos);
087    }