Package

agora.api

json

Permalink

package json

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. json
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class After(after: String) extends TimePredicate with JPredicate with Product with Serializable

    Permalink
  2. trait AgoraJsonImplicits extends TimeInstances

    Permalink

    Implicit conversions for combining ToBytes and FromBytes w/ circe Encoders and Decoders

  3. case class And(and: List[JPredicate]) extends JPredicate with Product with Serializable

    Permalink
  4. case class Before(before: String) extends TimePredicate with JPredicate with Product with Serializable

    Permalink
  5. sealed abstract class ComparablePredicate extends JPredicate

    Permalink

    This is an interesting scala question/problem ...

    This is an interesting scala question/problem ... we just have json numbers, so we don't know if they're ints, longs, big decimals, etc.

    Presumably we want to avoid a costly bigdecimal conversion/comparison (or perhaps not ... I need to check the actual overhead). But assuming we do, then we want subclasses to provide the minimum overhead. We shouldn't make them e.g. specify "greater than or equal to" for each numeric type (BigDecimal and Long), but rather just use long and then fall-back on big decimal if that's what we need.

  6. case class Eq(eq: Json) extends JPredicate with Product with Serializable

    Permalink
  7. case class ExistsMatcher(jpath: JPath) extends JMatcher with Product with Serializable

    Permalink
  8. case class Gt(gt: Json) extends ComparablePredicate with Product with Serializable

    Permalink
  9. case class Gte(gte: Json) extends ComparablePredicate with Product with Serializable

    Permalink
  10. case class JArrayFind(arrayFind: JPredicate) extends JPart with Product with Serializable

    Permalink

    Represents a json value within an array

    Represents a json value within an array

    arrayFind

    the value to find within an array

  11. case class JField(name: String) extends JPart with Product with Serializable

    Permalink

    Represents a json field (e.g.

    Represents a json field (e.g. the 'foo' in 'foo.bar')

    name

    the field name

  12. case class JFilter(field: String, predicate: JPredicate) extends JPart with Product with Serializable

    Permalink

    Represents a predicate for a particular field

    Represents a predicate for a particular field

    field

    the json field

    predicate

    the predicate to evaluate against the field

  13. case class JIncludes(elements: Set[Json]) extends JPredicate with Product with Serializable

    Permalink
  14. sealed trait JMatcher extends AnyRef

    Permalink

    A JMatcher is a predicate for evaluating json.

    A JMatcher is a predicate for evaluating json. A JMatcher can:

    1) check if a JPath exists 2) support boolean alegebra ('and-ing','or-ing', 'not' )

  15. sealed trait JPart extends AnyRef

    Permalink

    represents part of a json path e.g.

    represents part of a json path e.g.

    foo/2/{x == 3}

    would be represented as

    JField("foo") :: JPos(2) :: JFilterValue("x", 3) :: Nil

  16. case class JPath(parts: List[JPart]) extends Product with Serializable

    Permalink

    Represents a json path (like an xpath is to xml)

    Represents a json path (like an xpath is to xml)

    parts

    the segments of the path

  17. case class JPos(pos: Int) extends JPart with Product with Serializable

    Permalink

    Represents a position in an array

    Represents a position in an array

    pos

    the array index

  18. sealed trait JPredicate extends AnyRef

    Permalink

    A JPredicate is a predicate specifically for matching Json values.

    A JPredicate is a predicate specifically for matching Json values.

    The predicate itself can also be represented as json

  19. case class JRegex(regex: String) extends JPredicate with Product with Serializable

    Permalink
  20. trait JsonAppendable extends AnyRef

    Permalink
  21. case class JsonDelta(remove: List[JPath] = Nil, append: Json = Json.Null) extends Product with Serializable

    Permalink

    Represents changes to some json

    Represents changes to some json

    remove

    the jpaths to remove

    append

    the json to append

  22. case class Lt(lt: Json) extends ComparablePredicate with Product with Serializable

    Permalink
  23. case class Lte(lte: Json) extends ComparablePredicate with Product with Serializable

    Permalink
  24. case class MatchAnd(and: List[JMatcher]) extends JMatcher with Product with Serializable

    Permalink
  25. case class MatchNot(not: JMatcher) extends JMatcher with Product with Serializable

    Permalink
  26. case class MatchOr(or: List[JMatcher]) extends JMatcher with Product with Serializable

    Permalink
  27. case class Not(not: JPredicate) extends JPredicate with Product with Serializable

    Permalink
  28. case class Or(or: List[JPredicate]) extends JPredicate with Product with Serializable

    Permalink
  29. abstract class TimePredicate extends AnyRef

    Permalink

Value Members

  1. object AgoraJsonImplicits extends AgoraJsonImplicits

    Permalink
  2. object And extends Serializable

    Permalink
  3. object JMatcher

    Permalink
  4. object JPart

    Permalink
  5. object JPath extends Serializable

    Permalink
  6. object JPredicate

    Permalink
  7. object JsonDelta extends Serializable

    Permalink
  8. object MatchAll extends JMatcher

    Permalink
  9. object MatchAnd extends Serializable

    Permalink
  10. object MatchNone extends JMatcher

    Permalink
  11. object MatchOr extends Serializable

    Permalink
  12. object Or extends Serializable

    Permalink
  13. def deepMergeWithArrayConcat(targetJson: Json, jsonToAdd: Json): Json

    Permalink

    merges the two json objects together, where array fields are concatenated

    merges the two json objects together, where array fields are concatenated

    targetJson

    the json which is the target of this operation

    jsonToAdd

    the json to add to the target json

    returns

    the targetJson with common entries found in jsonToRemove removed

  14. def deepRemove(from: Json, that: Json): Json

    Permalink

    Removes common values from 'that' f

Inherited from AnyRef

Inherited from Any

Ungrouped