aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala
diff options
context:
space:
mode:
authorMarvin Bertin <marvin.bertin@gmail.com>2017-10-03 13:09:49 -0700
committerMarvin Bertin <marvin.bertin@gmail.com>2017-10-03 13:09:49 -0700
commit98d6f3d136a16310300e23b12e6b730ac7ade6b6 (patch)
tree34ef97bc59f3c34d20a18cd65107655d319097fc /src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala
parent1d0202a3964637ffb93180a1c89617633ab5ab18 (diff)
parent0653b90dddc294fddb0e81059aef00b202113d78 (diff)
downloadrest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.tar.gz
rest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.tar.bz2
rest-query-98d6f3d136a16310300e23b12e6b730ac7ade6b6.zip
Merge branch 'add-slot-eligibility-arms' into trial-46-disease-entity
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala b/src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala
new file mode 100644
index 0000000..196aab1
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/synchronization/utils/FakeIdGen.scala
@@ -0,0 +1,26 @@
+package xyz.driver.pdsuicommon.synchronization.utils
+
+import xyz.driver.pdsuicommon.synchronization.domain.FakeId
+
+/**
+ * Used to generate a fake id from an entity.
+ * A fake id is used in comparison between entities with different types,
+ * for example, RawTrial and Trial.
+ *
+ * @see FakeId
+ */
+trait FakeIdGen[-T] extends (T => FakeId) {
+
+ def getFor(x: T): FakeId
+
+ override def apply(x: T): FakeId = getFor(x)
+
+}
+
+object FakeIdGen {
+
+ def create[T](f: T => FakeId) = new FakeIdGen[T] {
+ override def getFor(x: T): FakeId = f(x)
+ }
+
+}