Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deestan/4155086 to your computer and use it in GitHub Desktop.
Save deestan/4155086 to your computer and use it in GitHub Desktop.
/** Nonblocking Object Analyzer
*
* @author Jon D. Packer
* @version 6.0z Build 9000 Nov. 27 2012
*/
public class NonblockingObjectAnalyzer {
private Object object;
/** Object Analyzed Object class */
public abstract class ObjectAnalyzedObject {
/** Analyzed the Object
*
* @param object The object
* @param object2 The other object
*/
public abstract void objectAnalyzed(Object object, Object object2);
}
/** Object Analyzer class */
public abstract class ObjectAnalyzer {
/** Analyze the Object
*
* @param object The object
*/
public abstract Object analyzeObject(Object object);
}
/** Constructor for NonblockingObjectAnalyzer
*
* @param object The object
*/
public NonblockingObjectAnalyzer(Object object) {
this.object = object;
}
/** Analyze the Object
*
* @param objectAnalyzer The object analyzer
* @param objectAnalyzedObject The analyzed object object
*/
public void analyzeObject(Object objectAnalyzer, Object objectAnalyzedObject) {
Object analyzedObject = ((ObjectAnalyzer)objectAnalyzer).analyzeObject(object);
((ObjectAnalyzedObject)objectAnalyzedObject).objectAnalyzed(object, analyzedObject);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment