Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F1608062
Uuid.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
Uuid.js
View Options
if
(
!
dojo
.
_hasResource
[
"dojox.uuid.Uuid"
]){
//_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo
.
_hasResource
[
"dojox.uuid.Uuid"
]
=
true
;
dojo
.
provide
(
"dojox.uuid.Uuid"
);
dojo
.
require
(
"dojox.uuid"
);
dojox
.
uuid
.
Uuid
=
function
(
/*String?*/
input
){
// summary:
// This is the constructor for the Uuid class. The Uuid class offers
// methods for inspecting existing UUIDs.
// input: A 36-character string that conforms to the UUID spec.
// examples:
// var uuid;
// uuid = new dojox.uuid.Uuid("3b12f1df-5232-4804-897e-917bf397618a");
// uuid = new dojox.uuid.Uuid(); // "00000000-0000-0000-0000-000000000000"
// uuid = new dojox.uuid.Uuid(dojox.uuid.generateRandomUuid());
// uuid = new dojox.uuid.Uuid(dojox.uuid.generateTimeBasedUuid());
// dojox.uuid.Uuid.setGenerator(dojox.uuid.generateRandomUuid);
// uuid = new dojox.uuid.Uuid();
// dojox.uuid.assert(!uuid.isEqual(dojox.uuid.NIL_UUID));
this
.
_uuidString
=
dojox
.
uuid
.
NIL_UUID
;
if
(
input
){
dojox
.
uuid
.
assert
(
dojo
.
isString
(
input
));
this
.
_uuidString
=
input
.
toLowerCase
();
dojox
.
uuid
.
assert
(
this
.
isValid
());
}
else
{
var
ourGenerator
=
dojox
.
uuid
.
Uuid
.
getGenerator
();
if
(
ourGenerator
){
this
.
_uuidString
=
ourGenerator
();
dojox
.
uuid
.
assert
(
this
.
isValid
());
}
}
};
dojox
.
uuid
.
Uuid
.
compare
=
function
(
/*dojox.uuid.Uuid*/
uuidOne
,
/*dojox.uuid.Uuid*/
uuidTwo
){
// summary:
// Given two UUIDs to compare, this method returns 0, 1, or -1.
// description:
// This method is designed to be used by sorting routines, like the
// JavaScript built-in Array sort() method. This implementation is
// intended to match the sample implementation in IETF RFC 4122:
// http://www.ietf.org/rfc/rfc4122.txt
// uuidOne: Any object that has toString() method that returns a 36-character string that conforms to the UUID spec.
// uuidTwo: Any object that has toString() method that returns a 36-character string that conforms to the UUID spec.
// examples:
// var uuid;
// var generator = dojox.uuid.TimeBasedGenerator;
// var a = new dojox.uuid.Uuid(generator);
// var b = new dojox.uuid.Uuid(generator);
// var c = new dojox.uuid.Uuid(generator);
// var array = new Array(a, b, c);
// array.sort(dojox.uuid.Uuid.compare);
var
uuidStringOne
=
uuidOne
.
toString
();
var
uuidStringTwo
=
uuidTwo
.
toString
();
if
(
uuidStringOne
>
uuidStringTwo
)
return
1
;
// integer
if
(
uuidStringOne
<
uuidStringTwo
)
return
-
1
;
// integer
return
0
;
// integer (either 0, 1, or -1)
};
dojox
.
uuid
.
Uuid
.
setGenerator
=
function
(
/*Function?*/
generator
){
// summary:
// Sets the default generator, which will be used by the
// "new dojox.uuid.Uuid()" constructor if no parameters
// are passed in.
// generator: A UUID generator function, such as dojox.uuid.generateTimeBasedUuid.
dojox
.
uuid
.
assert
(
!
generator
||
dojo
.
isFunction
(
generator
));
dojox
.
uuid
.
Uuid
.
_ourGenerator
=
generator
;
};
dojox
.
uuid
.
Uuid
.
getGenerator
=
function
(){
// summary:
// Returns the default generator. See setGenerator().
return
dojox
.
uuid
.
Uuid
.
_ourGenerator
;
// generator (A UUID generator, such as dojox.uuid.TimeBasedGenerator).
};
dojox
.
uuid
.
Uuid
.
prototype
.
toString
=
function
(){
// summary:
// This method returns a standard 36-character string representing
// the UUID, such as "3b12f1df-5232-4804-897e-917bf397618a".
return
this
.
_uuidString
;
// string
};
dojox
.
uuid
.
Uuid
.
prototype
.
compare
=
function
(
/*dojox.uuid.Uuid*/
otherUuid
){
// summary:
// Compares this UUID to another UUID, and returns 0, 1, or -1.
// description:
// This implementation is intended to match the sample implementation
// in IETF RFC 4122: http://www.ietf.org/rfc/rfc4122.txt
// otherUuid: Any object that has toString() method that returns a 36-character string that conforms to the UUID spec.
return
dojox
.
uuid
.
Uuid
.
compare
(
this
,
otherUuid
);
// integer (either 0, 1, or -1)
};
dojox
.
uuid
.
Uuid
.
prototype
.
isEqual
=
function
(
/*dojox.uuid.Uuid*/
otherUuid
){
// summary:
// Returns true if this UUID is equal to the otherUuid, or false otherwise.
// otherUuid: Any object that has toString() method that returns a 36-character string that conforms to the UUID spec.
return
(
this
.
compare
(
otherUuid
)
==
0
);
// boolean
};
dojox
.
uuid
.
Uuid
.
prototype
.
isValid
=
function
(){
// summary:
// Returns true if the UUID was initialized with a valid value.
return
dojox
.
uuid
.
isValid
(
this
);
};
dojox
.
uuid
.
Uuid
.
prototype
.
getVariant
=
function
(){
// summary:
// Returns a variant code that indicates what type of UUID this is.
// Returns one of the enumerated dojox.uuid.variant values.
// example:
// var uuid = new dojox.uuid.Uuid("3b12f1df-5232-4804-897e-917bf397618a");
// var variant = uuid.getVariant();
// dojox.uuid.assert(variant == dojox.uuid.variant.DCE);
// example:
// "3b12f1df-5232-4804-897e-917bf397618a"
// ^
// |
// (variant "10__" == DCE)
return
dojox
.
uuid
.
getVariant
(
this
);
};
dojox
.
uuid
.
Uuid
.
prototype
.
getVersion
=
function
(){
// summary:
// Returns a version number that indicates what type of UUID this is.
// Returns one of the enumerated dojox.uuid.version values.
// example:
// var uuid = new dojox.uuid.Uuid("b4308fb0-86cd-11da-a72b-0800200c9a66");
// var version = uuid.getVersion();
// dojox.uuid.assert(version == dojox.uuid.version.TIME_BASED);
// exceptions:
// Throws an Error if this is not a DCE Variant UUID.
if
(
!
this
.
_versionNumber
){
this
.
_versionNumber
=
dojox
.
uuid
.
getVersion
(
this
);
}
return
this
.
_versionNumber
;
// dojox.uuid.version
};
dojox
.
uuid
.
Uuid
.
prototype
.
getNode
=
function
(){
// summary:
// If this is a version 1 UUID (a time-based UUID), getNode() returns a
// 12-character string with the "node" or "pseudonode" portion of the UUID,
// which is the rightmost 12 characters.
// exceptions:
// Throws an Error if this is not a version 1 UUID.
if
(
!
this
.
_nodeString
)
{
this
.
_nodeString
=
dojox
.
uuid
.
getNode
(
this
);
}
return
this
.
_nodeString
;
// String (a 12-character string, which will look something like "917bf397618a")
};
dojox
.
uuid
.
Uuid
.
prototype
.
getTimestamp
=
function
(
/*String?*/
returnType
){
// summary:
// If this is a version 1 UUID (a time-based UUID), this method returns
// the timestamp value encoded in the UUID. The caller can ask for the
// timestamp to be returned either as a JavaScript Date object or as a
// 15-character string of hex digits.
// returnType: Any of these five values: "string", String, "hex", "date", Date
// returns:
// Returns the timestamp value as a JavaScript Date object or a 15-character string of hex digits.
// examples:
// var uuid = new dojox.uuid.Uuid("b4308fb0-86cd-11da-a72b-0800200c9a66");
// var date, string, hexString;
// date = uuid.getTimestamp(); // returns a JavaScript Date
// date = uuid.getTimestamp(Date); //
// string = uuid.getTimestamp(String); // "Mon, 16 Jan 2006 20:21:41 GMT"
// hexString = uuid.getTimestamp("hex"); // "1da86cdb4308fb0"
// exceptions:
// Throws an Error if this is not a version 1 UUID.
if
(
!
returnType
){
returnType
=
null
};
switch
(
returnType
){
case
"string"
:
case
String
:
return
this
.
getTimestamp
(
Date
).
toUTCString
();
// String (e.g. "Mon, 16 Jan 2006 20:21:41 GMT")
break
;
case
"hex"
:
// Return a 15-character string of hex digits containing the
// timestamp for this UUID, with the high-order bits first.
if
(
!
this
.
_timestampAsHexString
)
{
this
.
_timestampAsHexString
=
dojox
.
uuid
.
getTimestamp
(
this
,
"hex"
);
}
return
this
.
_timestampAsHexString
;
// String (e.g. "1da86cdb4308fb0")
break
;
case
null
:
// no returnType was specified, so default to Date
case
"date"
:
case
Date
:
// Return a JavaScript Date object.
if
(
!
this
.
_timestampAsDate
)
{
this
.
_timestampAsDate
=
dojox
.
uuid
.
getTimestamp
(
this
,
Date
);
}
return
this
.
_timestampAsDate
;
// Date
break
;
default
:
// we got passed something other than a valid returnType
dojox
.
uuid
.
assert
(
false
,
"The getTimestamp() method dojox.uuid.Uuid was passed a bogus returnType: "
+
returnType
);
break
;
}
};
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Aug 29, 02:01 (3 d, 15 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
22519
Default Alt Text
Uuid.js (7 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment