Package com.arcxp.content.models

Types

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class AdditionalProperties(    val has_published_copy: Boolean?,     val date_created: String?,     val first_published: String?,     val last_published: String?,     val publication_end: String?,     val publication_start: String?,     val published: Boolean?,     val roles: List<String>?,     val template: String?,     val version: Int?,     val countryId: Int?,     val galleries: List<Gallery>?,     val keywords: List<String>?,     val mime_type: String?,     val originalName: String?,     val originalUrl: String?,     val fullSizeResizeUrl: String?,     val ingestionMethod: String?,     val owner: String?,     val proxyUrl: String?,     val resizeUrl: String?,     val takenOn: String?,     val subsection: String?,     val videoId: String?,     val comments: List<Any>?,     val videoCategory: String?,     val gifAsThumbnail: Boolean?,     val permalinkUrl: String?,     val platform: String?,     val playlist: String?,     val forceClosedCaptionsOn: Boolean?,     val thumbnailResizeUrl: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Address(    val country_name: String?,     val locality: String?,     val postal_code: String?,     val region: String?,     val street_address: String?,     val post_office_box: String?,     val extended_address: String?,     val additional_properties: Map<String, *>?)

Address @JsonClass(generateAdapter = true) data class following the convention of http://microformats.org/wiki/hcard

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ArcxpAnalytics(    val event: EventType?,     val deviceModel: String?,     val deviceID: String?,     val date: Date?,     val tenantID: String?)

This is data class sent per analytics event

Link copied to clipboard
interface ArcXPContentCallback

callback interface

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ArcXPSection(    @Json(name = "_id") val id: String,     @Json(name = "_website") val website: String,     @Json(name = "node_type") val type: String,     val name: String,     val navigation: Navigation,     val children: List<ArcXPSection>?,     val parent: Map<String, String>?,     val ancestors: Map<String, *>?,     val site: SiteServiceSite?,     val social: SiteServiceSocial?)

Response service object for Section List/Navigation Call

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Code(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val content: String?,     val language: String?) : StoryElement

Code sample story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Comments(    val comments_period: Int?,     val allow_comments: Boolean?,     val display_comments: Boolean?,     val moderation_required: Boolean?,     val additional_properties: Map<String, *>?)

Comment configuration data

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ContentRestrictions(    val content_code: String?,     val embargo: ContentRestrictions.Embargo?,     val geo: Geo?)

Trait that applies contains the content restrictions of an ANS object.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Correction(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val correction_type: String?,     val text: String?) : StoryElement

Describes a change that has been made to the document for transparency, or describes inaccuracies or falsehoods that remain in the document.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Credits(val by: List<Credits.CreditsBy>?, val photos_by: List<Credits.CreditsBy>?)

Credits of article

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CustomEmbed(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val embed: Embed?) : StoryElement

A custom embed element. Can be used to reference content from external providers about which little is known.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Description(val basic: String?)

The descriptions, or blurbs, for the content.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Distributor(    val name: String?,     val reference_id: String?,     val category: String?,     val subcategory: String?,     val additional_properties: Map<String, *>?,     val mode: String?)

Information about a third party that provided this content from outside this document's hosted organization.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Divider(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?) : StoryElement

A divider between segments of an article.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ElementGroup(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val content_elements: List<StoryElement>?) : StoryElement

A sub-sequence of related content elements

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Embed(    val id: String?,     val url: String?,     val config: Map<String, *>?)

The embed data.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Endorsement(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val endorsement: String?) : StoryElement

A string indicating the item's value.

Link copied to clipboard
enum EventType : Enum<EventType>

analytics event types

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Gallery(    val _id: String?,     val version: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val copyright: String?,     val canonical_url: String?,     val short_url: String?,     val created_date: Date?,     val last_updated_date: Date?,     val publish_date: Date?,     val first_publish_date: Date?,     val display_date: Date?,     val geo: Geo?,     val language: String?,     val location: String?,     val address: Address?,     val editor_note: String?,     val status: String?,     val headlines: Headline?,     val subheadlines: Headline?,     val description: Description?,     val credits: Credits?,     val vanity_credits: Credits?,     val promo_items: PromoItem?,     val related_content: Map<String, *>?,     val owner: Owner?,     val planning: Planning?,     val pitches: Pitches?,     val source: Source?,     val distributor: Distributor?,     val tracking: Any?,     val comments: Comments?,     val label: Label?,     val slug: String?,     val content_restrictions: ContentRestrictions?,     val image_type: String?,     val alt_text: String?,     val additional_properties: Map<String, *>?,     val subtitle: String?,     val caption: String?,     val url: String?,     val width: Int?,     val height: Int?,     val licensable: Boolean?,     val contributors: Image.CreatedBy?,     val content_elements: List<StoryElement>?,     val content_aliases: List<String>?) : StoryElement

Gallery ANS Type

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Geo(val latitude: Double?, val longitude: Double?)

Latitidue and Longitude of the content

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Header(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val content: String?,     val level: Int?) : StoryElement

A Header story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Headline(    val basic: String?,     val print: String?,     val social: String?,     val native: String?,     val tablet: String?,     val web: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Headlines(val basic: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Image(    val _id: String?,     val version: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val copyright: String?,     val canonical_url: String?,     val short_url: String?,     val created_date: Date?,     val last_updated_date: Date?,     val publish_date: Date?,     val first_publish_date: Date?,     val display_date: Date?,     val geo: Geo?,     val language: String?,     val location: String?,     val address: Address?,     val editor_note: String?,     val status: String?,     val headlines: Headline?,     val subheadlines: Headline?,     val description: Description?,     val credits: Credits?,     val vanity_credits: Credits?,     val promo_items: PromoItem?,     val related_content: Map<String, *>?,     val owner: Owner?,     val planning: Planning?,     val pitches: Pitches?,     val source: Source?,     val distributor: Distributor?,     val tracking: Any?,     val comments: Comments?,     val label: Label?,     val slug: String?,     val content_restrictions: ContentRestrictions?,     val image_type: String?,     val alt_text: String?,     val focal_point: Image.FocalPoint?,     val additional_properties: Map<String, *>?,     val subtitle: String?,     val caption: String?,     val url: String?,     val width: Int?,     val height: Int?,     val licensable: Boolean?,     val contributors: Image.CreatedBy?,     val auth: Map<String, String>?) : StoryElement

Image ANS type

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class InterstitialLink(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val url: String?,     val content: String?,     val description: Text?,     val image: Image?) : StoryElement

Interstitial Link story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Label(    val text: String?,     val url: String?,     val display: Boolean?,     val additional_properties: Map<String, *>?)

The default label object for this piece of content.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class LinkList(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val title: String?,     val items: List<Links>?) : StoryElement

A list of links to related or external content that may be embedded in a story as a unit. Can be used for curated re-circulation, or simple 'More Information' boxes. Each item in the list must be an interstitial link.

Link copied to clipboard
sealed class Links

Sealed class for links, could be interstitial_link or text based on type property

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Navigation(@Json(name = "nav_title") val nav_title: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class NumericRating(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val numeric_rating: Any?,     val min: Any?,     val max: Any?,     val units: String?) : StoryElement

Numeric rating story element data class: Indicates a numeric rating value

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class OembedResponse(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val additional_properties: Map<String, *>?,     val raw_oembed: Any?,     val referent: Referent?) : StoryElement

An oembed object

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Owner(    val id: String?,     val name: String?,     val sponsored: Boolean?)

Various unrelated fields that should be preserved for backwards-compatibility reasons. See also trait_source.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Parent(    val clone: String?,     val matTest: String?,     val ellipsis: String?,     val test: String?,     val goldfish: String?,     val default: String?,     val cloneSomesite: String?,     val nativeAppBar: String?,     val cloneLaur: String?,     val cloneTest: String?,     val nativeApp: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Pitches(    val additional_properties: Map<String, *>?,     val platform: List<PlatformPitch>?,     val publication: List<PublicationPitch>?)

Trait that represents a story's pitches. In the Arc ecosystem, this data is generated by WebSked.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Planning(    val additional_properties: Map<String, *>?,     val websked_sort_date: Date?,     val deadline_miss: Int?,     val internal_note: String?,     val budget_line: String?,     val scheduling: Scheduling?,     val story_length: StoryLength?,     val workFlow: WorkFlow?,     val revision: Revision?,     val syndication: Syndication?)

Trait that applies planning information to a document or resource. In the Arc ecosystem, this data is generated by WebSked. Newsroom use only. All these fields should be available and editable in WebSked.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PlatformPitch(    val additional_properties: Map<String, *>?,     val platform_path: String?,     val creation_event: PlatformPitch.PlatformPitchEvent,     val latest_event: PlatformPitch.PlatformPitchEvent)

Platform pitch: Trait that represents a pitch to a platform. In the Arc ecosystem, this data is generated by WebSked.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PromoItem(val basic: PromoItem.PromoItemBasic?, val lead_art: PromoItem.PromoItemBasic?)

Lists of promotional content to use when highlighting the story. In the Arc ecosystem, references in these lists will be denormalized.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PublicationPitch(    val additional_properties: Map<String, *>?,     val publication_id: String?,     val creation_event: PublicationPitch.PublicationPitchEvent,     val latest_event: PublicationPitch.PublicationPitchEvent)

Trait that represents a pitch to a publication. In the Arc ecosystem, this data is generated by WebSked.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Publishing(val scheduled_operations: ArcXPStory.Publishing.ScheduledOperations?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Quote(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val content_elements: List<StoryElement>?,     val additional_properties: Map<String, *>?,     val citation: Text?) : StoryElement

Quote story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class RawHTML(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val content: String?) : StoryElement

RawHTML story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Referent(    val type: String?,     val service: String?,     val id: String?,     val provider: String?,     val website: String?,     val referent_properties: Map<String, *>?)

Referent data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ReferentProperties(val additional_properties: AdditionalProperties?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class RenderingGuide(val enum: String?, val type: String?)

Trait that provides suggestions for the rendering system.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Revision(    val branch: String?,     val editions: List<String>?,     val published: Boolean?,     val revision_id: String?,     val parent_id: String?,     val user_id: String?,     val additional_properties: Map<String, *>?)

Revision data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Scheduling(    val planned_publish_date: Date?,     val scheduled_publish_date: Date?,     val will_have_gallery: Boolean?,     val will_have_graphic: Boolean?,     val will_have_image: Boolean?,     val will_have_video: Boolean?)

Scheduling information.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SiteInfo(val website_section: WebsiteSection?, val website_url: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SiteServiceSite(    @Json(name = "site_url") val siteUrl: String?,     @Json(name = "site_about") val siteAbout: String?,     @Json(name = "site_description") val siteDescription: String?,     @Json(name = "pagebuilder_path_for_native_apps") val pageBuilderPathForNativeApps: String?,     @Json(name = "site_taglined") val siteTagline: String?,     @Json(name = "site_title") val siteTitle: String?,     @Json(name = "sitesite_keywords_title") val siteKeywordsTitle: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SiteServiceSocial(    val rss: String?,     val twitter: String?,     val facebook: String?,     val instagram: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Social(val site: String?, val url: String?)

Social Links: Links to various social media

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Source(    val source_id: String?,     val source_type: String?,     val name: String?,     val system: String?,     val edit_url: String?,     val additional_properties: Map<String, *>?)

Information about the original source and/or owner of this content

Link copied to clipboard
sealed class StoryElement
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class StoryLength(    val word_count_planned: Int?,     val word_count_actual: Int?,     val inch_count_planned: Int?,     val inch_count_actual: Int?,     val line_count_planned: Int?,     val line_count_actual: Int?,     val character_count_planned: Int?,     val character_count_actual: Int?,     val character_encoding: String?)

Story length information.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class StoryList(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val additional_properties: Map<String, *>?,     val list_type: String?,     val items: List<StoryListElement>?) : StoryElement

list of text items or other lists

Link copied to clipboard
sealed class StoryListElement

sealed class for story list element, could be text or list sub types depending on type field

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Streams(    val url: String?,     val width: Int?,     val height: Int?,     val filesize: Long?,     @Json(name = "stream_type") val streamType: String?,     val bitrate: Int?,     val video_codec: Int?,     val audio_codec: Int?,     val provider: String?)

A stream of video. Configuration for a piece of video content, over a stream.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Subheadlines(val basic: String?)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Syndication(val external_distribution: Boolean?, val search: Boolean?)

Key-boolean pair of syndication services where this article may go

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Table(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val additional_properties: Map<String, *>?,     val header: List<Text>?,     val rows: List<List<Text>>?) : StoryElement

Table story element data class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Taxonomy(    val keywords: List<Taxonomy.Keyword>?,     val named_entities: List<Taxonomy.NamedEntity>?,     val topics: List<Taxonomy.Topic>?,     val auxiliaries: List<Taxonomy.Auxiliary>?,     val tags: List<Taxonomy.Tag>?,     val primary_section: Taxonomy.Section?,     val sections: List<Taxonomy.Section>?,     val seo_keywords: List<String>?,     val stock_symbols: List<String>?,     val associated_tasks: List<String>?,     val additional_properties: Map<String, *>?)

Holds the collection of tags, categories, keywords, etc that describe content.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Text(    val _id: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val block_properties: Text.BlockProperties?,     val additional_properties: Map<String, *>?,     val content: String?) : StoryElement

Text story element data class: A textual content element

Link copied to clipboard
class UnknownStoryListElement : StoryListElement

this object gets returned given an unknown StoryListElement

Link copied to clipboard
class UnknownWebsiteSection : WebsiteSection

this object gets returned given an unknown WebsiteSection

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Video(    val _id: String?,     val version: String?,     val subtype: String?,     val channels: List<String>?,     val alignment: String?,     val copyright: String?,     val canonical_url: String?,     val canonical_website: String?,     val short_url: String?,     val created_date: Date?,     val last_updated_date: Date?,     val publish_date: Date?,     val first_publish_date: Date?,     val display_date: Date?,     val geo: Geo?,     val language: String?,     val location: String?,     val address: Address?,     val editor_note: String?,     val status: String?,     val headlines: Headline?,     val subheadlines: Headline?,     val description: Description?,     val credits: Credits?,     val vanity_credits: Credits?,     val taxonomy: Taxonomy?,     val promo_items: PromoItem?,     val related_content: Map<String, *>?,     val owner: Owner?,     val planning: Planning?,     val pitches: Pitches?,     val source: Source?,     val distributor: Distributor?,     val tracking: Any?,     val comments: Comments?,     val label: Label?,     val slug: String?,     val content_restrictions: ContentRestrictions?,     val content_aliases: List<String>?,     val duration: Int?,     val transcript: String?,     val rating: String?,     val video_type: String?,     val youtube_content_id: String?,     val streams: List<Streams>?,     val subtitles: Video.Subtitle?,     val additional_properties: Map<String, *>?,     val image_type: String?,     val alt_text: String?,     val focal_point: Image.FocalPoint?,     val subtitle: String?,     val caption: String?,     val url: String?,     val width: Int?,     val height: Int?,     val licensable: Boolean?,     val contributors: Image.CreatedBy?,     val promo_image: Image?,     val embed_html: String?,     val corrections: List<Correction>?,     val websites: Map<String, SiteInfo>?) : StoryElement

Holds attributes of an ANS video component. In the Arc ecosystem, these are stored in Goldfish.

Link copied to clipboard
sealed class WebsiteSection

sealed class: could be either Section or Reference based on type

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class WorkFlow(    val status_code: Int?,     val note: String?,     val additional_properties: Map<String, *>?)

Trait that applies workflow information to a document or resource. In the Arc ecosystem, this data is generated by WebSked.

Functions

Link copied to clipboard
fun Image.imageUrl(): String
Link copied to clipboard
fun String.substringAfterLastUrlCharacter(delimiter: String, missingDelimiterValue: String = this): String?