Skip to content
This repository was archived by the owner on Apr 25, 2020. It is now read-only.

Commit f07b295

Browse files
committed
More Java love
1 parent c466458 commit f07b295

File tree

4 files changed

+30
-13
lines changed

4 files changed

+30
-13
lines changed

pom.xml

-12
Original file line numberDiff line numberDiff line change
@@ -88,18 +88,6 @@
8888
</dependencies>
8989

9090
<build>
91-
<sourceDirectory>src/main/scala</sourceDirectory>
92-
<testSourceDirectory>src/test/scala</testSourceDirectory>
93-
<resources>
94-
<resource>
95-
<directory>${basedir}/src/main/resources</directory>
96-
</resource>
97-
</resources>
98-
<testResources>
99-
<testResource>
100-
<directory>${basedir}/src/test/resources</directory>
101-
</testResource>
102-
</testResources>
10391
<plugins>
10492
<plugin>
10593
<artifactId>maven-enforcer-plugin</artifactId>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.ckkloverdos.env
2+
3+
import com.ckkloverdos.key.{TypedKeyWithDefault, TypedKeyOnly}
4+
5+
/**
6+
*
7+
* @author Christos KK Loverdos <loverdos@gmail.com>
8+
*/
9+
sealed class EnvHelpers {
10+
def newTypedKeyOnly[A](name: String, typ: Class[A]): TypedKeyOnly[A] = {
11+
new TypedKeyOnly[A](name)(Manifest.classType[A](typ))
12+
}
13+
14+
def newTypedKeyWithDefault[A](name: String, value: A, typ: Class[A]): TypedKeyWithDefault[A] = {
15+
new TypedKeyWithDefault[A](name, value)((Manifest.classType[A](typ)))
16+
}
17+
}
18+
19+
object EnvHelpers extends EnvHelpers

src/main/scala/com/ckkloverdos/env/JEnvHelpers.java

+11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package com.ckkloverdos.env;
22

33
import com.ckkloverdos.key.TypedKeyOnly;
4+
import com.ckkloverdos.key.TypedKeyWithDefault;
45

56
/**
67
* @author Christos KK Loverdos <loverdos@gmail.com>
78
*/
89
public final class JEnvHelpers {
910
private JEnvHelpers() {}
1011

12+
private static final EnvHelpers envHelpers = new EnvHelpers();
13+
1114
public static Env newEnv() {
1215
return Env$.MODULE$.apply();
1316
}
@@ -20,6 +23,14 @@ public static <A> Env remove(Env env, TypedKeyOnly<A> key) {
2023
return env.$minus(key, key.keyType());
2124
}
2225

26+
public static <A> TypedKeyOnly<A> newTypedKeyOnly(String name, Class<A> typ) {
27+
return envHelpers.newTypedKeyOnly(name, typ);
28+
}
29+
30+
public static <A> TypedKeyWithDefault<A> newTypedKeyWithDefault(String name, A value, Class<A> typ) {
31+
return envHelpers.newTypedKeyWithDefault(name, value, typ);
32+
}
33+
2334
public static <A, B> Env add(
2435
Env env,
2536
TypedKeyOnly<A> keyA,

src/main/scala/com/ckkloverdos/key/typedkey.scala

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.ckkloverdos.key
1818

19-
import com.ckkloverdos.env.Env
2019

2120
/**
2221
* A key with a specific type attached.

0 commit comments

Comments
 (0)