All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.androidannotations.holder.KeyEventCallbackMethodsDelegate Maven / Gradle / Ivy

There is a newer version: 4.8.0
Show newest version
/**
 * Copyright (C) 2010-2016 eBusiness Information, Excilys Group
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed To in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.androidannotations.holder;

import static com.helger.jcodemodel.JExpr._super;
import static com.helger.jcodemodel.JMod.PUBLIC;

import com.helger.jcodemodel.JBlock;
import com.helger.jcodemodel.JMethod;
import com.helger.jcodemodel.JSwitch;
import com.helger.jcodemodel.JVar;

public class KeyEventCallbackMethodsDelegate extends GeneratedClassHolderDelegate {

	private JSwitch onKeyDownSwitchBody;
	private JVar onKeyDownKeyEventParam;
	private JSwitch onKeyLongPressSwitchBody;
	private JVar onKeyLongPressKeyEventParam;
	private JSwitch onKeyUpSwitchBody;
	private JVar onKeyUpKeyEventParam;
	private JSwitch onKeyMultipleSwitchBody;
	private JVar onKeyMultipleCountParam;
	private JVar onKeyMultipleKeyEventParam;

	public KeyEventCallbackMethodsDelegate(T holder) {
		super(holder);
	}

	private void createOnKeyDownMethod() {
		JMethod method = getGeneratedClass().method(PUBLIC, codeModel().BOOLEAN, "onKeyDown");
		method.annotate(Override.class);
		JVar keyCode = method.param(codeModel().INT, "keyCode");
		onKeyDownKeyEventParam = method.param(getClasses().KEY_EVENT, "keyEvent");
		JBlock methodBody = method.body();
		onKeyDownSwitchBody = methodBody._switch(keyCode);
		methodBody._return(_super().invoke(method).arg(keyCode).arg(onKeyDownKeyEventParam));
	}

	private void createOnKeyLongPressMethod() {
		JMethod method = getGeneratedClass().method(PUBLIC, codeModel().BOOLEAN, "onKeyLongPress");
		method.annotate(Override.class);
		JVar keyCode = method.param(codeModel().INT, "keyCode");
		onKeyLongPressKeyEventParam = method.param(getClasses().KEY_EVENT, "keyEvent");
		JBlock methodBody = method.body();
		onKeyLongPressSwitchBody = methodBody._switch(keyCode);
		methodBody._return(_super().invoke(method).arg(keyCode).arg(onKeyLongPressKeyEventParam));
	}

	private void createOnKeyMultipleMethod() {
		JMethod method = getGeneratedClass().method(PUBLIC, codeModel().BOOLEAN, "onKeyMultiple");
		method.annotate(Override.class);
		JVar keyCode = method.param(codeModel().INT, "keyCode");
		onKeyMultipleCountParam = method.param(codeModel().INT, "count");
		onKeyMultipleKeyEventParam = method.param(getClasses().KEY_EVENT, "keyEvent");
		JBlock methodBody = method.body();
		onKeyMultipleSwitchBody = methodBody._switch(keyCode);
		methodBody._return(_super().invoke(method).arg(keyCode).arg(onKeyMultipleCountParam).arg(onKeyDownKeyEventParam));
	}

	private void createOnKeyUpMethod() {
		JMethod method = getGeneratedClass().method(PUBLIC, codeModel().BOOLEAN, "onKeyUp");
		method.annotate(Override.class);
		JVar keyCode = method.param(codeModel().INT, "keyCode");
		onKeyUpKeyEventParam = method.param(getClasses().KEY_EVENT, "keyEvent");
		JBlock methodBody = method.body();
		onKeyUpSwitchBody = methodBody._switch(keyCode);
		methodBody._return(_super().invoke(method).arg(keyCode).arg(onKeyUpKeyEventParam));
	}

	public JSwitch getOnKeyDownSwitchBody() {
		if (onKeyDownSwitchBody == null) {
			createOnKeyDownMethod();
		}
		return onKeyDownSwitchBody;
	}

	public JVar getOnKeyDownKeyEventParam() {
		if (onKeyDownKeyEventParam == null) {
			createOnKeyDownMethod();
		}
		return onKeyDownKeyEventParam;
	}

	public JSwitch getOnKeyLongPressSwitchBody() {
		if (onKeyLongPressSwitchBody == null) {
			createOnKeyLongPressMethod();
		}
		return onKeyLongPressSwitchBody;
	}

	public JVar getOnKeyLongPressKeyEventParam() {
		if (onKeyLongPressKeyEventParam == null) {
			createOnKeyLongPressMethod();
		}
		return onKeyLongPressKeyEventParam;
	}

	public JSwitch getOnKeyMultipleSwitchBody() {
		if (onKeyMultipleSwitchBody == null) {
			createOnKeyMultipleMethod();
		}
		return onKeyMultipleSwitchBody;
	}

	public JVar getOnKeyMultipleKeyEventParam() {
		if (onKeyMultipleKeyEventParam == null) {
			createOnKeyMultipleMethod();
		}
		return onKeyMultipleKeyEventParam;
	}

	public JVar getOnKeyMultipleCountParam() {
		if (onKeyMultipleCountParam == null) {
			createOnKeyMultipleMethod();
		}
		return onKeyMultipleCountParam;
	}

	public JSwitch getOnKeyUpSwitchBody() {
		if (onKeyUpSwitchBody == null) {
			createOnKeyUpMethod();
		}
		return onKeyUpSwitchBody;
	}

	public JVar getOnKeyUpKeyEventParam() {
		if (onKeyUpKeyEventParam == null) {
			createOnKeyUpMethod();
		}
		return onKeyUpKeyEventParam;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy