Very crude sorting used by JsonApiSupport marshalling bits works on raw json objects so performance won't be good
Represents optional value with a special case for null.
Represents optional value with a special case for null. Used for parsing data out of json where null and value not being present at all are different things (for example in the case of wanting to unset a value)
For the most part tries to implement scala options api. Also provides .toOption to turn the maybe into a scala Option
Class Some[A]
represents existing values of type A
.
Contains macros used to automatically create JsonApiWriter and JsonApiFormat instances from a case class for http://jsonapi.org format.
Contains macros used to automatically create JsonApiWriter and JsonApiFormat instances from a case class for http://jsonapi.org format.
The JsonApiFormat it self is not yet complete. The read side returns Nothing (???) and thus will crash with scala.NotImplementedError
In the case class you have to provide 2 implicits after of which you can create an instance of the JsonApiFormat or JsonApiWriter. Example for a case class called Individual.
implicit val individualResourceType: ResourceType[Individual] = "individuals" implicit val individualPathTo: PathTo[Individual] = new PathTo[Individual] { private[this] val root = Path("/individuals") override final def self(id: String): Uri = root / id } // After these you can generate the format like this implicit val individualJsonFormat: JsonApiFormat[Individual] = jsonApiFormat[Individual]
Used render proper related link response as specified by jsonapi spec found at http://jsonapi.org/format/1.0/#fetching-resources
Represents a relationship to zero or more objects of type A com.qvantel.jsonapi.ToMany.IdsReference case class is used to represent a ToMany relationship where the objects have not been loaded com.qvantel.jsonapi.ToMany.Loaded case class is used to represent a ToMany relationship where the objects have been loaded
Represents a relationship to zero or more objects of type A com.qvantel.jsonapi.ToMany.IdsReference case class is used to represent a ToMany relationship where the objects have not been loaded com.qvantel.jsonapi.ToMany.Loaded case class is used to represent a ToMany relationship where the objects have been loaded
Type of the object the relationships point to
Represents a relationship to object A com.qvantel.jsonapi.ToOne.Reference case class is used when A is not loaded but we know it's id.
Represents a relationship to object A com.qvantel.jsonapi.ToOne.Reference case class is used when A is not loaded but we know it's id. In case we do not know the id of the other end of the relationship wrap the relation in option and fill it with None com.qvantel.jsonapi.ToOne.Loaded case class is used when A is loaded
Type of the object the relationship points to
macro annotation used to generate JsonApiFormat and related things for a case class
macro annotation used to generate JsonApiFormat and related things for a case class
This case object represents non-existent values.
This case object represents null values.
Reads a collection of jsonapi entities.
Reads a collection of jsonapi entities. Due to include paths being provided includes will be handled.
Reads a collection of jsonapi entities.
Reads a collection of jsonapi entities. Due to no includes path being provided includes are ignored.
Reads one jsonapi entity.
Reads one jsonapi entity. Due to include paths being provided includes will be handled.
Reads one jsonapi entity.
Reads one jsonapi entity. Due to no includes path being provided includes are ignored.