Skip to content

Commit

Permalink
Merge pull request #201 from ebraminio/kotlin-java
Browse files Browse the repository at this point in the history
kotlin: Improve access of companions object fields/methods in Java
  • Loading branch information
cosinekitty authored Apr 13, 2022
2 parents 5c68f20 + b06493f commit b489793
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 4 deletions.
7 changes: 6 additions & 1 deletion generate/template/astronomy.kt
Original file line number Diff line number Diff line change
Expand Up @@ -473,13 +473,15 @@ class Time private constructor(
internal fun julianMillennia() = tt / DAYS_PER_MILLENNIUM

companion object {
@JvmStatic
private val origin = GregorianCalendar(TimeZoneUtc).also {
it.set(2000, 0, 1, 12, 0, 0)
it.set(Calendar.MILLISECOND, 0)
}.time

private const val MILLIS_PER_DAY = 24 * 3600 * 1000

@JvmStatic
private val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").also {
it.timeZone = TimeZoneUtc
}
Expand All @@ -498,6 +500,7 @@ class Time private constructor(
*
* @param tt The number of days after the J2000 epoch.
*/
@JvmStatic
fun fromTerrestrialTime(tt: Double): Time = Time(universalTime(tt), tt)
}
}
Expand Down Expand Up @@ -547,6 +550,7 @@ internal data class TerseVector(var x: Double, var y: Double, var z: Double) {
}

companion object {
@JvmStatic
fun zero() = TerseVector(0.0, 0.0, 0.0)
}
}
Expand Down Expand Up @@ -1004,7 +1008,8 @@ class RotationMatrix(
* This matrix can be the starting point for other operations,
* such as calling a series of [RotationMatrix.combine] or [RotationMatrix.pivot].
*/
fun identity() = RotationMatrix (
@JvmStatic
fun identity() = RotationMatrix(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
Expand Down
3 changes: 3 additions & 0 deletions source/kotlin/doc/-rotation-matrix/-companion/identity.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
# identity

[jvm]\

@[JvmStatic](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-static/index.html)

fun [identity](identity.md)(): [RotationMatrix](../index.md)

Creates an identity rotation matrix.
Expand Down
2 changes: 1 addition & 1 deletion source/kotlin/doc/-rotation-matrix/-companion/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ object [Companion](index.md)

| Name | Summary |
|---|---|
| [identity](identity.md) | [jvm]<br>fun [identity](identity.md)(): [RotationMatrix](../index.md)<br>Creates an identity rotation matrix. |
| [identity](identity.md) | [jvm]<br>@[JvmStatic](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-static/index.html)<br>fun [identity](identity.md)(): [RotationMatrix](../index.md)<br>Creates an identity rotation matrix. |
3 changes: 3 additions & 0 deletions source/kotlin/doc/-time/-companion/from-terrestrial-time.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
# fromTerrestrialTime

[jvm]\

@[JvmStatic](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-static/index.html)

fun [fromTerrestrialTime](from-terrestrial-time.md)(tt: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](../index.md)

Creates a Time object from a Terrestrial Time day value.
Expand Down
2 changes: 1 addition & 1 deletion source/kotlin/doc/-time/-companion/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ object [Companion](index.md)

| Name | Summary |
|---|---|
| [fromTerrestrialTime](from-terrestrial-time.md) | [jvm]<br>fun [fromTerrestrialTime](from-terrestrial-time.md)(tt: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](../index.md)<br>Creates a Time object from a Terrestrial Time day value. |
| [fromTerrestrialTime](from-terrestrial-time.md) | [jvm]<br>@[JvmStatic](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-static/index.html)<br>fun [fromTerrestrialTime](from-terrestrial-time.md)(tt: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](../index.md)<br>Creates a Time object from a Terrestrial Time day value. |
Original file line number Diff line number Diff line change
Expand Up @@ -473,13 +473,15 @@ class Time private constructor(
internal fun julianMillennia() = tt / DAYS_PER_MILLENNIUM

companion object {
@JvmStatic
private val origin = GregorianCalendar(TimeZoneUtc).also {
it.set(2000, 0, 1, 12, 0, 0)
it.set(Calendar.MILLISECOND, 0)
}.time

private const val MILLIS_PER_DAY = 24 * 3600 * 1000

@JvmStatic
private val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").also {
it.timeZone = TimeZoneUtc
}
Expand All @@ -498,6 +500,7 @@ class Time private constructor(
*
* @param tt The number of days after the J2000 epoch.
*/
@JvmStatic
fun fromTerrestrialTime(tt: Double): Time = Time(universalTime(tt), tt)
}
}
Expand Down Expand Up @@ -547,6 +550,7 @@ internal data class TerseVector(var x: Double, var y: Double, var z: Double) {
}

companion object {
@JvmStatic
fun zero() = TerseVector(0.0, 0.0, 0.0)
}
}
Expand Down Expand Up @@ -1004,7 +1008,8 @@ class RotationMatrix(
* This matrix can be the starting point for other operations,
* such as calling a series of [RotationMatrix.combine] or [RotationMatrix.pivot].
*/
fun identity() = RotationMatrix (
@JvmStatic
fun identity() = RotationMatrix(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
Expand Down

0 comments on commit b489793

Please sign in to comment.