# lib/goog/events/eventid.js

1 | // Copyright 2013 The Closure Library Authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS-IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | goog.provide('goog.events.EventId');
16 |
17 |
18 |
19 | /**
20 | * A templated class that is used when registering for events. Typical usage:
21 | * <code>
22 | * /** @type {goog.events.EventId<MyEventObj>}
23 | * var myEventId = new goog.events.EventId(
24 | * goog.events.getUniqueId(('someEvent'));
25 | *
26 | * // No need to cast or declare here since the compiler knows the correct
27 | * // type of 'evt' (MyEventObj).
28 | * something.listen(myEventId, function(evt) {});
29 | * </code>
30 | *
31 | * @param {string} eventId
32 | * @template T
33 | * @constructor
34 | * @struct
35 | * @final
36 | */
37 | goog.events.EventId = function(eventId) {
38 | /** @const */ this.id = eventId;
39 | };
40 |
41 |
42 | /**
43 | * @override
44 | */
45 | goog.events.EventId.prototype.toString = function() {
46 | return this.id;
47 | };