Update of /cvsroot/xdoclet/xjavadoc/src/xjavadoc
In directory sc8-pr-cvs1:/tmp/cvs-serv31564/xjavadoc/src/xjavadoc

Modified Files:
        AbstractClass.java AbstractExecutableMember.java 
        AbstractProgramElement.java BinaryClass.java MethodImpl.java 
        ParameterImpl.java Primitive.java SourceClass.java XClass.java 
        XDoc.java XExecutableMember.java XField.java XJavaDoc.java 
        XJavaDocTest.java XMethod.java XParameter.java 
        XProgramElement.java 
Added Files:
        ReturnType.java TagValidator.java Type.java 
Removed Files:
        Dimensioned.java Typed.java 
Log Message:
Introduced a new Interface in XJavaDoc: xjavadoc.Type. This interface provides about 
the XClass AND the dimension.

--- NEW FILE: ReturnType.java ---
/*
 * Copyright (c) 2001-2003 The XDoclet team
 * All rights reserved.
 */
package xjavadoc;

/**
 * Implementation of Type for method return types.
 *
 * @author    <a href="mailto:aslak.hellesoy at bekk.no">Aslak Helles&oslash;y
 *      </a>
 * @created   20. mars 2003
 * @version   $Revision: 1.1 $
 */
class ReturnType implements Type
{
        private MethodImpl _method;
        private String     _dimensionAsString;
        private XClass     _type;
        private String     _typeString = "void";
        private int        _dimension = 0;

        public ReturnType( MethodImpl method )
        {
                _method = method;
        }

        public String getDimensionAsString()
        {
                if( _dimensionAsString == null )
                {
                        _dimensionAsString = Util.appendDimensionAsString( 
getDimension(), new StringBuffer() ).toString();
                }
                return _dimensionAsString;
        }

        public XClass getType()
        {
                if( _type == null )
                {
                        _type = _method.getContainingAbstractClass().qualify( 
_typeString );
                }
                return _type;
        }

        public int getDimension()
        {
                return _dimension;
        }

        public void setDimension( int dimension )
        {
                _dimension = dimension;
        }

        public void setType( String typeString )
        {
                _typeString = typeString;
        }
}

--- NEW FILE: TagValidator.java ---
/*
 * Copyright (c) 2001-2003 The XDoclet team
 * All rights reserved.
 */
package xjavadoc;

import org.apache.commons.collections.Predicate;

/**
 * A class that can validate tags. It reuses logic from predicates.
 *
 * @author    <a href="mailto:aslak.hellesoy at bekk.no">Aslak Helles&oslash;y
 *      </a>
 * @created   24. februar 2003
 * @version   $Revision: 1.1 $
 */
public class TagValidator
{
        private Predicate  _predicate;

        public TagValidator( Predicate predicate )
        {
                setPredicate( predicate );
        }

        public void setPredicate( Predicate predicate )
        {
                _predicate = predicate;

        }

        public void validate( XTag tag ) throws TagValidationException
        {
                if( !_predicate.evaluate( tag ) )
                {
                        throw new TagValidationException( tag );
                }
        }
}

--- NEW FILE: Type.java ---
/*
 * Copyright (c) 2001-2003 The XDoclet team
 * All rights reserved.
 */
package xjavadoc;

/**
 * Everything that can have a type implements this interface
 *
 * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
 * @created   25. februar 2003
 */
public interface Type
{
        /**
         * Returns the dimension as an int
         *
         * @return   dimension as an int
         */
        int getDimension();

        /**
         * Returns the dimension as a String, "", "[]", "[][]" etc.
         *
         * @return   dimension as a String
         */
        String getDimensionAsString();

        /**
         * Get type
         *
         * @return   type
         */
        XClass getType();
}

Index: AbstractClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractClass.java,v
retrieving revision 1.59
retrieving revision 1.60
diff -C2 -r1.59 -r1.60
*** AbstractClass.java  24 Feb 2003 13:31:44 -0000      1.59
--- AbstractClass.java  20 Mar 2003 22:35:49 -0000      1.60
***************
*** 13,17 ****
  
  /**
!  * Describe what this class does
   *
   * @author    Ara Abrahamian
--- 13,17 ----
  
  /**
!  * Base implementation of XClass.
   *
   * @author    Ara Abrahamian
***************
*** 19,23 ****
   * @created   18. oktober 2002
   */
! abstract class AbstractClass extends AbstractProgramElement implements XClass
  {
        /**
--- 19,23 ----
   * @created   18. oktober 2002
   */
! public abstract class AbstractClass extends AbstractProgramElement implements XClass
  {
        /**
***************
*** 30,96 ****
        private List       _allInterfaces;
  
-       /**
-        */
        private List       _importedClasses;
        private List       _importedClassNames;
- 
-       /**
-        */
        private List       _importedPackages;
- 
-       /**
-        */
        private List       _constructors;
- 
-       /**
-        */
        private Map        _namedConstructors;
- 
-       /**
-        */
        private List       _methods;
- 
-       /**
-        */
        private HashMap    _namedMethods;
- 
-       /**
-        */
        private List       _fields;
- 
-       /**
-        */
        private List       _innerClasses;
- 
-       /**
-        */
        private XPackage   _containingPackage;
- 
-       /**
-        * whether this class is an interface
-        */
        private boolean    _isInterface;
- 
-       /**
-        * whether it's anonymous
-        */
        private boolean    _isAnonymous = false;
- 
-       /**
-        */
        private XClass     _superclass;
- 
-       /**
-        */
        private int        _hash = Integer.MIN_VALUE;
- 
        private List       _directSubclasses;
- 
        private List       _allSubclasses;
- 
        private List       _implementingClasses;
- 
        private List       _extendingInterfaces;
- 
        private String     _name;
        private String     _qualifiedName;
--- 30,51 ----
***************
*** 267,271 ****
        }
  
!       public final boolean isInner()
        {
                boolean hasContainingClass = getContainingClass() != null;
--- 222,231 ----
        }
  
!       public String getType()
!       {
!               return getQualifiedName() + ".class";
!       }
! 
!       public boolean isInner()
        {
                boolean hasContainingClass = getContainingClass() != null;
***************
*** 806,810 ****
                        _declaredInterfaces = new LinkedList();
                }
!               _declaredInterfaces.add( qualify( interfaceName ) );
        }
  
--- 766,773 ----
                        _declaredInterfaces = new LinkedList();
                }
! 
!               XClass qualifiedInterface = qualify( interfaceName );
! 
!               _declaredInterfaces.add( qualifiedInterface );
        }
  

Index: AbstractExecutableMember.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractExecutableMember.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -r1.23 -r1.24
*** AbstractExecutableMember.java       24 Feb 2003 13:31:45 -0000      1.23
--- AbstractExecutableMember.java       20 Mar 2003 22:35:49 -0000      1.24
***************
*** 13,21 ****
  
  /**
!  * Describe what this class does
   *
!  * @author         <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created        8. januar 2002
!  * @todo-javadoc   Write javadocs
   */
  abstract class AbstractExecutableMember extends MemberImpl implements 
XExecutableMember
--- 13,20 ----
  
  /**
!  * Baseclass for XExecutableMember.
   *
!  * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   9. mars 2003
   */
  abstract class AbstractExecutableMember extends MemberImpl implements 
XExecutableMember
***************
*** 26,32 ****
         */
        private final static int MAX_ARRAY_SIZE = 6;
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private final static Integer[] _dimensions = new Integer[MAX_ARRAY_SIZE];
  
--- 25,28 ----
***************
*** 42,76 ****
         */
        private final static int INITIAL_PARAMETER_POOL_SIZE = 20;
-       /**
-        * @todo-javadoc   Describe the field
-        */
-       private final static int PARAMETER_POOL_INCREMENT = 10;
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private static ParameterImpl[] _parameterPool = new 
ParameterImpl[INITIAL_PARAMETER_POOL_SIZE];
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private List       _thrownExceptions;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private List       _parameterData;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private String     _nameWithSignature;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private String     _signature;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private String     _stringId;
  
--- 38,46 ----
***************
*** 91,103 ****
        }
  
-       /**
-        * Describe what the SourceExecutableMember constructor does
-        *
-        * @param containingClass  Describe what the parameter does
-        * @todo-javadoc           Write javadocs for method parameter
-        * @todo-javadoc           Write javadocs for method parameter
-        * @todo-javadoc           Write javadocs for constructor
-        * @todo-javadoc           Write javadocs for method parameter
-        */
        protected AbstractExecutableMember( AbstractClass containingClass )
        {
--- 61,64 ----
***************
*** 107,127 ****
                        throw new IllegalArgumentException( "containingClass can't be 
null" );
                }
-               //if (qualifiedName == null) {
-               //      throw new IllegalArgumentException("qualifiedName can't be 
null");
-               //}
- //            setName( qualifiedName );
- 
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param parameter  Describe what the parameter does
-        * @param withParam
-        * @return           Describe the return value
-        * @todo-javadoc     Write javadocs for method
-        * @todo-javadoc     Write javadocs for method parameter
-        * @todo-javadoc     Write javadocs for return value
-        */
        private final static String toString( XParameter parameter, boolean withParam )
        {
--- 68,73 ----
***************
*** 165,169 ****
         *
         * @return   the method parameters
-        * @todo     increase the pool if necessary
         */
        public final Collection getParameters()
--- 111,114 ----
***************
*** 243,254 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param withParam
-        * @return           Describe the return value
-        * @todo-javadoc     Write javadocs for method
-        * @todo-javadoc     Write javadocs for return value
-        */
        public final String getNameWithSignature( boolean withParam )
        {
--- 188,191 ----
***************
*** 260,270 ****
        }
  
!       /**
!        * Describe what the method does
!        *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for method
!        * @todo-javadoc   Write javadocs for return value
!        */
        public Collection getThrownExceptions()
        {
--- 197,232 ----
        }
  
!       public String getParameterTypes()
!       {
!               StringBuffer sb = new StringBuffer();
! 
!               for( Iterator i = getParameters().iterator(); i.hasNext();  )
!               {
!                       // resolve first
!                       ( ( XParameter ) i.next() ).getType();
!               }
! 
!               boolean comma = false;
! 
!               for( Iterator i = getParameters().iterator(); i.hasNext();  )
!               {
!                       // By calling toString(XParameter) we risk that the current 
parameter flyweights'
!                       // state is overwritten. This will happen when toString is 
calling parameter.type()
!                       // and that type isn't resolved yet. That's why the additional 
loop is added above,
!                       // to make sure everything required is resolved before calling 
toString.
!                       // This solves the problem, but might slow down speed a little 
(Aslak)
!                       if( comma )
!                       {
!                               sb.append( ',' );
!                       }
! 
!                       XParameter parameter = ( XParameter ) i.next();
! 
!                       sb.append( parameter.getType().getType() );
!                       comma = true;
!               }
!               return sb.toString();
!       }
! 
        public Collection getThrownExceptions()
        {
***************
*** 272,284 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param forMethod  Describe what the parameter does
-        * @return           Describe the return value
-        * @todo-javadoc     Write javadocs for method
-        * @todo-javadoc     Write javadocs for method parameter
-        * @todo-javadoc     Write javadocs for return value
-        */
        public XProgramElement getSuperElement( boolean forMethod )
        {
--- 234,237 ----
***************
*** 291,300 ****
                        if( forMethod )
                        {
!                               superExecutableMember = superclass.getMethod( 
getNameWithSignature() );
                        }
                        else
                        {
                                // for constructor
!                               superExecutableMember = superclass.getConstructor( 
getNameWithSignature() );
                        }
                        if( superExecutableMember != null )
--- 244,253 ----
                        if( forMethod )
                        {
!                               superExecutableMember = superclass.getMethod( 
getNameWithSignature( false ) );
                        }
                        else
                        {
                                // for constructor
!                               superExecutableMember = superclass.getConstructor( 
getNameWithSignature( false ) );
                        }
                        if( superExecutableMember != null )
***************
*** 342,352 ****
        }
  
-       /**
-        * Describe the method
-        *
-        * @param thrownException  Describe the method parameter
-        * @todo-javadoc           Describe the method
-        * @todo-javadoc           Describe the method parameter
-        */
        public void addThrownException( String thrownException )
        {
--- 295,298 ----
***************
*** 358,370 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param o
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for method parameter
-        * @todo-javadoc   Write javadocs for return value
-        */
        public boolean equals( Object o )
        {
--- 304,307 ----
***************
*** 379,389 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        public int hashCode()
        {
--- 316,319 ----
***************
*** 391,401 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        public String toString()
        {
--- 321,324 ----
***************
*** 405,415 ****
        protected abstract String buildStringId();
  
-       /**
-        * Gets the ParameterType attribute of the AbstractExecutableMember object
-        *
-        * @param index    Describe what the parameter does
-        * @return         The ParameterType value
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        final String getParameterType( int index )
        {
--- 328,331 ----
***************
*** 417,427 ****
        }
  
-       /**
-        * Gets the ParameterName attribute of the AbstractExecutableMember object
-        *
-        * @param index    Describe what the parameter does
-        * @return         The ParameterName value
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        final String getParameterName( int index )
        {
--- 333,336 ----
***************
*** 429,439 ****
        }
  
-       /**
-        * Gets the ParameterDimension attribute of the AbstractExecutableMember object
-        *
-        * @param index    Describe what the parameter does
-        * @return         The ParameterDimension value
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        final int getParameterDimension( int index )
        {
--- 338,341 ----
***************
*** 475,488 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param sb         Describe what the parameter does
-        * @param withParam
-        * @return           Describe the return value
-        * @todo-javadoc     Write javadocs for method
-        * @todo-javadoc     Write javadocs for method parameter
-        * @todo-javadoc     Write javadocs for return value
-        */
        private final StringBuffer appendSignature( StringBuffer sb, boolean withParam 
)
        {
--- 377,380 ----

Index: AbstractProgramElement.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractProgramElement.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -r1.26 -r1.27
*** AbstractProgramElement.java 24 Feb 2003 13:31:45 -0000      1.26
--- AbstractProgramElement.java 20 Mar 2003 22:35:50 -0000      1.27
***************
*** 11,50 ****
   * Describe what this class does
   *
!  * @author         Ara Abrahamian
!  * @author         <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created        February 17, 2002
!  * @todo-javadoc   Write javadocs
   */
! abstract class AbstractProgramElement implements XProgramElement
  {
        final static List  EMPTY_LIST = Collections.unmodifiableList( new LinkedList() 
);
  
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private AbstractClass _containingClass;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private int        _modifiers = 0;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private String     _modifierString;
- 
-       /**
-        * @todo   refactor
-        */
        private XDoc       _doc;
- 
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private Token      _token;
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private Token      _javadocToken;
  
--- 11,27 ----
   * Describe what this class does
   *
!  * @author    Ara Abrahamian
!  * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   7. mars 2003
   */
! public abstract class AbstractProgramElement implements XProgramElement
  {
        final static List  EMPTY_LIST = Collections.unmodifiableList( new LinkedList() 
);
  
        private AbstractClass _containingClass;
        private int        _modifiers = 0;
        private String     _modifierString;
        private XDoc       _doc;
        private Token      _token;
        private Token      _javadocToken;
  
***************
*** 54,62 ****
        }
  
-       /**
-        * Gets the Final attribute of the AbstractProgramElement object
-        *
-        * @return   The Final value
-        */
        public final boolean isFinal()
        {
--- 31,34 ----
***************
*** 64,72 ****
        }
  
-       /**
-        * Gets the Abstract attribute of the AbstractProgramElement object
-        *
-        * @return   The Abstract value
-        */
        public final boolean isAbstract()
        {
--- 36,39 ----
***************
*** 74,82 ****
        }
  
-       /**
-        * Gets the PackagePrivate attribute of the AbstractProgramElement object
-        *
-        * @return   The PackagePrivate value
-        */
        public final boolean isPackagePrivate()
        {
--- 41,44 ----
***************
*** 84,92 ****
        }
  
-       /**
-        * Gets the Private attribute of the AbstractProgramElement object
-        *
-        * @return   The Private value
-        */
        public final boolean isPrivate()
        {
--- 46,49 ----
***************
*** 94,102 ****
        }
  
-       /**
-        * Gets the Protected attribute of the AbstractProgramElement object
-        *
-        * @return   The Protected value
-        */
        public final boolean isProtected()
        {
--- 51,54 ----
***************
*** 104,112 ****
        }
  
-       /**
-        * Gets the Public attribute of the AbstractProgramElement object
-        *
-        * @return   The Public value
-        */
        public final boolean isPublic()
        {
--- 56,59 ----
***************
*** 114,122 ****
        }
  
-       /**
-        * Gets the Static attribute of the AbstractProgramElement object
-        *
-        * @return   The Static value
-        */
        public final boolean isStatic()
        {
--- 61,64 ----
***************
*** 128,132 ****
         *
         * @return   the class level doc
-        * @todo     handle package private classes
         */
        public final XDoc getDoc()
--- 70,73 ----
***************
*** 176,181 ****
         * Get modifiers string.
         *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for return value
         */
        public final String getModifiers()
--- 117,121 ----
         * Get modifiers string.
         *
!        * @return
         */
        public final String getModifiers()
***************
*** 191,196 ****
         * Get the modifier specifier integer.
         *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for return value
         */
        public final int getModifierSpecifier()
--- 131,135 ----
         * Get the modifier specifier integer.
         *
!        * @return
         */
        public final int getModifierSpecifier()
***************
*** 199,209 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        public final XClass getContainingClass()
        {
--- 138,141 ----
***************
*** 216,226 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        public XPackage getContainingPackage()
        {
--- 148,151 ----
***************
*** 249,260 ****
        }
  
-       /**
-        * Describe what the setModifiers constructor does
-        *
-        * @param modifier  Describe the method parameter
-        * @todo-javadoc    Describe the method parameter
-        * @todo-javadoc    Write javadocs for constructor
-        * @todo-javadoc    Write javadocs for method parameter
-        */
        public final void addModifier( int modifier )
        {
--- 174,177 ----
***************
*** 262,274 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @param o        Describe what the parameter does
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for method parameter
-        * @todo-javadoc   Write javadocs for return value
-        */
        public int compareTo( Object o )
        {
--- 179,182 ----

Index: BinaryClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/BinaryClass.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -r1.24 -r1.25
*** BinaryClass.java    24 Feb 2003 13:31:45 -0000      1.24
--- BinaryClass.java    20 Mar 2003 22:35:50 -0000      1.25
***************
*** 9,32 ****
  import java.lang.reflect.Method;
  import java.util.Collection;
- import java.util.Iterator;
  
  /**
   * Describe what this class does
   *
!  * @author         Ara Abrahamian
!  * @author         <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created        February 17, 2002
!  * @todo-javadoc   Write javadocs
!  * @todo           lazy instantiate members
   */
  final class BinaryClass extends AbstractClass
  {
-       /**
-        * @todo-javadoc   Describe the field
-        */
        public static int  instanceCount = 0;
-       /**
-        * @todo-javadoc   Describe the field
-        */
        private final Class _clazz;
  
--- 9,23 ----
  import java.lang.reflect.Method;
  import java.util.Collection;
  
  /**
   * Describe what this class does
   *
!  * @author    Ara Abrahamian
!  * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   20. mars 2003
   */
  final class BinaryClass extends AbstractClass
  {
        public static int  instanceCount = 0;
        private final Class _clazz;
  
***************
*** 34,47 ****
  
        private boolean    _isInterfacesSet = false;
- 
-       /**
-        * Describe what the BinaryClass constructor does
-        *
-        * @param clazz    Describe what the parameter does
-        * @todo-javadoc   Write javadocs for method parameter
-        * @todo-javadoc   Write javadocs for constructor
-        * @todo-javadoc   Write javadocs for method parameter
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        public BinaryClass( Class clazz )
        {
--- 25,28 ----
***************
*** 68,78 ****
        }
  
-       /**
-        * Gets the Dimension attribute of the BinaryClass class
-        *
-        * @param c        Describe what the parameter does
-        * @return         The Dimension value
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        private static int getDimension( Class c )
        {
--- 49,52 ----
***************
*** 80,90 ****
        }
  
-       /**
-        * Gets the TypeName attribute of the BinaryClass class
-        *
-        * @param c        Describe what the parameter does
-        * @return         The TypeName value
-        * @todo-javadoc   Write javadocs for method parameter
-        */
        private static String getTypeName( Class c )
        {
--- 54,57 ----
***************
*** 177,182 ****
                if( !_isSuperclassSet )
                {
-                       _isSuperclassSet = true;
- 
                        Class superclass = _clazz.getSuperclass();
  
--- 144,147 ----
***************
*** 185,188 ****
--- 150,154 ----
                                setSuperclass( superclass.getName() );
                        }
+                       _isSuperclassSet = true;
                }
        }
***************
*** 192,197 ****
                if( !_isInterfacesSet )
                {
-                       _isInterfacesSet = true;
- 
                        Class[] interfaces = _clazz.getInterfaces();
  
--- 158,161 ----
***************
*** 200,203 ****
--- 164,168 ----
                                addInterface( interfaces[i].getName() );
                        }
+                       _isInterfacesSet = true;
                }
        }
***************
*** 255,264 ****
        }
  
-       /**
-        * @param executableMember  Describe what the parameter does
-        * @param accessibleObject  Describe what the parameter does
-        * @todo-javadoc            Write javadocs for method parameter
-        * @todo-javadoc            Write javadocs for method parameter
-        */
        private void populateExecutableMember( AbstractExecutableMember 
executableMember, AccessibleObject accessibleObject )
        {
--- 220,223 ----

Index: MethodImpl.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/MethodImpl.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -r1.24 -r1.25
*** MethodImpl.java     4 Mar 2003 23:49:34 -0000       1.24
--- MethodImpl.java     20 Mar 2003 22:35:51 -0000      1.25
***************
*** 17,27 ****
  {
        public static int  instanceCount = 0;
-       private String     _returnType;
-       private int        _returnDimension;
-       private String     _dimensionAsString;
  
        private String     methodNameWithSignatureAndModifiers = null;
        private String     methodNameWithSignatureWithoutModifiers = null;
  
        public MethodImpl( AbstractClass containingClass )
        {
--- 17,26 ----
  {
        public static int  instanceCount = 0;
  
        private String     methodNameWithSignatureAndModifiers = null;
        private String     methodNameWithSignatureWithoutModifiers = null;
  
+       private ReturnType _returnType = new ReturnType( this );
+ 
        public MethodImpl( AbstractClass containingClass )
        {
***************
*** 47,88 ****
        }
  
!       public final XClass getReturnType()
!       {
!               return getType();
!       }
! 
!       public final XClass getType()
!       {
!               return getContainingAbstractClass().qualify( _returnType );
!       }
! 
!       public final int getReturnDimension()
!       {
!               return getDimension();
!       }
! 
!       public final int getDimension()
!       {
!               return _returnDimension;
!       }
! 
!       /**
!        * Describe what the method does
!        *
!        * @return       Describe the return value
!        * @deprecated
!        */
!       public String getReturnDimensionAsString()
!       {
!               return getDimensionAsString();
!       }
! 
!       public String getDimensionAsString()
        {
!               if( _dimensionAsString == null )
!               {
!                       _dimensionAsString = Util.appendDimensionAsString( 
getDimension(), new StringBuffer() ).toString();
!               }
!               return _dimensionAsString;
        }
  
--- 46,52 ----
        }
  
!       public final Type getReturnType()
        {
!               return _returnType;
        }
  
***************
*** 92,100 ****
        }
  
-       public boolean isReturnTypeDefinedInFullQualifiedFormat()
-       {
-               return _returnType.equals( getReturnType().getQualifiedName() );
-       }
- 
        public boolean isPropertyAccessor()
        {
--- 56,59 ----
***************
*** 104,108 ****
                if( getName().startsWith( "is" ) )
                {
!                       signatureOk = getType().getQualifiedName().equals( "boolean" ) 
|| getType().getQualifiedName().equals( "java.lang.Boolean" );
                        if( getName().length() > 2 )
                        {
--- 63,67 ----
                if( getName().startsWith( "is" ) )
                {
!                       signatureOk = 
getReturnType().getType().getQualifiedName().equals( "boolean" ) || 
getReturnType().getType().getQualifiedName().equals( "java.lang.Boolean" );
                        if( getName().length() > 2 )
                        {
***************
*** 156,159 ****
--- 115,135 ----
        }
  
+       public Type getPropertyType()
+       {
+               Type result = null;
+ 
+               if( isPropertyMutator() )
+               {
+                       XParameter parameter = ( XParameter ) 
getParameters().iterator();
+ 
+                       result = parameter;
+               }
+               else if( isPropertyAccessor() )
+               {
+                       result = getReturnType();
+               }
+               return result;
+       }
+ 
        /**
         * Sets the ReturnType attribute of the SourceMethod object
***************
*** 163,167 ****
        public final void setReturnType( String returnType )
        {
!               _returnType = returnType;
        }
  
--- 139,143 ----
        public final void setReturnType( String returnType )
        {
!               _returnType.setType( returnType );
        }
  
***************
*** 173,177 ****
        public final void setReturnDimension( int d )
        {
!               _returnDimension = d;
        }
  
--- 149,153 ----
        public final void setReturnDimension( int d )
        {
!               _returnType.setDimension( d );
        }
  
***************
*** 242,247 ****
                        sb = new StringBuffer();
                }
!               sb.append( getReturnType().getQualifiedName() );
!               sb.append( getDimensionAsString() );
                sb.append( ' ' );
                sb.append( getNameWithSignature( false ) );
--- 218,223 ----
                        sb = new StringBuffer();
                }
!               sb.append( getReturnType().getType().getQualifiedName() );
!               sb.append( getReturnType().getDimensionAsString() );
                sb.append( ' ' );
                sb.append( getNameWithSignature( false ) );

Index: ParameterImpl.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/ParameterImpl.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** ParameterImpl.java  4 Mar 2003 23:49:34 -0000       1.15
--- ParameterImpl.java  20 Mar 2003 22:35:51 -0000      1.16
***************
*** 5,8 ****
--- 5,11 ----
  package xjavadoc;
  
+ import java.util.Iterator;
+ import java.util.StringTokenizer;
+ 
  /**
   * This is a flyweight implementation of XParameter
***************
*** 10,14 ****
   * @author    Ara Abrahamian ([EMAIL PROTECTED])
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   25. februar 2003
   * @version   $Revision$
   */
--- 13,17 ----
   * @author    Ara Abrahamian ([EMAIL PROTECTED])
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   9. mars 2003
   * @version   $Revision$
   */
***************
*** 27,30 ****
--- 30,35 ----
        private int        _parameterIndex;
  
+       private String     _description;
+ 
        public ParameterImpl()
        {
***************
*** 55,58 ****
--- 60,101 ----
        {
                return _containingExecutableMember.getParameterDimension( 
_parameterIndex );
+       }
+ 
+       public XTag getParamTag()
+       {
+               for( Iterator paramTags = 
_containingExecutableMember.getDoc().getTags( "param", true ).iterator(); 
paramTags.hasNext();  )
+               {
+                       XTag paramTag = ( XTag ) paramTags.next();
+                       StringTokenizer st = new StringTokenizer( paramTag.getValue() 
);
+ 
+                       if( st.hasMoreTokens() )
+                       {
+                               if( st.nextToken().equals( getName() ) )
+                               {
+                                       // We found the @param tag.
+ 
+                                       // Set the description so it's readily 
available if someone asks for it.
+                                       _description = paramTag.getValue().substring( 
getName().length() ).trim();
+                                       return paramTag;
+                               }
+                       }
+               }
+               // Didn't find any param tags.
+               _description = null;
+               return null;
+       }
+ 
+       public String getDescription()
+       {
+               XTag paramTag = getParamTag();
+ 
+               if( paramTag != null )
+               {
+                       return _description;
+               }
+               else
+               {
+                       return null;
+               }
        }
  

Index: Primitive.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/Primitive.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** Primitive.java      24 Feb 2003 13:31:45 -0000      1.15
--- Primitive.java      20 Mar 2003 22:35:51 -0000      1.16
***************
*** 16,31 ****
  final class Primitive extends AbstractClass
  {
  
!       /**
!        * Describe what the Primitive constructor does
!        *
!        * @param name     Describe what the parameter does
!        * @todo-javadoc   Write javadocs for constructor
!        * @todo-javadoc   Write javadocs for method parameter
!        */
!       public Primitive( String name )
        {
                super( null );
                setQualifiedName( name );
        }
  
--- 16,31 ----
  final class Primitive extends AbstractClass
  {
+       private final String _type;
  
!       public Primitive( String name, String type )
        {
                super( null );
                setQualifiedName( name );
+               _type = type;
+       }
+ 
+       public final String getType()
+       {
+               return _type;
        }
  
***************
*** 40,50 ****
        }
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        public XPackage getContainingPackage()
        {
--- 40,43 ----
***************
*** 68,71 ****
                return false;
        }
- 
  }
--- 61,63 ----

Index: SourceClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/SourceClass.java,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -r1.56 -r1.57
*** SourceClass.java    24 Feb 2003 13:31:45 -0000      1.56
--- SourceClass.java    20 Mar 2003 22:35:51 -0000      1.57
***************
*** 16,21 ****
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
   * @created   3. januar 2002
-  * @todo      ADD LINE NUMBERS IN ERROR MESSAGES
-  * @todo      ADD OPTION FOR SILENCE OF WARNINGS/INFO
   */
  public final class SourceClass extends AbstractClass
--- 16,19 ----

Index: XClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XClass.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -r1.37 -r1.38
*** XClass.java 24 Feb 2003 13:31:46 -0000      1.37
--- XClass.java 20 Mar 2003 22:35:53 -0000      1.38
***************
*** 15,19 ****
   *
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   3. januar 2002
   */
  public interface XClass extends XType
--- 15,19 ----
   *
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   7. mars 2003
   */
  public interface XClass extends XType
***************
*** 34,68 ****
  
        /**
!        * Gets the qualified name
         *
!        * @return         the qualified name
!        * @todo-javadoc   Write javadocs for method
!        * @todo-javadoc   Write javadocs for return value
         */
        String getQualifiedName();
  
        /**
!        * Gets the Constructor attribute of the XClass object
         *
!        * @param constructorNameWithSignature  Describe what the parameter does
!        * @return                              The Constructor value
!        * @todo-javadoc                        Write javadocs for method parameter
         */
!       XConstructor getConstructor( String constructorNameWithSignature );
  
        /**
!        * Gets the Field attribute of the XClass object
         *
!        * @param name     Describe what the parameter does
!        * @return         The Method value
!        * @todo-javadoc   Write javadocs for method parameter
         */
        XField getField( String name );
  
-       /**
-        * Gets the Abstract attribute of the XClass object
-        *
-        * @return   The Abstract value
-        */
        boolean isAbstract();
  
--- 34,80 ----
  
        /**
!        * Gets the qualified class name.
         *
!        * @return   the qualified class name.
         */
        String getQualifiedName();
  
        /**
!        * Gets the type, e.g. <code>java.lang.String.class</code> or 
<code>java.lang.Integer.TYPE</code>
!        * .
         *
!        * @return   the qualified class name.
         */
!       String getType();
  
        /**
!        * Gets the constructor with the given signature.
!        *
!        * @param constructorNameWithSignature  the signature of the constructor, e.g.
!        *      <code>Foo(int,java.lang.String)>/code>.
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
!        *
         *
!        * @return
         */
+       XConstructor getConstructor( String constructorNameWithSignature );
+ 
        XField getField( String name );
  
        boolean isAbstract();
  
***************
*** 139,145 ****
         * interface extends.
         *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for method
!        * @todo-javadoc   Write javadocs for return value
         */
        Collection getInterfaces();
--- 151,155 ----
         * interface extends.
         *
!        * @return   a Collection of [EMAIL PROTECTED] XClass}.
         */
        Collection getInterfaces();
***************
*** 161,199 ****
        XMethod getMethod( String methodNameWithSignature );
  
-       /**
-        * Describe what the method does
-        *
-        * @param rootDir          Describe what the parameter does
-        * @return                 Describe the return value
-        * @exception IOException  Describe the exception
-        * @todo-javadoc           Write javadocs for method
-        * @todo-javadoc           Write javadocs for method parameter
-        * @todo-javadoc           Write javadocs for return value
-        * @todo-javadoc           Write javadocs for exception
-        */
        String save( File rootDir ) throws IOException;
  
        /**
!        * return package this class lives in
         *
!        * @return   package object containig class
         */
        XPackage getContainingPackage();
  
        /**
!        * Describe what the method does
         *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for method
!        * @todo-javadoc   Write javadocs for return value
         */
        Collection getImportedClasses();
  
        /**
!        * Describe what the method does
         *
!        * @return         Describe the return value
!        * @todo-javadoc   Write javadocs for method
!        * @todo-javadoc   Write javadocs for return value
         */
        Collection getInnerClasses();
--- 171,194 ----
        XMethod getMethod( String methodNameWithSignature );
  
        String save( File rootDir ) throws IOException;
  
        /**
!        * Returns the package this class lives in.
         *
!        * @return   the package this class lives in.
         */
        XPackage getContainingPackage();
  
        /**
!        * Returns the imported classes.
         *
!        * @return   a Collection of [EMAIL PROTECTED] XClass}.
         */
        Collection getImportedClasses();
  
        /**
!        * Returns the inner classes.
         *
!        * @return   a Collection of [EMAIL PROTECTED] XClass}.
         */
        Collection getInnerClasses();
***************
*** 224,254 ****
        Collection getMethods();
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        Collection getFields();
  
        Collection getFields( boolean superclasses );
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        Collection getConstructors();
  
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        Collection getImportedPackages();
  
--- 219,228 ----
***************
*** 324,329 ****
         * @return              a Collection of [EMAIL PROTECTED] XTag}. If no tags 
are found, an
         *      empty collection is returned.
-        * @ejb.persistence)    only on the method level, without the need to specify
-        *      it on the class level (DRY).
         */
        Collection getMethodTags( String tagName, boolean superclasses );
--- 298,301 ----

Index: XDoc.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XDoc.java,v
retrieving revision 1.54
retrieving revision 1.55
diff -C2 -r1.54 -r1.55
*** XDoc.java   4 Mar 2003 23:49:34 -0000       1.54
--- XDoc.java   20 Mar 2003 22:35:53 -0000      1.55
***************
*** 18,22 ****
   *
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   25. februar 2003
   */
  public final class XDoc implements XTagListener
--- 18,22 ----
   *
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   20. mars 2003
   */
  public final class XDoc implements XTagListener

Index: XExecutableMember.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XExecutableMember.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** XExecutableMember.java      4 Mar 2003 23:49:35 -0000       1.16
--- XExecutableMember.java      20 Mar 2003 22:35:54 -0000      1.17
***************
*** 9,17 ****
  
  /**
!  * Describe what this class does
   *
   * @author    Ara Abrahamian
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   25. februar 2003
   */
  public interface XExecutableMember extends XMember
--- 9,17 ----
  
  /**
!  * Common functionality for methods and constructors.
   *
   * @author    Ara Abrahamian
   * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   9. mars 2003
   */
  public interface XExecutableMember extends XMember
***************
*** 19,23 ****
--- 19,35 ----
        boolean isNative();
        boolean isSynchronized();
+ 
+       /**
+        * Returns the parameters.
+        *
+        * @return   a Collection of [EMAIL PROTECTED] XParameter}.
+        */
        Collection getParameters();
+ 
+       /**
+        * Returns the thrown exception classes.
+        *
+        * @return   a Collection of [EMAIL PROTECTED] XClass}.
+        */
        Collection getThrownExceptions();
  
***************
*** 27,38 ****
         *
         * @param exception_class_name
!        * @return                      if the member throws the exception
         */
        boolean throwsException( String exception_class_name );
        boolean isConstructor();
        String getSignature();
        String getSignature( boolean withParam );
        String getNameWithSignature();
        String getNameWithSignature( boolean withParam );
  
  }
--- 39,81 ----
         *
         * @param exception_class_name
!        * @return                      true if the member throws the exception
         */
        boolean throwsException( String exception_class_name );
+ 
+       /**
+        * Return true if this is a constructor.
+        *
+        * @return   true if this is a constructor.
+        */
        boolean isConstructor();
+ 
+       /**
+        * Returns the signature.
+        *
+        * @return       the signature.
+        * @deprecated   use getSignature(boolean)
+        */
        String getSignature();
+ 
+       /**
+        * Returns the signature. E.g. <code>(java.lang.String,int)</code> or 
<code>(java.lang.String foo,int bar)</code>
+        * .
+        *
+        * @param withParam  whether or not to include the parameter names in the
+        *      signature.
+        * @return           the signature.
+        * @deprecated       use getSignature(boolean)
+        */
        String getSignature( boolean withParam );
        String getNameWithSignature();
        String getNameWithSignature( boolean withParam );
  
+       /**
+        * Returns the parameters as a comma separated list of classes. E.g. a method
+        * with signature <code>(java.lang.String,int)</code> would return 
<code>java.lang.String.class, java.lang.Integer.TYPE</code>
+        * .
+        *
+        * @return   comma separated list of types for all parameters.
+        */
+       String getParameterTypes();
  }

Index: XField.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XField.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** XField.java 24 Feb 2003 13:31:46 -0000      1.8
--- XField.java 20 Mar 2003 22:35:54 -0000      1.9
***************
*** 13,17 ****
   * @todo-javadoc   Write javadocs for interface
   */
! public interface XField extends XMember, Dimensioned, Typed
  {
        /**
--- 13,17 ----
   * @todo-javadoc   Write javadocs for interface
   */
! public interface XField extends XMember, Type
  {
        /**

Index: XJavaDoc.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XJavaDoc.java,v
retrieving revision 1.69
retrieving revision 1.70
diff -C2 -r1.69 -r1.70
*** XJavaDoc.java       24 Feb 2003 13:31:46 -0000      1.69
--- XJavaDoc.java       20 Mar 2003 22:35:54 -0000      1.70
***************
*** 37,44 ****
         */
        public final static String IS_UNICODE = "@IS_UNICODE@";
- 
-       public final static List PRIMITIVES = Collections.unmodifiableList( 
Arrays.asList( new String[]
-               {"void", "byte", "short", "int", "long", "char", "float", "double", 
"boolean"}
-                ) );
        /**
         * messgage level for reporting unqualified classes when there are no imported
--- 37,40 ----
***************
*** 51,54 ****
--- 47,63 ----
         */
        public final static int ONE_OR_MORE_IMPORTED_PACKAGES = 1;
+ 
+       private final static List PRIMITIVES = Collections.unmodifiableList( 
Arrays.asList( new String[]
+               {"void", "java.lang.Void.TYPE",
+               "byte", "java.lang.Byte.TYPE",
+               "short", "java.lang.Short.TYPE",
+               "int", "java.lang.Integer.TYPE",
+               "long", "java.lang.Long.TYPE",
+               "char", "java.lang.Character.TYPE",
+               "float", "java.lang.Float.TYPE",
+               "double", "java.lang.Double.TYPE",
+               "boolean", "java.lang.Boolean.TYPE"
+               } ) );
+ 
        private static HashMap _primitiveClasses = new HashMap();
        private static XJavaDoc _instance = new XJavaDoc();
***************
*** 105,111 ****
        static
        {
!               for( int i = 0; i < PRIMITIVES.size(); i++ )
                {
!                       addPrimitive( ( String ) PRIMITIVES.get( i ) );
                }
        }
--- 114,120 ----
        static
        {
!               for( int i = 0; i < PRIMITIVES.size(); i += 2 )
                {
!                       addPrimitive( ( String ) PRIMITIVES.get( i ), ( String ) 
PRIMITIVES.get( i + 1 ) );
                }
        }
***************
*** 221,226 ****
         *      .
         * @param propertyRefs  List to add property names to. Must not be 
<code>null</code>
-        * @todo                move to some Util class. -Not DocletUtil, some more
-        *      generic util class. .
         */
        public static void parsePropertyString( String value, List fragments, List 
propertyRefs )
--- 230,233 ----
***************
*** 325,332 ****
         *
         * @param name  Describe the method parameter
         */
!       private final static void addPrimitive( String name )
        {
!               _primitiveClasses.put( name, new Primitive( name ) );
        }
  
--- 332,340 ----
         *
         * @param name  Describe the method parameter
+        * @param type  The feature to be added to the Primitive attribute
         */
!       private final static void addPrimitive( String name, String type )
        {
!               _primitiveClasses.put( name, new Primitive( name, type ) );
        }
  

Index: XJavaDocTest.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XJavaDocTest.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -r1.47 -r1.48
*** XJavaDocTest.java   4 Mar 2003 23:49:35 -0000       1.47
--- XJavaDocTest.java   20 Mar 2003 22:35:56 -0000      1.48
***************
*** 419,423 ****
                XClass processor = XJavaDoc.getInstance().getXClass( "Goodbye" );
                XMethod gotThis = processor.getMethod( "gotThis()" );
!               XClass processorNext = gotThis.getReturnType();
  
                assertEquals( "hanoi.Processor.Next", processorNext.getQualifiedName() 
);
--- 419,423 ----
                XClass processor = XJavaDoc.getInstance().getXClass( "Goodbye" );
                XMethod gotThis = processor.getMethod( "gotThis()" );
!               XClass processorNext = gotThis.getReturnType().getType();
  
                assertEquals( "hanoi.Processor.Next", processorNext.getQualifiedName() 
);

Index: XMethod.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XMethod.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** XMethod.java        4 Mar 2003 23:49:35 -0000       1.13
--- XMethod.java        20 Mar 2003 22:35:56 -0000      1.14
***************
*** 5,8 ****
--- 5,10 ----
  package xjavadoc;
  
+ import org.apache.commons.collections.Predicate;
+ 
  /**
   * Describe what this class does
***************
*** 11,29 ****
   * @created   25. februar 2003
   */
! public interface XMethod extends XExecutableMember, Typed, Dimensioned
  {
!       XClass getReturnType();
  
        /**
!        * @return
!        * @deprecated   use getDimension instead
         */
!       int getReturnDimension();
  
        /**
!        * @return
!        * @deprecated   use getDimensionAsString instead
         */
!       String getReturnDimensionAsString();
  
        /**
--- 13,45 ----
   * @created   25. februar 2003
   */
! public interface XMethod extends XExecutableMember
  {
!       /**
!        * Predicate that can be used to retrieve all property mutator methods.
!        */
!       public final static Predicate PROPERTY_MUTATOR_PREDICATE = new 
PropertyMutatorPredicate();
! 
!       /**
!        * Predicate that can be used to retrieve all property accessor methods.
!        */
!       public final static Predicate PROPERTY_ACCESSOR_PREDICATE = new 
PropertyAccessorPredicate();
  
        /**
!        * Returns the return type of the method.
!        *
!        * @return   the return type of the method.
         */
!       Type getReturnType();
  
        /**
!        * Returns the type of the property this method represents, or null if this
!        * method is not a property method.
!        *
!        * @return   the property type
!        * @see      #isPropertyMutator
!        * @see      #isPropertyAccessor
!        * @see      #getPropertyName
         */
!       Type getPropertyType();
  
        /**
***************
*** 44,46 ****
--- 60,88 ----
         */
        boolean isPropertyAccessor();
+ 
+       /**
+        * @created   20. mars 2003
+        */
+       static class PropertyAccessorPredicate implements Predicate
+       {
+               public boolean evaluate( Object o )
+               {
+                       XMethod method = ( XMethod ) o;
+ 
+                       return method.isPropertyAccessor();
+               }
+       }
+ 
+       /**
+        * @created   20. mars 2003
+        */
+       static class PropertyMutatorPredicate implements Predicate
+       {
+               public boolean evaluate( Object o )
+               {
+                       XMethod method = ( XMethod ) o;
+ 
+                       return method.isPropertyMutator();
+               }
+       }
  }

Index: XParameter.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XParameter.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** XParameter.java     4 Mar 2003 23:49:35 -0000       1.14
--- XParameter.java     20 Mar 2003 22:35:57 -0000      1.15
***************
*** 9,14 ****
   * @created   25. februar 2003
   */
! public interface XParameter extends Dimensioned, Typed, Named
  {
  }
  
--- 9,29 ----
   * @created   25. februar 2003
   */
! public interface XParameter extends Type, Named
  {
+       /**
+        * Gets the param tag for this parameter.
+        *
+        * @return   the param tag for this parameter, or null if none is specified.
+        */
+       XTag getParamTag();
+ 
+       /**
+        * Gets the description of this parameter. This is the text in the param tag
+        * preceding the first token.
+        *
+        * @return   the description of this parameter, or null if there is no
+        *      corresponding param tag.
+        */
+       String getDescription();
  }
  

Index: XProgramElement.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XProgramElement.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** XProgramElement.java        24 Feb 2003 13:31:46 -0000      1.13
--- XProgramElement.java        20 Mar 2003 22:35:57 -0000      1.14
***************
*** 9,121 ****
   * Describe what this class does
   *
!  * @author         Ara Abrahamian
!  * @author         <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created        February 16, 2002
!  * @todo-javadoc   Write javadocs for interface
   */
  
  public interface XProgramElement extends Comparable, Named
  {
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        XClass getContainingClass();
- 
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        XPackage getContainingPackage();
- 
-       /**
-        * Gets the Final attribute of the XProgramElement object
-        *
-        * @return   The Final value
-        */
        boolean isFinal();
- 
-       /**
-        * Gets the PackagePrivate attribute of the XProgramElement object
-        *
-        * @return   The PackagePrivate value
-        */
        boolean isPackagePrivate();
- 
-       /**
-        * Gets the Private attribute of the XProgramElement object
-        *
-        * @return   The Private value
-        */
        boolean isPrivate();
- 
-       /**
-        * Gets the Protected attribute of the XProgramElement object
-        *
-        * @return   The Protected value
-        */
        boolean isProtected();
- 
-       /**
-        * Gets the Abstract attribute of the XProgramElement object
-        *
-        * @return   The Abstract value
-        */
        boolean isAbstract();
- 
-       /**
-        * Gets the Public attribute of the XProgramElement object
-        *
-        * @return   The Public value
-        */
        boolean isPublic();
- 
-       /**
-        * Gets the Static attribute of the XProgramElement object
-        *
-        * @return   The Static value
-        */
        boolean isStatic();
- 
-       /**
-        * Returns the modifiers as a String
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        String getModifiers();
- 
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        int getModifierSpecifier();
- 
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        XDoc getDoc();
- 
-       /**
-        * Describe what the method does
-        *
-        * @return         Describe the return value
-        * @todo-javadoc   Write javadocs for method
-        * @todo-javadoc   Write javadocs for return value
-        */
        XProgramElement getSuperElement();
  
--- 9,31 ----
   * Describe what this class does
   *
!  * @author    Ara Abrahamian
!  * @author    <a href="mailto:[EMAIL PROTECTED]">Aslak Helles�y</a>
!  * @created   February 16, 2002
   */
  
  public interface XProgramElement extends Comparable, Named
  {
        XClass getContainingClass();
        XPackage getContainingPackage();
        boolean isFinal();
        boolean isPackagePrivate();
        boolean isPrivate();
        boolean isProtected();
        boolean isAbstract();
        boolean isPublic();
        boolean isStatic();
        String getModifiers();
        int getModifierSpecifier();
        XDoc getDoc();
        XProgramElement getSuperElement();
  

--- Dimensioned.java DELETED ---

--- Typed.java DELETED ---



-------------------------------------------------------
This SF.net email is sponsored by: Tablet PC.  
Does your code think in ink? You could win a Tablet PC. 
Get a free Tablet PC hat just for playing. What are you waiting for? 
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to