Skip to content
Boreeas edited this page Aug 15, 2014 · 4 revisions

Shards

The domain-module's most central class is the Shard enum, which contains several constants for the server, namely:

Field Description
name The platform name
baseUrl The base url for most services
chatUrl The url for the jabber server
prodUrl The url for the rtmp server
loginQueue The url for the login queue
apiUrl The url for the rest api
spectatorUrl The url for the spectator api
isGarena Whether this is a garena-run server or not

Util

A loose collection of helper methods which couldn't find a place anywhere else.

Constants

A bunch of constants that should be organized into com.riotgames at some point, but for which we didn't find the correct location yet (e.g. Map, LeagueTier, PlayerSide, QueueType and Season)

com.riotgames

A port of the client classes to java, mostly DTOs returned by the RTMP Api

rtmp.serialization

You may find yourself in a position where you need to serialize your own objects for transmission via RTMP, though hopefully you won't need to.

Usually, adding the @Serialization annotation is all you need. It contains the following attributes, though all of them are optional

Attribute Description If Not Set
name The fully qualified name for this class. The class will be serialized as an anonymous object, and during deserialization, only an AnonymousAmfObject will be returned
noncanonicalName Names which are also accepted during deserialization Only name will be accepted for deserialization
dynamic Sets the dynamic flag for this object, meaning that optional fields outside the trait definition may be serialized and deserialized No attempt is made to mark the object as dynamic or read additional fields after the standard object body
externalizable The object does not follow the standard serialization and deserialization process. Objects that set this field should either implement Externalizable or set custom (de)serializers (see below) The object will be serialized and deserialized in the standard format
deserializeOnly The @Serialization annotation is ignored during serialization The @Serialization annotation is not ignored
amf3Serializer, amf0Serializer, amf3Deserializer, amf0Deserializer The (de)serializer for each protocol version. A new instance of this is created whenever an object of this type is (de)serialized The standard object serializer/deserializer is used

Other classes of interest might be:

  • @AmfType - The type marker for this object (by default, a specific OBJECT marker is sent)
  • @JsonSerialization - The marked field is read as a string, and then parsed as JSON
  • @NoSerialization - The marked field is excluded from serialization and deserialization
  • @SerializedName - If the field name differs from the name the server expects, you can set the serialized name with this
Clone this wiki locally