Merging with latest state - e.g. 0.7 version
2 * Back 2 Browser Bytecode Translator
3 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 2 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. Look for COPYING file in the top folder.
16 * If not, see http://opensource.org/licenses/GPL-2.0.
18 package org.apidesign.bck2brwsr.htmlpage;
20 import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
21 import org.apidesign.bck2brwsr.htmlpage.api.Model;
22 import org.apidesign.bck2brwsr.htmlpage.api.OnFunction;
23 import org.apidesign.bck2brwsr.htmlpage.api.Property;
27 * @author Jaroslav Tulach <jtulach@netbeans.org>
29 @Model(className = "Person", properties = {
30 @Property(name = "firstName", type = String.class),
31 @Property(name = "lastName", type = String.class),
32 @Property(name = "sex", type = Sex.class)
34 final class PersonImpl {
36 public static String fullName(String firstName, String lastName) {
37 return firstName + " " + lastName;
41 public static String sexType(Sex sex) {
42 return sex == null ? "unknown" : sex.toString();
46 static void changeSex(Person p) {
47 if (p.getSex() == Sex.MALE) {
54 @Model(className = "People", properties = {
55 @Property(array = true, name = "info", type = Person.class),
56 @Property(array = true, name = "nicknames", type = String.class),
57 @Property(array = true, name = "age", type = int.class),
58 @Property(array = true, name = "sex", type = Sex.class)
60 public class PeopleImpl {