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 | }; |