
Listing 3. Cflow and clowbelow examples. These pointcuts are 
defined in terms of other pointcuts.   
--------------------------------------------------------------------

/*
	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");
			}
		}
	}



