/** * @class Ext.util.Fly * This class is a base for classes that want to provide a `fly` static method. * * For example: * * Ext.define('Foo.util.Thing', { * extend: 'Ext.util.Fly', * * // useful stuff * }); * * var thing = Ext.util.Thing.fly(42); // passes 42 to the reset method * * // use "thing" * * thing.release(); // return to the pool for future reuse * * @private */ /** * @method fly * @static * Returns a flyweight instance. These instances should be returned when no * longer needed by calling `release`. * * Additional arguments passed to this method will be passed on to the `reset` * method. * * @return {Ext.util.Fly} the flyweight instance */ /** * @method release * This method should be called when a flyweight instance is no longer needed and * should be returned to the flyweight pool. */ /** * Resets this instance to prepare for use. Derived classes may accept additional * arguments. * * When called with no arguments, the class should relinquish any resources it can * and prepare to wait for potential reuse. * * @method reset * @chainable * @return {Ext.util.Fly} this */