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
15goog.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 */
37goog.events.EventId = function(eventId) {
38 /** @const */ this.id = eventId;
39};
40
41
42/**
43 * @override
44 */
45goog.events.EventId.prototype.toString = function() {
46 return this.id;
47};