|
package com.hfk.android.gestures.dsl;
import java.lang.reflect.InvocationTargetException;
import com.hfk.android.gestures.IGestureAction;
import com.hfk.android.gestures.IfThenClause;
import com.hfk.android.gestures.TouchEvent;
import com.hfk.android.gestures.TouchGesture;
public class AfterConditionalContinuation<NextGesture> {
public AfterConditionalContinuation(Class<NextGesture> aClass, TouchGesture gstr, TouchEvent vnt, IfThenClause aCondition)
{
refClass = aClass;
gesture = gstr;
event = vnt;
condition = aCondition;
}
public NextGesture AndNext()
{
NextGesture result = null;
try {
result = getInstance(refClass);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public void AndFinally(IGestureAction action)
{
gesture.setResetAction(action);
}
// public AfterConditional<NextGesture> AndIf()
// {
// AfterConditional<NextGesture> result = new AfterConditional<NextGesture>(refClass, gesture, event);
//
// return result;
// }
public ActionAfterGestureOrConditionalContinuation<NextGesture> Else()
{
ActionAfterGestureOrConditionalContinuation<NextGesture> result = new ActionAfterGestureOrConditionalContinuation<NextGesture>(refClass, gesture, event, condition);
return result;
}
//http://stackoverflow.com/questions/2434041/instantiating-generics-type-in-java
//http://stackoverflow.com/questions/234600/can-i-use-class-newinstance-with-constructor-arguments
private NextGesture getInstance(Class<NextGesture> aClass) throws IllegalArgumentException, SecurityException, InvocationTargetException, NoSuchMethodException
{
try {
return aClass.getDeclaredConstructor(TouchGesture.class).newInstance(gesture);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private Class<NextGesture> refClass;
private TouchGesture gesture;
private TouchEvent event;
private IfThenClause condition;
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.