Skip to content

class MediaTypeHeaderValue

cangjie
public class MediaTypeHeaderValue

功能:表示媒体类型标头。参见 https://tools.ietf.org/html/rfc6838

成员概览

成员功能
init(String)仅含 mediaType 的构造(如 "application/json")
init(String, Float64)含 mediaType 和 quality 的构造
prop charsetcharset 参数值(空串表示不存在)
prop boundaryboundary 参数值(空串表示不存在)
prop parameters参数列表(懒初始化)
prop qualityquality 参数值(None 表示不存在)
prop mediaType完整媒体类型字符串(如 "application/json")
prop type_主类型(如 "application")
prop subType子类型(如 "vnd.example+json")
prop subTypeWithoutSuffix不含结构化语法后缀的子类型(如 "vnd.example")
prop suffix结构化语法后缀(如 "json"),不存在时返回空串
prop facetsfacets:subTypeWithoutSuffix 按 '.' 分割的列表
prop matchesAllTypes是否匹配所有类型(即星号斜杠星号通配媒体类型)
prop matchesAllSubTypes是否匹配所有子类型(subType == *)
prop matchesAllSubTypesWithoutSuffix是否匹配所有不含后缀的子类型
prop isReadOnly是否只读
func matchesMediaType(String)判断 otherMediaType 字符串(仅 type/subtype,忽略参数)是否与本实例匹配
func isSubsetOf(MediaTypeHeaderValue)判断 this 是否是 otherMediaType 的子集
func copy()深拷贝
func copyAsReadOnly()只读深拷贝
func toString()返回当前媒体类型标头的字符串表示。
func ==(MediaTypeHeaderValue)比较两个媒体类型标头是否相等。
func hashCode()返回当前媒体类型标头的哈希值。
func parse(String)解析媒体类型字符串,返回 Option(None 表示格式无效)

init(String)

cangjie
public init(mediaType: String)

功能:仅含 mediaType 的构造(如 "application/json")

参数:

  • mediaType: String - 媒体类型字符串。

init(String, Float64)

cangjie
public init(mediaType: String, quality: Float64)

功能:含 mediaType 和 quality 的构造

参数:

  • mediaType: String - 媒体类型字符串。
  • quality: Float64 - 质量因子。

prop charset

cangjie
public mut prop charset: String

功能:charset 参数值(空串表示不存在)

类型:String

prop boundary

cangjie
public mut prop boundary: String

功能:boundary 参数值(空串表示不存在)

类型:String

prop parameters

cangjie
public prop parameters: ArrayList<NameValueHeaderValue>

功能:参数列表(懒初始化)

类型:ArrayList<NameValueHeaderValue>

prop quality

cangjie
public mut prop quality: ?Float64

功能:quality 参数值(None 表示不存在)

类型:?Float64

prop mediaType

cangjie
public mut prop mediaType: String

功能:完整媒体类型字符串(如 "application/json")

类型:String

prop type_

cangjie
public prop type_: String

功能:主类型(如 "application")

类型:String

prop subType

cangjie
public prop subType: String

功能:子类型(如 "vnd.example+json")

类型:String

prop subTypeWithoutSuffix

cangjie
public prop subTypeWithoutSuffix: String

功能:不含结构化语法后缀的子类型(如 "vnd.example")

类型:String

prop suffix

cangjie
public prop suffix: String

功能:结构化语法后缀(如 "json"),不存在时返回空串

类型:String

prop facets

cangjie
public prop facets: Array<String>

功能:facets:subTypeWithoutSuffix 按 '.' 分割的列表

类型:Array<String>

prop matchesAllTypes

cangjie
public prop matchesAllTypes: Bool

功能:是否匹配所有类型(即星号斜杠星号通配媒体类型)

类型:Bool

prop matchesAllSubTypes

cangjie
public prop matchesAllSubTypes: Bool

功能:是否匹配所有子类型(subType == *)

类型:Bool

prop matchesAllSubTypesWithoutSuffix

cangjie
public prop matchesAllSubTypesWithoutSuffix: Bool

功能:是否匹配所有不含后缀的子类型

类型:Bool

prop isReadOnly

cangjie
public prop isReadOnly: Bool

功能:是否只读

类型:Bool

func matchesMediaType(String)

cangjie
public func matchesMediaType(otherMediaType: String): Bool

功能:判断 otherMediaType 字符串(仅 type/subtype,忽略参数)是否与本实例匹配

对应 C# MatchesMediaType(StringSegment)

参数:

  • otherMediaType: String - 待比较的媒体类型字符串。

返回值:

  • Bool - 与当前媒体类型匹配时返回 true

func isSubsetOf(MediaTypeHeaderValue)

cangjie
public func isSubsetOf(other: MediaTypeHeaderValue): Bool

功能:判断 this 是否是 otherMediaType 的子集

参数:

返回值:

  • Bool - 当前媒体类型是目标媒体类型子集时返回 true

func copy()

cangjie
public func copy(): MediaTypeHeaderValue

功能:深拷贝

返回值:

func copyAsReadOnly()

cangjie
public func copyAsReadOnly(): MediaTypeHeaderValue

功能:只读深拷贝

返回值:

func toString()

cangjie
public func toString(): String

功能:返回当前媒体类型标头的字符串表示。

返回值:

  • String - 当前媒体类型标头的字符串表示。

func ==(MediaTypeHeaderValue)

cangjie
public operator func ==(other: MediaTypeHeaderValue): Bool

功能:比较两个媒体类型标头是否相等。

参数:

返回值:

  • Bool - 如果两个媒体类型标头相等则返回 true,否则返回 false。

func hashCode()

cangjie
public func hashCode(): Int64

功能:返回当前媒体类型标头的哈希值。

返回值:

  • Int64 - 当前媒体类型标头的哈希值。

func parse(String)

cangjie
public static func parse(input: String): ?MediaTypeHeaderValue

功能:解析媒体类型字符串,返回 Option(None 表示格式无效)

要求整个字符串(含尾部空白)均被合法解析,否则返回 None

参数:

  • input: String - 待解析的媒体类型字符串。

返回值: