Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit a4f4068d authored by Arnau Mora's avatar Arnau Mora Committed by GitHub
Browse files

Make all properties data classes (#62)



* Added hint for dataclasses

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Migrated caldav properties

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Migrated carddav properties

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Migrated webdav properties

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Improved syntax

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Improve comment

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Made HrefListProperty static

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

* Fixed constructors

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>

---------

Signed-off-by: default avatarArnau Mora Gras <arnyminerz@proton.me>
parent 8b594133
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -7,17 +7,20 @@
package at.bitfire.dav4jvm

import at.bitfire.dav4jvm.exception.InvalidPropertyException
import org.xmlpull.v1.XmlPullParser
import java.io.Serializable
import java.util.LinkedList
import java.util.logging.Level
import java.util.logging.Logger
import org.xmlpull.v1.XmlPullParser

/**
 * Represents a WebDAV property.
 *
 * Every [Property] must define a static field (use `@JvmStatic`) called `NAME` of type [Property.Name],
 * which will be accessed by reflection.
 *
 * Every [Property] should be a data class in order to be able to compare it against others, and convert to a useful
 * string for debugging.
 */
interface Property {

+6 −2
Original line number Diff line number Diff line
@@ -10,11 +10,15 @@ import at.bitfire.dav4jvm.Property
import at.bitfire.dav4jvm.property.webdav.HrefListProperty
import org.xmlpull.v1.XmlPullParser

class CalendarHomeSet: HrefListProperty() {
data class CalendarHomeSet(
    override val hrefs: List<String> = emptyList()
): HrefListProperty(hrefs) {

    companion object {

        @JvmField
        val NAME = Property.Name(NS_CALDAV, "calendar-home-set")

    }


@@ -22,7 +26,7 @@ class CalendarHomeSet: HrefListProperty() {

        override fun getName() = NAME

        override fun create(parser: XmlPullParser) = create(parser, CalendarHomeSet())
        override fun create(parser: XmlPullParser) = create(parser, ::CalendarHomeSet)

    }

+4 −2
Original line number Diff line number Diff line
@@ -10,7 +10,9 @@ import at.bitfire.dav4jvm.Property
import at.bitfire.dav4jvm.property.webdav.HrefListProperty
import org.xmlpull.v1.XmlPullParser

class CalendarProxyReadFor: HrefListProperty() {
data class CalendarProxyReadFor(
    override val hrefs: List<String> = emptyList()
): HrefListProperty(hrefs) {

    companion object {
        @JvmField
@@ -22,7 +24,7 @@ class CalendarProxyReadFor: HrefListProperty() {

        override fun getName() = NAME

        override fun create(parser: XmlPullParser) = create(parser, CalendarProxyReadFor())
        override fun create(parser: XmlPullParser) = create(parser, ::CalendarProxyReadFor)

    }

+4 −2
Original line number Diff line number Diff line
@@ -10,7 +10,9 @@ import at.bitfire.dav4jvm.Property
import at.bitfire.dav4jvm.property.webdav.HrefListProperty
import org.xmlpull.v1.XmlPullParser

class CalendarProxyWriteFor: HrefListProperty() {
data class CalendarProxyWriteFor(
    override val hrefs: List<String> = emptyList()
): HrefListProperty(hrefs) {

    companion object {
        @JvmField
@@ -22,7 +24,7 @@ class CalendarProxyWriteFor: HrefListProperty() {

        override fun getName() = NAME

        override fun create(parser: XmlPullParser) = create(parser, CalendarProxyWriteFor())
        override fun create(parser: XmlPullParser) = create(parser, ::CalendarProxyWriteFor)

    }

+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ import at.bitfire.dav4jvm.PropertyFactory
import at.bitfire.dav4jvm.XmlReader
import org.xmlpull.v1.XmlPullParser

class CalendarTimezoneId(
data class CalendarTimezoneId(
    val identifier: String?
): Property {

Loading