javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Page.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 26 Jan 2013 08:47:05 +0100
changeset 592 5e13b1ac2886
parent 140 590958fcb7d7
child 1787 ea12a3bb4b33
permissions -rw-r--r--
In order to support fields of the same name in subclasses we are now prefixing them with name of the class that defines them. To provide convenient way to access them from generated bytecode and also directly from JavaScript, there is a getter/setter function for each field. It starts with _ followed by the field name. If called with a parameter, it sets the field, with a parameter it just returns it.
jaroslav@26
     1
/**
jaroslav@106
     2
 * Back 2 Browser Bytecode Translator
jaroslav@106
     3
 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jaroslav@26
     4
 *
jaroslav@26
     5
 * This program is free software: you can redistribute it and/or modify
jaroslav@26
     6
 * it under the terms of the GNU General Public License as published by
jaroslav@26
     7
 * the Free Software Foundation, version 2 of the License.
jaroslav@26
     8
 *
jaroslav@26
     9
 * This program is distributed in the hope that it will be useful,
jaroslav@26
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jaroslav@26
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
jaroslav@26
    12
 * GNU General Public License for more details.
jaroslav@26
    13
 *
jaroslav@26
    14
 * You should have received a copy of the GNU General Public License
jaroslav@26
    15
 * along with this program. Look for COPYING file in the top folder.
jaroslav@26
    16
 * If not, see http://opensource.org/licenses/GPL-2.0.
jaroslav@26
    17
 */
jaroslav@26
    18
package org.apidesign.bck2brwsr.htmlpage.api;
jaroslav@26
    19
jaroslav@26
    20
import java.lang.annotation.ElementType;
jaroslav@26
    21
import java.lang.annotation.Retention;
jaroslav@26
    22
import java.lang.annotation.RetentionPolicy;
jaroslav@26
    23
import java.lang.annotation.Target;
jaroslav@26
    24
jaroslav@26
    25
/** Converts an XHTML page into a Java class that contains 
jaroslav@26
    26
 * references to all IDs.
jaroslav@26
    27
 *
jaroslav@26
    28
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@26
    29
 */
jaroslav@26
    30
@Retention(RetentionPolicy.SOURCE)
jaroslav@100
    31
@Target(ElementType.TYPE)
jaroslav@26
    32
public @interface Page {
jaroslav@26
    33
    /** Path to the XHTML page to read in */
jaroslav@26
    34
    String xhtml();
jaroslav@26
    35
    /** Name of a Java class to generate. It will contain constants for all
jaroslav@26
    36
     * found elements with IDs.
jaroslav@26
    37
     */
jaroslav@108
    38
    String className() default "";
jaroslav@490
    39
    /** List of properties generated into the page.
jaroslav@490
    40
     */
jaroslav@490
    41
    Property[] properties() default {};
jaroslav@26
    42
}