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.

AspectDoc.java 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. /**
  24. * Represents an aspectj aspect and extends
  25. * <code>ClassDoc</code> to provide the extra aspectj-only
  26. * information not present in that interface.
  27. *
  28. * @author Jeff Palm
  29. */
  30. public interface AspectDoc extends ClassDoc { //, com.sun.javadoc.ClassDoc {
  31. /**
  32. * Return advice in aspect.
  33. *
  34. * @return an array of AdviceDoc for representing the
  35. * visible advice in this aspect.
  36. */
  37. public AdviceDoc[] advice();
  38. /**
  39. * Return aspects that are dominated by this aspect.
  40. *
  41. * @return an array of AspectDoc for representing the
  42. * aspects that are dominated by this aspect.
  43. */
  44. public AspectDoc[] dominatees();
  45. /**
  46. * Return aspects that dominate this aspect.
  47. *
  48. * @return an array of AspectDoc for representing the
  49. * aspects that dominate this aspect.
  50. */
  51. public AspectDoc[] dominators();
  52. /**
  53. * Return the introductions made by this aspect on other types.
  54. *
  55. * @return an array of IntroductionDoc for representing the
  56. * introductions made on other types.
  57. */
  58. public IntroductionDoc[] introductions();
  59. /**
  60. * Return the of clauses that describe this aspect.
  61. *
  62. * @return an array of OfClauseDoc for representing the
  63. * of clauses that describe this aspect.
  64. */
  65. public OfClauseDoc ofClause();
  66. /**
  67. * Returns <code>true</code> if this aspects dominates
  68. * the passed in aspect.
  69. *
  70. * @param other an AspectDoc that represents another
  71. * aspect in this world.
  72. * @return <code>true</code> if this aspects dominates
  73. * the passed in aspect.
  74. */
  75. public boolean dominates(AspectDoc other);
  76. }