ko/bck2brwsr/src/main/java/org/apidesign/bck2brwsr/ko2brwsr/BrwsrCtxPrvdr.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 10 Sep 2013 15:40:00 +0200
changeset 1278 1dac1da89357
parent 1228 462dd9238173
child 1420 246ee398b411
permissions -rw-r--r--
Actually also register the WebSocket transfer to the bck2brwsr context
jaroslav@1189
     1
/**
jaroslav@1227
     2
 * Back 2 Browser Bytecode Translator
jaroslav@1227
     3
 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jaroslav@1189
     4
 *
jaroslav@1189
     5
 * This program is free software: you can redistribute it and/or modify
jaroslav@1189
     6
 * it under the terms of the GNU General Public License as published by
jaroslav@1189
     7
 * the Free Software Foundation, version 2 of the License.
jaroslav@1189
     8
 *
jaroslav@1189
     9
 * This program is distributed in the hope that it will be useful,
jaroslav@1189
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jaroslav@1189
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
jaroslav@1227
    12
 * GNU General Public License for more details.
jaroslav@1189
    13
 *
jaroslav@1189
    14
 * You should have received a copy of the GNU General Public License
jaroslav@1189
    15
 * along with this program. Look for COPYING file in the top folder.
jaroslav@1227
    16
 * If not, see http://opensource.org/licenses/GPL-2.0.
jaroslav@1189
    17
 */
jaroslav@1228
    18
package org.apidesign.bck2brwsr.ko2brwsr;
jaroslav@1189
    19
jaroslav@1189
    20
import org.apidesign.bck2brwsr.core.JavaScriptBody;
jaroslav@1220
    21
import org.apidesign.html.context.spi.Contexts;
jaroslav@1220
    22
import org.apidesign.html.json.spi.Technology;
jaroslav@1220
    23
import org.apidesign.html.json.spi.Transfer;
jaroslav@1278
    24
import org.apidesign.html.json.spi.WSTransfer;
jaroslav@1189
    25
import org.openide.util.lookup.ServiceProvider;
jaroslav@1189
    26
jaroslav@1194
    27
/** This is an implementation package - just
jaroslav@1194
    28
 * include its JAR on classpath and use official {@link Context} API
jaroslav@1194
    29
 * to access the functionality.
jaroslav@1194
    30
 * <p>
jaroslav@1194
    31
 * Provides binding between models and <a href="http://bck2brwsr.apidesign.org">
jaroslav@1194
    32
 * Bck2Brwsr</a> VM.
jaroslav@1194
    33
 * Registers {@link ContextProvider}, so {@link ServiceLoader} can find it.
jaroslav@1189
    34
 *
jaroslav@1194
    35
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@1189
    36
 */
jaroslav@1220
    37
@ServiceProvider(service = Contexts.Provider.class)
jaroslav@1220
    38
public final class BrwsrCtxPrvdr implements Contexts.Provider {
jaroslav@1220
    39
jaroslav@1189
    40
    @Override
jaroslav@1220
    41
    public void fillContext(Contexts.Builder context, Class<?> requestor) {
jaroslav@1220
    42
        if (bck2BrwsrVM()) {
jaroslav@1220
    43
            context.register(Technology.class, BrwsrCtxImpl.DEFAULT, 50).
jaroslav@1278
    44
            register(Transfer.class, BrwsrCtxImpl.DEFAULT, 50).
jaroslav@1278
    45
            register(WSTransfer.class, BrwsrCtxImpl.DEFAULT, 50);
jaroslav@1220
    46
        }
jaroslav@1189
    47
    }
jaroslav@1189
    48
    
jaroslav@1189
    49
    @JavaScriptBody(args = {  }, body = "return true;")
jaroslav@1189
    50
    private static boolean bck2BrwsrVM() {
jaroslav@1189
    51
        return false;
jaroslav@1189
    52
    }
jaroslav@1189
    53
}