You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AdviceDoc.java 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /* -*- Mode: JDE; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2. *
  3. * This file is part of the debugger and core tools for the AspectJ(tm)
  4. * programming language; see http://aspectj.org
  5. *
  6. * The contents of this file are subject to the Mozilla Public License
  7. * Version 1.1 (the "License"); you may not use this file except in
  8. * compliance with the License. You may obtain a copy of the License at
  9. * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
  10. *
  11. * Software distributed under the License is distributed on an "AS IS" basis,
  12. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  13. * for the specific language governing rights and limitations under the
  14. * License.
  15. *
  16. * The Original Code is AspectJ.
  17. *
  18. * The Initial Developer of the Original Code is Xerox Corporation. Portions
  19. * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
  20. * All Rights Reserved.
  21. */
  22. package org.aspectj.ajdoc;
  23. import com.sun.javadoc.Type;
  24. /**
  25. * Documentation for a piece of advice.
  26. *
  27. * @author Jeff Palm
  28. */
  29. public interface AdviceDoc extends ExecutableMemberDoc,
  30. com.sun.javadoc.ExecutableMemberDoc {
  31. /**
  32. * Returns <code>true</code> if the advice is <code>abstract</code>.
  33. *
  34. * @return <code>true</code> if the advice is <code>abstract</code>.
  35. */
  36. public boolean isAbstract();
  37. /**
  38. * Returns a {@link #AspectDoc} representing the aspect
  39. * that is overriden by this advice.
  40. *
  41. * @return a AspectDoc representing the aspect
  42. * that is overriden by this advice.
  43. */
  44. public AspectDoc overriddenAspect();
  45. /**
  46. * Returns the return type of this advice -- it may be null.
  47. *
  48. * @return the return type of this advice -- it may be null.
  49. */
  50. public Type returnType();
  51. /**
  52. * Returns the array of docs this advice crosscuts.
  53. *
  54. * @return an array of docs this advice crosscuts.
  55. */
  56. public com.sun.javadoc.ExecutableMemberDoc[] crosscuts();
  57. /**
  58. * Returns <code>true</code> if this is <code>throwing</code> advice.
  59. *
  60. * @return <code>true</code> if this is <code>throwing</code> advice.
  61. */
  62. public boolean isThrowing();
  63. /**
  64. * Returns <code>true</code> if this is <code>returning</code> advice.
  65. *
  66. * @return <code>true</code> if this is <code>returning</code> advice.
  67. */
  68. public boolean isReturning();
  69. /**
  70. * Returns the extra formal type that's the optional type
  71. * to <code>after returning</code> or <code>after throwing</code>
  72. * advice.
  73. *
  74. * @return an instance of Type that represents the the extra formal type
  75. * that's the optional type to <code>after returning</code> or
  76. * <code>after throwing</code> advice.
  77. */
  78. public Type extraType();
  79. }