Skip to content

Commit 9203043

Browse files
committed
Merge branch '10-kotlin-add-extensions-for-methods-using-long-parameters-that-take-int-instead' into 'dev'
Resolve "Kotlin: add extensions for methods using Long parameters that take Int instead" Closes #10 See merge request objectbox/objectbox-java!7
2 parents 3b09541 + 08d64a1 commit 9203043

File tree

1 file changed

+96
-0
lines changed
  • objectbox-kotlin/src/main/kotlin/io/objectbox/kotlin

1 file changed

+96
-0
lines changed

objectbox-kotlin/src/main/kotlin/io/objectbox/kotlin/Extensions.kt

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,102 @@ inline fun <reified T> QueryBuilder<T>.inValues(property: Property<T>, values: A
4848
stringOrder: QueryBuilder.StringOrder): QueryBuilder<T>
4949
= `in`(property, values, stringOrder)
5050

51+
// Shortcuts for Short
52+
53+
/** Shortcut for [Box.get(id.toLong())][Box.get] */
54+
inline fun <reified T> Box<T>.get(id: Short): T? {
55+
return get(id.toLong())
56+
}
57+
58+
/** Shortcut for [Box.remove(id.toLong())][Box.remove] */
59+
inline fun <reified T> Box<T>.remove(id: Short) {
60+
remove(id.toLong())
61+
}
62+
63+
/** Shortcut for [equal(property, value.toLong())][QueryBuilder.equal] */
64+
inline fun <reified T> QueryBuilder<T>.equal(property: Property<T>, value: Short): QueryBuilder<T> {
65+
return equal(property, value.toLong())
66+
}
67+
68+
/** Shortcut for [notEqual(property, value.toLong())][QueryBuilder.notEqual] */
69+
inline fun <reified T> QueryBuilder<T>.notEqual(property: Property<T>, value: Short): QueryBuilder<T> {
70+
return notEqual(property, value.toLong())
71+
}
72+
73+
/** Shortcut for [less(property, value.toLong())][QueryBuilder.less] */
74+
inline fun <reified T> QueryBuilder<T>.less(property: Property<T>, value: Short): QueryBuilder<T> {
75+
return less(property, value.toLong())
76+
}
77+
78+
/** Shortcut for [greater(property, value.toLong())][QueryBuilder.greater] */
79+
inline fun <reified T> QueryBuilder<T>.greater(property: Property<T>, value: Short): QueryBuilder<T> {
80+
return greater(property, value.toLong())
81+
}
82+
83+
/** Shortcut for [between(property, value1.toLong(), value2.toLong())][QueryBuilder.between] */
84+
inline fun <reified T> QueryBuilder<T>.between(property: Property<T>, value1: Short, value2: Short): QueryBuilder<T> {
85+
return between(property, value1.toLong(), value2.toLong())
86+
}
87+
88+
// Shortcuts for Int
89+
90+
/** Shortcut for [Box.get(id.toLong())][Box.get] */
91+
inline fun <reified T> Box<T>.get(id: Int): T? {
92+
return get(id.toLong())
93+
}
94+
95+
/** Shortcut for [Box.remove(id.toLong())][Box.remove] */
96+
inline fun <reified T> Box<T>.remove(id: Int) {
97+
remove(id.toLong())
98+
}
99+
100+
/** Shortcut for [equal(property, value.toLong())][QueryBuilder.equal] */
101+
inline fun <reified T> QueryBuilder<T>.equal(property: Property<T>, value: Int): QueryBuilder<T> {
102+
return equal(property, value.toLong())
103+
}
104+
105+
/** Shortcut for [notEqual(property, value.toLong())][QueryBuilder.notEqual] */
106+
inline fun <reified T> QueryBuilder<T>.notEqual(property: Property<T>, value: Int): QueryBuilder<T> {
107+
return notEqual(property, value.toLong())
108+
}
109+
110+
/** Shortcut for [less(property, value.toLong())][QueryBuilder.less] */
111+
inline fun <reified T> QueryBuilder<T>.less(property: Property<T>, value: Int): QueryBuilder<T> {
112+
return less(property, value.toLong())
113+
}
114+
115+
/** Shortcut for [greater(property, value.toLong())][QueryBuilder.greater] */
116+
inline fun <reified T> QueryBuilder<T>.greater(property: Property<T>, value: Int): QueryBuilder<T> {
117+
return greater(property, value.toLong())
118+
}
119+
120+
/** Shortcut for [between(property, value1.toLong(), value2.toLong())][QueryBuilder.between] */
121+
inline fun <reified T> QueryBuilder<T>.between(property: Property<T>, value1: Int, value2: Int): QueryBuilder<T> {
122+
return between(property, value1.toLong(), value2.toLong())
123+
}
124+
125+
// Shortcuts for Float
126+
127+
/** Shortcut for [equal(property, value.toDouble(), tolerance.toDouble())][QueryBuilder.equal] */
128+
inline fun <reified T> QueryBuilder<T>.equal(property: Property<T>, value: Float, tolerance: Float): QueryBuilder<T> {
129+
return equal(property, value.toDouble(), tolerance.toDouble())
130+
}
131+
132+
/** Shortcut for [less(property, value.toDouble())][QueryBuilder.less] */
133+
inline fun <reified T> QueryBuilder<T>.less(property: Property<T>, value: Float): QueryBuilder<T> {
134+
return less(property, value.toDouble())
135+
}
136+
137+
/** Shortcut for [greater(property, value.toDouble())][QueryBuilder.greater] */
138+
inline fun <reified T> QueryBuilder<T>.greater(property: Property<T>, value: Float): QueryBuilder<T> {
139+
return greater(property, value.toDouble())
140+
}
141+
142+
/** Shortcut for [between(property, value1.toDouble(), value2.toDouble())][QueryBuilder.between] */
143+
inline fun <reified T> QueryBuilder<T>.between(property: Property<T>, value1: Float, value2: Float): QueryBuilder<T> {
144+
return between(property, value1.toDouble(), value2.toDouble())
145+
}
146+
51147
/**
52148
* Allows building a query for this Box instance with a call to [build][QueryBuilder.build] to return a [Query] instance.
53149
* ```

0 commit comments

Comments
 (0)