FileDocCategorySizeDatePackage
SomeClassCountingProxy.javaAPI DocExample1663Sun Dec 14 22:47:38 GMT 2003oreilly.hcj.proxies

SomeClassCountingProxy.java

/*
 *     file: SomeClassCountingProxy.java
 *  package: oreilly.hcj.proxies
 *
 * This software is granted under the terms of the Common Public License,
 * CPL, which may be found at the following URL:
 * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm
 *
 * Copyright(c) 2003-2005 by the authors indicated in the @author tags.
 * All Rights are Reserved by the various authors.
 *
########## DO NOT EDIT ABOVE THIS LINE ########## */

package oreilly.hcj.proxies;

/**  
 * A simple proxy to SomeClass.
 *
 * @author <a href=mailto:kraythe@arcor.de>Robert Simmons jr. (kraythe)</a>
 * @version $Revision: 1.2 $
 */
public class SomeClassCountingProxy implements SomeClass {
	/** The implementation object for this proxy. */
	private final SomeClassImpl impl;

	/** Holds the invocation count. */
	private int invocationCount = 0;

	/** 
	 * Creates a new SomeClassProxy object.
	 *
	 * @param impl The implementation object for this proxy.
	 */
	public SomeClassCountingProxy(final SomeClassImpl impl) {
		this.impl = impl;
	}

	/** 
	 * Gets the value of the property invocationCount.
	 *
	 * @return The current value of invocationCount
	 */
	public int getInvocationCount() {
		return invocationCount;
	}

	/** 
	 * @see oreilly.hcj.proxies.SomeClass#someMethod()
	 */
	public void someMethod() {
		this.invocationCount++;
		this.impl.someMethod();
	}

	/** 
	 * @see oreilly.hcj.proxies.SomeClass#someOtherMethod(java.lang.String)
	 */
	public void someOtherMethod(String text) {
		this.invocationCount++;
		this.impl.someOtherMethod(text);
	}
}

/* ########## End of File ########## */