summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/kotlin/IPAddress.kt22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/main/kotlin/IPAddress.kt b/src/main/kotlin/IPAddress.kt
index 5e3cb0c..1eb69a7 100644
--- a/src/main/kotlin/IPAddress.kt
+++ b/src/main/kotlin/IPAddress.kt
@@ -12,15 +12,9 @@ class IPAddress {
val split4 = address.split('.')
val split6 = address.split(':')
- val isV4 = split4.size == 4 &&
- split4.size == split4.filter { it.matches(Regex("^[0-9]$")) }.size
-
- val isV6 = split6.size == 16 &&
- split6.size == split6.filter { it.contains(Regex("^[0-9][a-f]$")) }.size
-
- if (isV4) {
+ if (isAddressV4(address)) {
this.is4 = true
- } else if (isV6) {
+ } else if (isAddressV6(address)) {
this.is4 = false
} else {
throw NumberFormatException()
@@ -34,6 +28,18 @@ class IPAddress {
this.address = bytes.toTypedArray()
}
+ fun isAddressV4(address: String): Boolean {
+ val split4 = address.split('.')
+ return split4.size == 4 &&
+ split4.size == split4.filter { it.matches(Regex("^[0-9]$")) }.size
+ }
+
+ fun isAddressV6(address: String): Boolean {
+ val split6 = address.split(':')
+ return split6.size == 16 &&
+ split6.size == split6.filter { it.contains(Regex("^[0-9][a-f]$")) }.size
+ }
+
override fun toString(): String {
val str: String
if (this.is4) {