--- /dev/null
+/*
+ * Copyright 2011 Vaadin Ltd.
+ *
+ * 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 com.vaadin.tests.minitutorials.v7b1;
+
+import com.vaadin.shared.ComponentState;
+import com.vaadin.ui.AbstractComponent;
+
+public class Addition extends AbstractComponent {
+ private int term1;
+ private int term2;
+
+ public void setTerm1(int value1) {
+ this.term1 = value1;
+ markAsDirty();
+ }
+
+ public void setTerm2(int value2) {
+ this.term2 = value2;
+ markAsDirty();
+ }
+
+ private int calculateSum() {
+ return term1 + term2;
+ }
+
+ @Override
+ public void beforeClientResponse(boolean initial) {
+ getState().sum = calculateSum();
+ }
+
+ @Override
+ protected AddResultState getState() {
+ return (AddResultState) super.getState();
+ }
+}
+
+class AddResultState extends ComponentState {
+ public int sum;
+}