diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-05-21 19:03:55 (GMT) |
---|---|---|
committer | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-05-26 15:44:54 (GMT) |
commit | 9416cec9c245e8998f29071635be4e416946e1a4 (patch) | |
tree | 81c8afa547cba07485ba451711a2a3ca3529f308 /src/com/isode | |
parent | 4022d740676be12229e375b6fc8246a6d93aac45 (diff) | |
download | stroke-9416cec9c245e8998f29071635be4e416946e1a4.zip stroke-9416cec9c245e8998f29071635be4e416946e1a4.tar.bz2 |
Add functionality for UUID Generator.
Adds the Simple ID Generator as well as Random ID Generator.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for both IDGenerator and SimpleIDGenerator which passes.
Change-Id: I9bce3a172774effead3ada695bcceb0b0f81b851
Diffstat (limited to 'src/com/isode')
-rw-r--r-- | src/com/isode/stroke/base/IDGenerator.java | 32 | ||||
-rw-r--r-- | src/com/isode/stroke/base/SimpleIDGenerator.java | 56 |
2 files changed, 88 insertions, 0 deletions
diff --git a/src/com/isode/stroke/base/IDGenerator.java b/src/com/isode/stroke/base/IDGenerator.java new file mode 100644 index 0000000..d08b8fa --- /dev/null +++ b/src/com/isode/stroke/base/IDGenerator.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2010-2011 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.base; + +import java.util.UUID; + +public class IDGenerator { + + /** + * IDGenerator(); + */ + public IDGenerator() { + + } + + /** + * Randomly generates a UUID. + * @return String representation of the UUID, which will never be null. + */ + public static String generateID() { + return UUID.randomUUID().toString(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/base/SimpleIDGenerator.java b/src/com/isode/stroke/base/SimpleIDGenerator.java new file mode 100644 index 0000000..4242a87 --- /dev/null +++ b/src/com/isode/stroke/base/SimpleIDGenerator.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2010-2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.base; + +import com.isode.stroke.base.IDGenerator; + +/** + * @brief The SimpleIDGenerator class implements a IDGenerator generating consecutive ID strings from + * the lower case latin alphabet. + */ +public class SimpleIDGenerator extends IDGenerator { + + private static String currentID; + + /** + * Constructor + */ + public SimpleIDGenerator() { + currentID = ""; + } + + /** + * Simply generates a UUID. + * @return a String which will never be null or empty. + */ + public static String generateID() { + boolean carry = true; + int i = 0; + char[] char_currentID = currentID.toCharArray(); + while (carry && i < char_currentID.length) { + char c = char_currentID[i]; + if (c >= 'z') { + char_currentID[i] = 'a'; + } + else { + char_currentID[i] = (char)(c+1); + carry = false; + } + ++i; + } + currentID = String.valueOf(char_currentID); + if (carry) { + currentID += 'a'; + } + return currentID; + } +}
\ No newline at end of file |