View Source SmeeView.Aspects.Publication (SmeeView v0.2.0)

Represents and processes <mdrpi:Publication> elements in entity metadata as Aspect structs.

The functions in this module are intended to be applied to individual Aspect structs - for extracting and processing collections of these records please use the matching View module.

Summary

Functions

Is this aspect relevant to the IdP role?

Returns the publication ID as a binary string.

Returns the URI ID of the publisher as a binary string.

Returns the associated role for this aspect: :sp, :idp or :all

Is this aspect relevant to the SP role?

Types

@type t() :: %SmeeView.Aspects.Publication{
  publication_id: binary(),
  publisher: binary()
}

Functions

@spec idp?(aspect :: t()) :: boolean()

Is this aspect relevant to the IdP role?

Will return true if the aspect has been derived from an IdP role, or is applicable to all roles.

Publication.idp?(aspect)
# => true
@spec publication_id(aspect :: t()) :: binary()

Returns the publication ID as a binary string.

Publication.publication_id(aspect)
# => "k3klsoi"
@spec publisher(aspect :: t()) :: binary()

Returns the URI ID of the publisher as a binary string.

Publication.publisher(aspect)
# => "urn:mace:switch.ch:SWITCHaai"
@spec role(aspect :: t()) :: atom()

Returns the associated role for this aspect: :sp, :idp or :all

The role type is useful when handling a mixed list of aspects that may be specific to certain roles of an entity.

Publication.role(aspect)
# => :idp
@spec sp?(aspect :: t()) :: boolean()

Is this aspect relevant to the SP role?

Will return true if the aspect has been derived from an SP role, or is applicable to all roles.

Publication.sp?(aspect)
# => false