File: issue244973B.js.semantic

package info (click to toggle)
libnb-platform18-java 12.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 729,800 kB
  • sloc: java: 5,059,097; xml: 574,432; php: 78,788; javascript: 29,039; ansic: 10,278; sh: 6,386; cpp: 4,612; jsp: 3,643; sql: 1,097; makefile: 540; objc: 288; perl: 277; haskell: 93
file content (58 lines) | stat: -rw-r--r-- 2,047 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
define([], function() {

    /**
     * Load and stores pages definitions from and to the backend.
     * This class just delegates to the registered instance of the PagesManager.
     *
     * Please do not confuse this object with PagesManager from V1 - use
     * Pages object for the same purpose as PagesManager in V1
     *
     * TODO: lazy pages loading
     * TODO: add some prefix to the page keys in the storage
     *
     * @singleton.
     */
    var |>METHOD:PagesManager<| = function() {
        |>GLOBAL:Breeze<|.checkThis(this);
        |>GLOBAL:Breeze<|.checkSingleton(PagesManager);
    };

    PagesManager.|>FIELD:NO_IMPLEMENTATION_ERROR<| = new Error('No implementation of PagesManagerImpl registered!');
    PagesManager.|>FIELD:INVALID_ARGUMENT<| = new Error('Invalid argument!');
    PagesManager.|>FIELD:ALREADY_REGISTERED<| = new Error('Already registered!');
    PagesManager.prototype.|>CLASS:_implementation<| = null;
       
    PagesManager.prototype.|>METHOD:loadPage<| = function(id, callback) {
        if (!this._implementation) {
            throw PagesManager.|>FIELD:NO_IMPLEMENTATION_ERROR<|;
        }
        this._implementation.loadPage(id, callback);
    };

    PagesManager.prototype.|>METHOD:getIds<| = function(callback) {
        if (!this._implementation) {
            throw PagesManager.|>FIELD:NO_IMPLEMENTATION_ERROR<|;
        }
        this._implementation.getIds(callback);
    };

    PagesManager.prototype.|>METHOD:storePage<| = function(page) {
        if (!this._implementation) {
            throw PagesManager.NoImplementationError;
        }
        this._implementation.storePage(page);
    };

    PagesManager.prototype.|>METHOD:registerImplementation<| = function(impl) {
        if (!impl) {
            throw PagesManager.|>FIELD:INVALID_ARGUMENT<|;
        }
        if (this._implementation) {
            throw PagesManager.|>FIELD:ALREADY_REGISTERED<|;
        }
        this._implementation = impl;
    };

    return |>GLOBAL:Breeze<|.initSingleton(PagesManager);

});