feat: 自動でインスタンスを生成できるように
This commit is contained in:
parent
ed26581655
commit
722ad284b0
|
@ -1,6 +1,7 @@
|
|||
package dev.usbharu.activitystreams.impl.model.activity
|
||||
|
||||
import dev.usbharu.activitystreams.model.ImageOrLink
|
||||
import dev.usbharu.activitystreams.model.JsonLdWrapper
|
||||
import dev.usbharu.activitystreams.model.ObjectOrLink
|
||||
import dev.usbharu.activitystreams.model.UriOrLink
|
||||
import dev.usbharu.activitystreams.model.activity.Create
|
||||
|
@ -12,39 +13,40 @@ import java.time.Duration
|
|||
import java.time.OffsetDateTime
|
||||
|
||||
class CreateImpl(
|
||||
override var type: List<URI>,
|
||||
override var `object`: ObjectOrLink?,
|
||||
override var actor: List<ObjectOrLink>,
|
||||
override var target: List<ObjectOrLink>,
|
||||
override var result: ObjectOrLink?,
|
||||
override var origin: ObjectOrLink?,
|
||||
override var instrument: ObjectOrLink?,
|
||||
override var attachment: List<ObjectOrLink>,
|
||||
override var attributedTo: List<ObjectOrLink>,
|
||||
override var audience: List<ObjectOrLink>,
|
||||
override var content: LangString?,
|
||||
override var context: List<ObjectOrLink>,
|
||||
override var name: LangString?,
|
||||
override var endTime: OffsetDateTime?,
|
||||
override var generator: List<ObjectOrLink>,
|
||||
override var icon: List<ImageOrLink>,
|
||||
override var image: List<ImageOrLink>,
|
||||
override var inReplyTo: List<ObjectOrLink>,
|
||||
override var location: ObjectOrLink?,
|
||||
override var preview: ObjectOrLink?,
|
||||
override var published: OffsetDateTime?,
|
||||
override var replies: Collection?,
|
||||
override var startTime: OffsetDateTime?,
|
||||
override var summary: LangString?,
|
||||
override var tag: List<ObjectOrLink>,
|
||||
override var updated: OffsetDateTime?,
|
||||
override var url: List<UriOrLink>,
|
||||
override var to: List<ObjectOrLink>,
|
||||
override var bto: List<ObjectOrLink>,
|
||||
override var cc: List<ObjectOrLink>,
|
||||
override var bcc: List<ObjectOrLink>,
|
||||
override var mediaType: MimeMediaType?,
|
||||
override var duration: Duration?,
|
||||
override var id: URI?,
|
||||
override var source: ObjectOrLink?
|
||||
override var type: List<URI> = emptyList(),
|
||||
override var `object`: ObjectOrLink? = null,
|
||||
override var actor: List<ObjectOrLink> = emptyList(),
|
||||
override var target: List<ObjectOrLink> = emptyList(),
|
||||
override var result: ObjectOrLink? = null,
|
||||
override var origin: ObjectOrLink? = null,
|
||||
override var instrument: ObjectOrLink? = null,
|
||||
override var attachment: List<ObjectOrLink> = emptyList(),
|
||||
override var attributedTo: List<ObjectOrLink> = emptyList(),
|
||||
override var audience: List<ObjectOrLink> = emptyList(),
|
||||
override var content: LangString? = null,
|
||||
override var context: List<ObjectOrLink> = emptyList(),
|
||||
override var name: LangString? = null,
|
||||
override var endTime: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var generator: List<ObjectOrLink> = emptyList(),
|
||||
override var icon: List<ImageOrLink> = emptyList(),
|
||||
override var image: List<ImageOrLink> = emptyList(),
|
||||
override var inReplyTo: List<ObjectOrLink> = emptyList(),
|
||||
override var location: ObjectOrLink? = null,
|
||||
override var preview: ObjectOrLink? = null,
|
||||
override var published: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var replies: Collection? = null,
|
||||
override var startTime: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var summary: LangString? = null,
|
||||
override var tag: List<ObjectOrLink> = emptyList(),
|
||||
override var updated: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var url: List<UriOrLink> = emptyList(),
|
||||
override var to: List<ObjectOrLink> = emptyList(),
|
||||
override var bto: List<ObjectOrLink> = emptyList(),
|
||||
override var cc: List<ObjectOrLink> = emptyList(),
|
||||
override var bcc: List<ObjectOrLink> = emptyList(),
|
||||
override var mediaType: MimeMediaType? = null,
|
||||
override var duration: JsonLdWrapper<Duration>? = null,
|
||||
override var id: URI? = null,
|
||||
override var source: ObjectOrLink? = null,
|
||||
override var value: Any? = null,
|
||||
) : Create
|
|
@ -1,6 +1,7 @@
|
|||
package dev.usbharu.activitystreams.impl.model.actor
|
||||
|
||||
import dev.usbharu.activitystreams.model.ImageOrLink
|
||||
import dev.usbharu.activitystreams.model.JsonLdWrapper
|
||||
import dev.usbharu.activitystreams.model.ObjectOrLink
|
||||
import dev.usbharu.activitystreams.model.UriOrLink
|
||||
import dev.usbharu.activitystreams.model.actor.Person
|
||||
|
@ -12,50 +13,51 @@ import java.time.Duration
|
|||
import java.time.OffsetDateTime
|
||||
|
||||
class PersonImpl(
|
||||
override var type: List<URI>,
|
||||
override var attachment: List<ObjectOrLink>,
|
||||
override var attributedTo: List<ObjectOrLink>,
|
||||
override var audience: List<ObjectOrLink>,
|
||||
override var content: LangString?,
|
||||
override var context: List<ObjectOrLink>,
|
||||
override var name: LangString?,
|
||||
override var endTime: OffsetDateTime?,
|
||||
override var generator: List<ObjectOrLink>,
|
||||
override var icon: List<ImageOrLink>,
|
||||
override var image: List<ImageOrLink>,
|
||||
override var inReplyTo: List<ObjectOrLink>,
|
||||
override var location: ObjectOrLink?,
|
||||
override var preview: ObjectOrLink?,
|
||||
override var published: OffsetDateTime?,
|
||||
override var replies: Collection?,
|
||||
override var startTime: OffsetDateTime?,
|
||||
override var summary: LangString?,
|
||||
override var tag: List<ObjectOrLink>,
|
||||
override var updated: OffsetDateTime?,
|
||||
override var url: List<UriOrLink>,
|
||||
override var to: List<ObjectOrLink>,
|
||||
override var bto: List<ObjectOrLink>,
|
||||
override var cc: List<ObjectOrLink>,
|
||||
override var bcc: List<ObjectOrLink>,
|
||||
override var mediaType: MimeMediaType?,
|
||||
override var duration: Duration?,
|
||||
override var id: URI?,
|
||||
override var source: ObjectOrLink?,
|
||||
override var endpoints: List<URI>,
|
||||
override var following: URI?,
|
||||
override var followers: URI?,
|
||||
override var inbox: URI?,
|
||||
override var outbox: URI?,
|
||||
override var liked: URI?,
|
||||
override var shared: URI?,
|
||||
override var likes: URI?,
|
||||
override var oauthAuthorizationEndpoint: URI?,
|
||||
override var oauthTokenEndpoint: URI?,
|
||||
override var preferredUsername: String?,
|
||||
override var provideClientKey: URI?,
|
||||
override var proxyUrl: URI?,
|
||||
override var sharedInbox: URI?,
|
||||
override var signClientKey: URI?,
|
||||
override var streams: URI?,
|
||||
override var alsoKnownAs: List<URI>
|
||||
override var type: List<URI> = emptyList(),
|
||||
override var attachment: List<ObjectOrLink> = emptyList(),
|
||||
override var attributedTo: List<ObjectOrLink> = emptyList(),
|
||||
override var audience: List<ObjectOrLink> = emptyList(),
|
||||
override var content: LangString? = null,
|
||||
override var context: List<ObjectOrLink> = emptyList(),
|
||||
override var name: LangString? = null,
|
||||
override var endTime: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var generator: List<ObjectOrLink> = emptyList(),
|
||||
override var icon: List<ImageOrLink> = emptyList(),
|
||||
override var image: List<ImageOrLink> = emptyList(),
|
||||
override var inReplyTo: List<ObjectOrLink> = emptyList(),
|
||||
override var location: ObjectOrLink? = null,
|
||||
override var preview: ObjectOrLink? = null,
|
||||
override var published: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var replies: Collection? = null,
|
||||
override var startTime: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var summary: LangString? = null,
|
||||
override var tag: List<ObjectOrLink> = emptyList(),
|
||||
override var updated: JsonLdWrapper<OffsetDateTime>? = null,
|
||||
override var url: List<UriOrLink> = emptyList(),
|
||||
override var to: List<ObjectOrLink> = emptyList(),
|
||||
override var bto: List<ObjectOrLink> = emptyList(),
|
||||
override var cc: List<ObjectOrLink> = emptyList(),
|
||||
override var bcc: List<ObjectOrLink> = emptyList(),
|
||||
override var mediaType: MimeMediaType? = null,
|
||||
override var duration: JsonLdWrapper<Duration>? = null,
|
||||
override var id: URI? = null,
|
||||
override var source: ObjectOrLink? = null,
|
||||
override var endpoints: List<URI> = emptyList(),
|
||||
override var following: URI? = null,
|
||||
override var followers: URI? = null,
|
||||
override var inbox: URI? = null,
|
||||
override var outbox: URI? = null,
|
||||
override var liked: URI? = null,
|
||||
override var shared: URI? = null,
|
||||
override var likes: URI? = null,
|
||||
override var oauthAuthorizationEndpoint: URI? = null,
|
||||
override var oauthTokenEndpoint: URI? = null,
|
||||
override var preferredUsername: String? = null,
|
||||
override var provideClientKey: URI? = null,
|
||||
override var proxyUrl: URI? = null,
|
||||
override var sharedInbox: URI? = null,
|
||||
override var signClientKey: URI? = null,
|
||||
override var streams: URI? = null,
|
||||
override var alsoKnownAs: List<URI> = emptyList(),
|
||||
override var value: Any? = null
|
||||
) : Person
|
|
@ -1,10 +1,16 @@
|
|||
package dev.usbharu.activitystreams.impl.type
|
||||
|
||||
import dev.usbharu.activitystreams.impl.model.activity.CreateImpl
|
||||
import dev.usbharu.activitystreams.model.JsonLd
|
||||
import java.net.URI
|
||||
|
||||
class TypeFactory {
|
||||
fun factory(uri: String): List<JsonLd> {
|
||||
|
||||
val map = mutableMapOf<URI, () -> JsonLd>(
|
||||
URI.create("https://www.w3.org/ns/activitystreams#Create") to { CreateImpl() }
|
||||
)
|
||||
|
||||
fun factory(uri: URI): JsonLd? {
|
||||
return map[uri]?.invoke()
|
||||
}
|
||||
}
|
|
@ -5,5 +5,5 @@ import java.net.URI
|
|||
interface JsonLd {
|
||||
var type: List<URI>
|
||||
var id: URI?
|
||||
var value: Any
|
||||
var value: Any?
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package dev.usbharu.activitystreams.model
|
||||
|
||||
import java.net.URI
|
||||
|
||||
class JsonLdWrapper<T>(override var type: List<URI>, override var id: URI?, value: T?) : JsonLd {
|
||||
override var value: Any? = value
|
||||
}
|
|
@ -1,11 +1,9 @@
|
|||
package dev.usbharu.activitystreams.model.core
|
||||
|
||||
import dev.usbharu.activitystreams.model.ImageOrLink
|
||||
import dev.usbharu.activitystreams.model.JsonLd
|
||||
import dev.usbharu.activitystreams.model.ObjectOrLink
|
||||
import dev.usbharu.activitystreams.model.UriOrLink
|
||||
import dev.usbharu.activitystreams.model.*
|
||||
import dev.usbharu.activitystreams.model.other.LangString
|
||||
import dev.usbharu.activitystreams.model.other.MimeMediaType
|
||||
import java.net.URI
|
||||
import java.time.Duration
|
||||
import java.time.OffsetDateTime
|
||||
|
||||
|
@ -16,25 +14,25 @@ interface Object : ObjectOrLink, JsonLd {
|
|||
var content: LangString?
|
||||
var context: List<ObjectOrLink>
|
||||
var name: LangString?
|
||||
var endTime: OffsetDateTime?
|
||||
var endTime: JsonLdWrapper<OffsetDateTime>?
|
||||
var generator: List<ObjectOrLink>
|
||||
var icon: List<ImageOrLink>
|
||||
var image: List<ImageOrLink>
|
||||
var inReplyTo: List<ObjectOrLink>
|
||||
var location: ObjectOrLink?
|
||||
var preview: ObjectOrLink?
|
||||
var published: OffsetDateTime?
|
||||
var published: JsonLdWrapper<OffsetDateTime>?
|
||||
var replies: Collection?
|
||||
var startTime: OffsetDateTime?
|
||||
var startTime: JsonLdWrapper<OffsetDateTime>?
|
||||
var summary: LangString?
|
||||
var tag: List<ObjectOrLink>
|
||||
var updated: OffsetDateTime?
|
||||
var updated: JsonLdWrapper<OffsetDateTime>?
|
||||
var url: List<UriOrLink>
|
||||
var to: List<ObjectOrLink>
|
||||
var bto: List<ObjectOrLink>
|
||||
var cc: List<ObjectOrLink>
|
||||
var bcc: List<ObjectOrLink>
|
||||
var mediaType: MimeMediaType?
|
||||
var duration: Duration?
|
||||
var duration: JsonLdWrapper<Duration>?
|
||||
var source: ObjectOrLink?
|
||||
}
|
|
@ -1,8 +1,9 @@
|
|||
package dev.usbharu.activitystreams.model.other
|
||||
|
||||
import dev.usbharu.activitystreams.model.JsonLd
|
||||
import java.util.Locale
|
||||
|
||||
interface LangString : Map<String, String> {
|
||||
interface LangString : Map<String, String>,JsonLd {
|
||||
fun getValue(): String?
|
||||
fun getValueByLanguageTag(locale: Locale): String?
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
package dev.usbharu.activitystreams.model.other
|
||||
|
||||
interface MimeMediaType {
|
||||
import dev.usbharu.activitystreams.model.JsonLd
|
||||
|
||||
interface MimeMediaType : JsonLd {
|
||||
}
|
Loading…
Reference in New Issue