Write an aspect that counts different kinds of method calls, JAVA Programming

 Problem statement Part 1 Write an aspect that counts different kinds of method calls in a Java program. Your aspect should meet the following requirements: 

The aspect should maintain the following counts: (1) calls to public methods, (2) calls to private methods, (3) calls to protected methods, (4) calls to package-private methods (i.e., those that are not public, private, or protected), (5) calls to static methods, calls to (6) non-static methods, (7) calls to all methods. Note that these sets of methods are not mutually exclusive; a method can, for example, be public and non-static.  

Count every method call, excluding the main( ) method that began the program. Be sure to count method calls made within the executions of other methods. (So, if we call a public method x( ) that calls a public method y( ) that calls a public method z( ), that should add 3 to the count of calls to public methods and 3 to the count of calls to all methods.) 

Do not include constructors in the counts. 

Include calls to methods in the Java library, but don't include the method calls that the library methods make to other library methods.  

If the advice in your aspect calls any methods, do not include these method calls in the count.  

As the program is ending, print a message to System.out that indicates the value of each of your counts, in a simple tabular form. The message should appear after any other output generated by the program.

Your aspect should not be specific to a particular program; it should be possible to weave it into any existing Java program. You may not assume that the program will have only one main() method (i.e., only one method with the signature public static void main(String[] args)), nor that main() methods will not call each other, but the output showing the method calls counts should only appear when the last main() method is returning. 

You may assume that the aspect will be compiled together with all of the source code of the program it modifies. However, the other parts of the program must not be dependent upon the contents of the aspect. It should be possible to compile a program with or without the aspect; other than the method counting feature, the program's behavior should not change as a result of include the aspect or leaving it out.

 

Posted Date: 2/26/2013 1:44:28 AM | Location : United States







Related Discussions:- Write an aspect that counts different kinds of method calls, Assignment Help, Ask Question on Write an aspect that counts different kinds of method calls, Get Answer, Expert's Help, Write an aspect that counts different kinds of method calls Discussions

Write discussion on Write an aspect that counts different kinds of method calls
Your posts are moderated
Related Questions
What are three ways in which a thread can enter the waiting state ?

The LookupDispatchAction is a subclass of DispatchAction. It does a reverse lookup on the resource package to get the key and then gets the method whose name is associated with the

write a program that counts the number of occurrences of the string in the n-th Padovan string P(n).   program in java // aakash , suraj , prem sasi kumar kamaraj college

Sequence diagrams are communication diagrams which detail what messages are sent and when. The sequence diagrams are placed according to time. The time performs as you move from to

how to write coding for money and currency

Information Retrieval from Multi-Agent System with Data Mining in Cloud Computing I have proposed one research model on "Information Retrieval during Multi-Agent System with Dat


RMI uses a layered architecture; every of the layers could be increased or replaced without affecting the rest of the system. The details of layers can be summarised as follows:

Determine the phase Loading- Java Program Development In phase 3, the program must first be placed in memory before it can be executed. This is done by the class loader, whic

Explain final fields ? You may also declare fields to be final. This is not the similar thing as declaring a method or class to be final. While a field is declared final, it is