{
  "id": "Wave.projectionnode",
  "nodeType": "class",
  "name": "ProjectionNode",
  "namespace": "Wave",
  "startToken": {
    "type": "declaration.entity.name.class",
    "text": "ProjectionNode",
    "textToLower": "projectionnode",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "declaration.entity.name.class_ProjectionNode_-1:0"
  },
  "order": 0,
  "memberOrder": 0,
  "accessModifier": {
    "type": "keyword.modifier.access",
    "text": "global",
    "textToLower": "global",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "keyword.modifier.access_global_-1:0"
  },
  "sharingModifier": {
    "type": "keyword.modifier.sharing",
    "text": "without sharing",
    "textToLower": "without sharing",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "keyword.modifier.sharing_without sharing_-1:0"
  },
  "description": "Add aggregate functions to the query, or define an alias.",
  "documentation": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_wave_ProjectionNode.htm",
  "classes": {},
  "interfaces": {},
  "enums": {},
  "variables": {},
  "methods": {
    "sum()": {
      "id": "Wave.projectionnode.method.sum()",
      "nodeType": "method",
      "name": "sum",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "sum",
        "textToLower": "sum",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_sum_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 1,
      "memberOrder": 1,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode sum()",
      "overrideSignature": "public override wave.ProjectionNode sum()",
      "simplifiedSignature": "sum()",
      "datatype": {
        "id": "Wave.projectionnode.sum.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.sum",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the sum of a numeric field.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "avg()": {
      "id": "Wave.projectionnode.method.avg()",
      "nodeType": "method",
      "name": "avg",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "avg",
        "textToLower": "avg",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_avg_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 2,
      "memberOrder": 2,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode avg()",
      "overrideSignature": "public override wave.ProjectionNode avg()",
      "simplifiedSignature": "avg()",
      "datatype": {
        "id": "Wave.projectionnode.avg.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.avg",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the average value of a numeric field.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "min()": {
      "id": "Wave.projectionnode.method.min()",
      "nodeType": "method",
      "name": "min",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "min",
        "textToLower": "min",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_min_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 3,
      "memberOrder": 3,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode min()",
      "overrideSignature": "public override wave.ProjectionNode min()",
      "simplifiedSignature": "min()",
      "datatype": {
        "id": "Wave.projectionnode.min.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.min",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the minimum value of a field.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "max()": {
      "id": "Wave.projectionnode.method.max()",
      "nodeType": "method",
      "name": "max",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "max",
        "textToLower": "max",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_max_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 4,
      "memberOrder": 4,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode max()",
      "overrideSignature": "public override wave.ProjectionNode max()",
      "simplifiedSignature": "max()",
      "datatype": {
        "id": "Wave.projectionnode.max.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.max",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the maximum value of a field.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "count()": {
      "id": "Wave.projectionnode.method.count()",
      "nodeType": "method",
      "name": "count",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "count",
        "textToLower": "count",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_count_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 5,
      "memberOrder": 5,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode count()",
      "overrideSignature": "public override wave.ProjectionNode count()",
      "simplifiedSignature": "count()",
      "datatype": {
        "id": "Wave.projectionnode.count.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.count",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the number of rows that match the query criteria.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "unique()": {
      "id": "Wave.projectionnode.method.unique()",
      "nodeType": "method",
      "name": "unique",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "unique",
        "textToLower": "unique",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_unique_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 6,
      "memberOrder": 6,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode unique()",
      "overrideSignature": "public override wave.ProjectionNode unique()",
      "simplifiedSignature": "unique()",
      "datatype": {
        "id": "Wave.projectionnode.unique.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.unique",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Returns the count of unique values.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {},
      "queries": [],
      "exceptions": []
    },
    "alias(string)": {
      "id": "Wave.projectionnode.method.alias(string)",
      "nodeType": "method",
      "name": "alias",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "alias",
        "textToLower": "alias",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_alias_-1:0"
      },
      "parentId": "Wave.projectionnode",
      "order": 7,
      "memberOrder": 7,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "signature": "public wave.ProjectionNode alias(String name)",
      "overrideSignature": "public override wave.ProjectionNode alias(String name)",
      "simplifiedSignature": "alias(String)",
      "datatype": {
        "id": "Wave.projectionnode.alias.datatype.wave.ProjectionNode",
        "nodeType": "datatype",
        "name": "wave.ProjectionNode",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "wave",
          "textToLower": "wave",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 7
            },
            "end": {
              "line": 0,
              "character": 11
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_wave_0:7"
        },
        "parentId": "Wave.projectionnode.alias",
        "order": 0,
        "memberOrder": 0,
        "type": "wave.ProjectionNode"
      },
      "description": "Define output column names.",
      "parentName": "ProjectionNode",
      "variables": {},
      "params": {
        "name": {
          "id": "Wave.projectionnode.method.alias(string).varParam.name",
          "nodeType": "variable",
          "name": "name",
          "startToken": {
            "type": "declaration.entity.name.variable",
            "text": "name",
            "textToLower": "name",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 40
              },
              "end": {
                "line": 0,
                "character": 44
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_name_0:40"
          },
          "endToken": {
            "type": "declaration.entity.name.variable",
            "text": "name",
            "textToLower": "name",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 40
              },
              "end": {
                "line": 0,
                "character": 44
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_name_0:40"
          },
          "parentId": "Wave.projectionnode.method.alias(string)",
          "order": 1,
          "memberOrder": 1,
          "datatype": {
            "id": "Wave.projectionnode.alias.datatype.String",
            "nodeType": "datatype",
            "name": "String",
            "startToken": {
              "type": "datatype.primitive",
              "text": "String",
              "textToLower": "string",
              "isAux": false,
              "range": {
                "start": {
                  "line": 0,
                  "character": 33
                },
                "end": {
                  "line": 0,
                  "character": 39
                },
                "isEmpty": false,
                "isSingleLine": true
              },
              "id": "token.type.identifier_String_0:33"
            },
            "parentId": "Wave.projectionnode.alias",
            "order": 0,
            "memberOrder": 0,
            "type": "String"
          },
          "description": "The name to use for this column. For example, this code defines the alias c: Wave.ProjectionNode[] projs = new Wave.ProjectionNode[]{Wave.QueryBuilder.count().alias('c')};",
          "scope": null
        }
      },
      "queries": [],
      "exceptions": []
    }
  },
  "constructors": {},
  "extendsType": "",
  "implementTypes": [],
  "implements": {},
  "totalMembers": 7,
  "queries": []
}