Class JsonConditionalNode


public class JsonConditionalNode extends JsonFragment
A fragment of a JsonTemplate whose nodes are written only when its logical expression is true; created by when(String).
  • Constructor Details

    • JsonConditionalNode

      public JsonConditionalNode(JsonNode parentNode, String condition)
  • Method Details

    • getCondition

      public JsonLogicalExpression getCondition()
    • hasNodes

      public boolean hasNodes(ExpressionContext context)
      Description copied from class: JsonNode
      Returns true if this node has children to write in the given context; a conditional node also requires its condition.
      Overrides:
      hasNodes in class JsonNode
    • getNodes

      public List<JsonNode> getNodes(ExpressionContext context)
      Description copied from class: JsonNode
      Returns this node's children; a conditional node returns null when its condition is false in the given context.
      Overrides:
      getNodes in class JsonNode
    • object

      public JsonObject object(String nameExpression)
      Description copied from class: JsonNode
      Adds an object-valued field and returns the new object; only valid on object nodes.
      Overrides:
      object in class JsonNode
    • array

      public JsonArray array(String nameExpression)
      Description copied from class: JsonNode
      Adds an array-valued field and returns the new array; only valid on object nodes.
      Overrides:
      array in class JsonNode
    • field

      public JsonConditionalNode field(String nameExpression, String valueExpression)
      Description copied from class: JsonNode
      Adds a scalar field whose name and value are computed by the given expressions; only valid on object nodes.
      Overrides:
      field in class JsonNode
    • object

      public JsonObject object()
      Description copied from class: JsonNode
      Adds an anonymous object element and returns it; only arrays (and the template root) accept one.
      Overrides:
      object in class JsonNode
    • array

      public JsonArray array()
      Description copied from class: JsonNode
      Adds an anonymous array element and returns it; only arrays (and the template root) accept one.
      Overrides:
      array in class JsonNode
    • value

      public JsonConditionalNode value(String valueExpression)
      Description copied from class: JsonNode
      Adds a scalar element whose value is computed by the given expression; only valid on array nodes.
      Overrides:
      value in class JsonNode
    • exception

      protected DataException exception(Throwable e)
      Description copied from class: JsonNode
      Wraps the throwable in a DataException with this node's type, class and children; subclasses add their own details.
      Overrides:
      exception in class JsonFragment