@eclipse-scout/core
Version:
Eclipse Scout runtime
43 lines • 1.76 kB
TypeScript
import { Session, UuidPoolEventMap, UuidPoolModel, Widget } from '../index';
export declare class UuidPool extends Widget implements UuidPoolModel {
model: UuidPoolModel;
eventMap: UuidPoolEventMap;
static readonly ZERO_UUID: string;
uuids: string[];
size: number;
refillThreshold: number;
failOnStarvation: boolean;
refillInProgress: boolean;
constructor();
take(): string;
refill(): void;
fill(count: number): void;
generateUuid(): string;
/**
* Creates a new UuidPool widget, i.e. without model adapter attached.
* @param parent mandatory parent widget
*/
protected static _createInstance(parent: Widget): UuidPool;
/**
* Installs a new UuidPool instanceof as an add-on to any desktop of this Scout app. It can then be
* accessed conveniently by all other widgets by using the helper function <code>UuidPool.get()</code>.
* <p>
* Note: In the case of a RemoteApp, the add-on is provided by the UI server (see UuidPoolAddOnDesktopExtension.java).
*/
static installDesktopAddOn(): void;
/**
* Returns an instanceof of UuidPool. If a desktop add-on of this type is available, this instance is returned.
* Otherwise, a new instance is created.
*
* @param session Session object providing a desktop. If this is omitted, the first session of the app is used.
* If the app does not have any active sessions (e.g. during unit testing), this argument is mandatory.
*/
static get(session?: Session): UuidPool;
/**
* Convenience function for <code>UuidPool.get(session).take()</code>.
*
* @returns new UUID
*/
static take(session?: Session): string;
}
//# sourceMappingURL=UuidPool.d.ts.map