ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCtxPrvdr.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 28 May 2013 13:31:42 +0200
branchcontext
changeset 1220 cf9ba1d883c5
parent 1194 ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxtPrvdr.java@3213724a4996
permissions -rw-r--r--
Moving Context into its own separate module, renaming to BrwsrCtx and making it flexible
     1 /**
     2  * HTML via Java(tm) Language Bindings
     3  * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
     4  *
     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.
     8  *
     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. apidesign.org
    13  * designates this particular file as subject to the
    14  * "Classpath" exception as provided by apidesign.org
    15  * in the License file that accompanied this code.
    16  *
    17  * You should have received a copy of the GNU General Public License
    18  * along with this program. Look for COPYING file in the top folder.
    19  * If not, see http://wiki.apidesign.org/wiki/GPLwithClassPathException
    20  */
    21 package org.apidesign.html.ko2brwsr;
    22 
    23 import org.apidesign.bck2brwsr.core.JavaScriptBody;
    24 import org.apidesign.html.context.spi.Contexts;
    25 import org.apidesign.html.json.spi.Technology;
    26 import org.apidesign.html.json.spi.Transfer;
    27 import org.openide.util.lookup.ServiceProvider;
    28 
    29 /** This is an implementation package - just
    30  * include its JAR on classpath and use official {@link Context} API
    31  * to access the functionality.
    32  * <p>
    33  * Provides binding between models and <a href="http://bck2brwsr.apidesign.org">
    34  * Bck2Brwsr</a> VM.
    35  * Registers {@link ContextProvider}, so {@link ServiceLoader} can find it.
    36  *
    37  * @author Jaroslav Tulach <jtulach@netbeans.org>
    38  */
    39 @ServiceProvider(service = Contexts.Provider.class)
    40 public final class BrwsrCtxPrvdr implements Contexts.Provider {
    41 
    42     @Override
    43     public void fillContext(Contexts.Builder context, Class<?> requestor) {
    44         if (bck2BrwsrVM()) {
    45             context.register(Technology.class, BrwsrCtxImpl.DEFAULT, 50).
    46             register(Transfer.class, BrwsrCtxImpl.DEFAULT, 50);
    47         }
    48     }
    49     
    50     @JavaScriptBody(args = {  }, body = "return true;")
    51     private static boolean bck2BrwsrVM() {
    52         return false;
    53     }
    54 }