water.api
Class Request

java.lang.Object
  extended by water.Iced
      extended by water.api.Constants
          extended by water.api.RequestStatics
              extended by water.api.RequestArguments
                  extended by water.api.RequestQueries
                      extended by water.api.RequestBuilders
                          extended by water.api.Request
All Implemented Interfaces:
java.lang.Cloneable, Freezable
Direct Known Subclasses:
Cancel, Cloud, Debug, Exec, ExportHdfs, ExportS3, ExportS3Progress, GeneratePredictionsPage, Get, GLM, GLMGrid, GLMGridProgress, GLMProgressPage, GLMScore, HTMLOnlyRequest, HTTP404, HTTP500, ImportFiles, ImportHdfs, ImportS3, ImportUrl, Inspect, IOStatus, Jobs, JSONOnlyRequest, JStack, KMeans, KMeansApply, KMeansScore, LogView, Parse, PCA, Plot, Progress, PutValue, Remove, RemoveAck, Request2, RF, RFScore, RFTreeView, RFView, RPackage, RReader, RReaderProgress, Score, Script, Script.RunScript, SetColumnNames, Shutdown, StoreView, SummaryPage, TestPoll, TestRedirect, Timeline, TypeaheadRequest

public abstract class Request
extends RequestBuilders


Nested Class Summary
static interface Request.API
           
 class Request.Default
          NOP filter, use to define a field as input.
static interface Request.Filter
           
 
Nested classes/interfaces inherited from class water.api.RequestBuilders
RequestBuilders.ArrayBuilder, RequestBuilders.ArrayHeaderRowBuilder, RequestBuilders.ArrayRowBuilder, RequestBuilders.ArrayRowElementBuilder, RequestBuilders.ArrayRowSingleColBuilder, RequestBuilders.BooleanStringBuilder, RequestBuilders.Builder, RequestBuilders.ElementBuilder, RequestBuilders.HideBuilder, RequestBuilders.KeyCellBuilder, RequestBuilders.KeyElementBuilder, RequestBuilders.KeyLinkElementBuilder, RequestBuilders.KeyMinAvgMaxBuilder, RequestBuilders.NoCaptionObjectBuilder, RequestBuilders.ObjectBuilder, RequestBuilders.PaginatedTable, RequestBuilders.PreFormattedBuilder, RequestBuilders.Response, RequestBuilders.WarningCellBuilder
 
Nested classes/interfaces inherited from class water.api.RequestArguments
RequestArguments.Argument<T>, RequestArguments.Bool, RequestArguments.CaseModeSelect, RequestArguments.CaseSelect, RequestArguments.ClassifyBool, RequestArguments.EnumArgument<T extends java.lang.Enum<T>>, RequestArguments.ExistingFile, RequestArguments.FrameClassVec, RequestArguments.FrameKeyMultiVec, RequestArguments.FrameKeyVec, RequestArguments.H2OCategoryStrata, RequestArguments.H2OCategoryWeights, RequestArguments.H2OExistingKey, RequestArguments.H2OGLMModelKey, RequestArguments.H2OHexKey, RequestArguments.H2OHexKeyCol, RequestArguments.H2OKey, RequestArguments.H2OKey2, RequestArguments.H2OKMeansModelKey, RequestArguments.H2OModelKey<TM extends OldModel,TK extends TypeaheadKeysRequest>, RequestArguments.H2OPCAModelKey, RequestArguments.HexAllColumnSelect, RequestArguments.HexColumnSelect, RequestArguments.HexKeyClassCol, RequestArguments.HexNonClassColumnSelect, RequestArguments.HexNonConstantColumnSelect, RequestArguments.HexPCAColumnSelect, RequestArguments.InputCheckBox, RequestArguments.InputSelect<T>, RequestArguments.InputText<T>, RequestArguments.Int, RequestArguments.LongInt, RequestArguments.MultipleSelect<T>, RequestArguments.MultipleText<T>, RequestArguments.NTree, RequestArguments.NumberSequence, RequestArguments.Real, RequestArguments.Record<T>, RequestArguments.RFModelKey, RequestArguments.RSeq, RequestArguments.Str, RequestArguments.StringList, RequestArguments.TypeaheadInputText<T>
 
Nested classes/interfaces inherited from class water.api.RequestStatics
RequestStatics.RequestType
 
Nested classes/interfaces inherited from class water.api.Constants
Constants.Extensions, Constants.Schemes, Constants.Suffixes
 
Field Summary
 java.lang.String _requestHelp
           
protected static RequestServer.API_VERSION[] SUPPORTS_ONLY_V1
          Request API versioning.
protected static RequestServer.API_VERSION[] SUPPORTS_ONLY_V2
           
protected static RequestServer.API_VERSION[] SUPPORTS_V1_V2
           
 
Fields inherited from class water.api.RequestBuilders
ARRAY_BUILDER, ARRAY_HEADER_ROW_BUILDER, ARRAY_ROW_BUILDER, ARRAY_ROW_ELEMENT_BUILDER, ARRAY_ROW_SINGLECOL_BUILDER, ELEMENT_BUILDER, GSON_BUILDER, OBJECT_BUILDER, ROOT_OBJECT
 
Fields inherited from class water.api.RequestQueries
_queryHtml
 
Fields inherited from class water.api.RequestArguments
_arguments
 
Fields inherited from class water.api.Constants
ALPHA, ARGUMENTS, AUC, BASE, BEST_THRESHOLD, BETA_EPS, BIN_LIMIT, BROWSE, BUCKET, BUILT_IN_KEY_JOBS, CANCELLED, CASE, CASE_MODE, CHUNK, CLASS, CLOUD_NAME, CLOUD_SIZE, CLUSTERS, COEFFICIENTS, COLS, COLUMNS_DISPLAY, CONSENSUS, CONTENTS, COUNT, DATA_KEY, DEPTH, DESCRIPTION, DEST_KEY, DTHRESHOLDS, END_TIME, ENUM_DOMAIN_SIZE, ERROR, ESCAPE_NAN, EXCLUSIVE_SPLIT_LIMIT, EXPRESSION, FAILED, FAMILY, FEATURES, FILE, FILES, FILTER, FIRST_CHUNK, FJ_QUEUE_HI, FJ_QUEUE_LO, FJ_THREADS_HI, FJ_THREADS_LO, FREE_DISK, FREE_MEM, HEADER, HEIGHT, HELP, IGNORE, ITEMS, ITERATIVE_CM, JOB, JOB_KEY, JOBS, JSON_H2O, KEY, KEYS, LAMBDA, LAST_CONTACT, LIMIT, LINK, LOCKED, MAX, MAX_DISK, MAX_ITER, MAX_MEM, MAX_ROWS, MEAN, MIN, MODEL_KEY, MODELS, MORE, MTRY, MTRY_NODES, NAME, NEG_X, NO_CM, NODE, NODE_NAME, NODES, NORMALIZE, NUM_COLS, NUM_CPUS, NUM_FAILED, NUM_KEYS, NUM_MISSING_VALUES, NUM_ROWS, NUM_SUCCEEDED, NUM_TREES, OBJECT, OFFSET, OOBEE, PARALLEL, PARSER_TYPE, PATH, PREVIEW, PREVIOUS_MODEL_KEY, PROGRESS, PROGRESS_KEY, PROGRESS_TOTAL, REDIRECT, REDIRECT_ARGS, REPLICATION_FACTOR, REQUEST_TIME, RESPONSE, RHO, ROW, ROW_SIZE, ROWS, RPCS, SAMPLE, SAMPLING_STRATEGY, SCALE, SEED, SENT_ROWS, SEPARATOR, SIZE, SOURCE_KEY, STACK_TRACES, START_TIME, STAT_TYPE, STATUS, STEP, STRATA_SAMPLES, SUCCEEDED, SYSTEM_LOAD, TASK_KEY, TCPS_ACTIVE, TCPS_DUTY, TIME, TOT_MEM, TREE_COUNT, TREE_DEPTH, TREE_LEAVES, TREE_NUM, TREES, TWEEDIE_POWER, TYPE, URL, USE_NON_LOCAL_DATA, VALUE, VALUE_SIZE, VALUE_TYPE, VARIANCE, VERSION, VIEW, WARNINGS, WEIGHT, WEIGHTS, WIDTH, X, XVAL, Y
 
Constructor Summary
protected Request()
           
protected Request(java.lang.String help)
           
 
Method Summary
static Request addToNavbar(Request r, java.lang.String name)
           
static Request addToNavbar(Request r, java.lang.String name, java.lang.String category)
           
protected  Request create(java.util.Properties parms)
           
 java.lang.String[] DocExampleFail()
           
 java.lang.String[] DocExampleSucc()
          Example of passing & failing request.
 java.lang.String href()
           
protected  java.lang.String href(RequestServer.API_VERSION v)
           
protected  RequestStatics.RequestType hrefType()
           
 java.lang.String HTMLHelp()
           
static void initializeNavBar()
           
protected  boolean log()
           
protected static java.lang.Class mapTypeahead(java.lang.Class c)
           
protected  void registered(RequestServer.API_VERSION version)
           
 java.lang.String ReSTHelp()
           
protected abstract  RequestBuilders.Response serve()
           
 NanoHTTPD.Response serve(NanoHTTPD server, java.util.Properties parms, RequestStatics.RequestType type)
           
protected  NanoHTTPD.Response serveGrid(NanoHTTPD server, java.util.Properties parms, RequestStatics.RequestType type)
           
 RequestServer.API_VERSION[] supportedVersions()
           
 java.lang.String toDocGET()
           
 boolean toHTML(java.lang.StringBuilder sb)
           
protected  NanoHTTPD.Response wrap(NanoHTTPD server, com.google.gson.JsonObject response)
           
protected  NanoHTTPD.Response wrap(NanoHTTPD server, java.lang.String response)
           
protected  NanoHTTPD.Response wrap(NanoHTTPD server, java.lang.String value, RequestStatics.RequestType type)
           
 AutoBuffer writeJSONFields(AutoBuffer bb)
          Serialize the 'this' object into the AutoBuffer, returning the AutoBuffer.
 
Methods inherited from class water.api.RequestBuilders
build, buildJSONResponseBox, buildResponseHeader, name
 
Methods inherited from class water.api.RequestQueries
buildQuery, checkArguments, queryArgumentValueSet
 
Methods inherited from class water.api.RequestArguments
arguments, argumentsToJson, frameColumnNameToIndex, vaCategoryNames, vaCategoryNames, vaColumnNameToIndex
 
Methods inherited from class water.api.RequestStatics
checkJsonName, encodeRedirectArgs, JSON2HTML, jsonError, requestName, Str2JSON
 
Methods inherited from class water.Iced
clone, frozenType, init, newInstance, read, toDocField, write, writeJSON
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_requestHelp

public java.lang.String _requestHelp

SUPPORTS_ONLY_V1

protected static final RequestServer.API_VERSION[] SUPPORTS_ONLY_V1
Request API versioning. TODO: better solution would be to have an explicit annotation for each request - something like @API-VERSION(2) @API-VERSION(1) Annotation will be processed during start of RequestServer and default version will be registered under /, else /version/name_of_request.


SUPPORTS_ONLY_V2

protected static final RequestServer.API_VERSION[] SUPPORTS_ONLY_V2

SUPPORTS_V1_V2

protected static final RequestServer.API_VERSION[] SUPPORTS_V1_V2
Constructor Detail

Request

protected Request(java.lang.String help)

Request

protected Request()
Method Detail

href

public java.lang.String href()

href

protected java.lang.String href(RequestServer.API_VERSION v)

hrefType

protected RequestStatics.RequestType hrefType()

log

protected boolean log()

registered

protected void registered(RequestServer.API_VERSION version)

create

protected Request create(java.util.Properties parms)

serve

protected abstract RequestBuilders.Response serve()

serve

public NanoHTTPD.Response serve(NanoHTTPD server,
                                java.util.Properties parms,
                                RequestStatics.RequestType type)

serveGrid

protected NanoHTTPD.Response serveGrid(NanoHTTPD server,
                                       java.util.Properties parms,
                                       RequestStatics.RequestType type)

wrap

protected NanoHTTPD.Response wrap(NanoHTTPD server,
                                  java.lang.String response)

wrap

protected NanoHTTPD.Response wrap(NanoHTTPD server,
                                  com.google.gson.JsonObject response)

wrap

protected NanoHTTPD.Response wrap(NanoHTTPD server,
                                  java.lang.String value,
                                  RequestStatics.RequestType type)

initializeNavBar

public static void initializeNavBar()

addToNavbar

public static Request addToNavbar(Request r,
                                  java.lang.String name)

addToNavbar

public static Request addToNavbar(Request r,
                                  java.lang.String name,
                                  java.lang.String category)

mapTypeahead

protected static java.lang.Class mapTypeahead(java.lang.Class c)

toHTML

public boolean toHTML(java.lang.StringBuilder sb)

toDocGET

public java.lang.String toDocGET()

DocExampleSucc

public java.lang.String[] DocExampleSucc()
Example of passing & failing request. Will be prepended with "curl -s localhost:54321/Request.json". Return param/value pairs that will be used to build up a URL, and the result from serving the URL will show up as an example.


DocExampleFail

public java.lang.String[] DocExampleFail()

HTMLHelp

public java.lang.String HTMLHelp()

ReSTHelp

public java.lang.String ReSTHelp()

writeJSONFields

public AutoBuffer writeJSONFields(AutoBuffer bb)
Description copied from interface: Freezable
Serialize the 'this' object into the AutoBuffer, returning the AutoBuffer. Output is legal JSON.

Specified by:
writeJSONFields in interface Freezable
Overrides:
writeJSONFields in class Iced

supportedVersions

public RequestServer.API_VERSION[] supportedVersions()