0
0

initial commit

This commit is contained in:
23 changed files with 667 additions and 0 deletions

8
utilities/build.gradle Normal file
View File

@@ -0,0 +1,8 @@
plugins {
id 'myproject.java-conventions'
id 'java-library'
}
dependencies {
api project(':list')
}

View File

@@ -0,0 +1,4 @@
module org.gradle.sample.utilities {
requires transitive org.gradle.sample.list;
exports org.gradle.sample.utilities;
}

View File

@@ -0,0 +1,17 @@
package org.gradle.sample.utilities;
import org.gradle.sample.list.LinkedList;
class JoinUtils {
public static String join(LinkedList source) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < source.size(); ++i) {
if (result.length() > 0) {
result.append(" ");
}
result.append(source.get(i));
}
return result.toString();
}
}

View File

@@ -0,0 +1,36 @@
package org.gradle.sample.utilities;
import org.gradle.sample.list.LinkedList;
class SplitUtils {
public static LinkedList split(String source) {
int lastFind = 0;
int currentFind = 0;
LinkedList result = new LinkedList();
while ((currentFind = source.indexOf(" ", lastFind)) != -1) {
String token = source.substring(lastFind);
if (currentFind != -1) {
token = token.substring(0, currentFind - lastFind);
}
addIfValid(token, result);
lastFind = currentFind + 1;
}
String token = source.substring(lastFind);
addIfValid(token, result);
return result;
}
private static void addIfValid(String token, LinkedList list) {
if (isTokenValid(token)) {
list.add(token);
}
}
private static boolean isTokenValid(String token) {
return !token.isEmpty();
}
}

View File

@@ -0,0 +1,13 @@
package org.gradle.sample.utilities;
import org.gradle.sample.list.LinkedList;
public class StringUtils {
public static String join(LinkedList source) {
return JoinUtils.join(source);
}
public static LinkedList split(String source) {
return SplitUtils.split(source);
}
}