
Listing 2. An example where call and execution pointcuts have 
different results even though they have the same signatures.  
--------------------------------------------------------------------

/*
	The call pointcut isn't applicable, because stringWrapper
	is declared to be of type Object (which does not match
	the signature). 

	Because StringWrapper is in the package com.wgrosso, the
	execution pointcut does apply. 
*/

	pointcut callExample(): call(* com.wgrosso..*.*(..));

	pointcut executionExample(): execution(* com.wgrosso..*.*(..));


/*
	The code
*/

	public static void main(String[] args) {
		if ((null==args) || (0==args.length)) {
			System.out.println("No arguments");
		}
		else {
			System.out.println("Arguments:\n");
			for (int i=0; i < args.length; i++) {
				Object stringWrapper = new StringWrapper(args[i]);
				System.out.println("\t" + stringWrapper.toString() + "\n");
			}
		}
	}



