Package org.elasticsearch.script
Class StoredScriptSource
java.lang.Object
org.elasticsearch.cluster.AbstractDiffable<StoredScriptSource>
org.elasticsearch.script.StoredScriptSource
- All Implemented Interfaces:
Diffable<StoredScriptSource>
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
public class StoredScriptSource extends AbstractDiffable<StoredScriptSource> implements Writeable, org.elasticsearch.common.xcontent.ToXContentObject
StoredScriptSource
represents user-defined parameters for a script
saved in the ClusterState
.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields Modifier and Type Field Description static org.elasticsearch.common.ParseField
LANG_PARSE_FIELD
StandardParseField
for lang on the inner level.static org.elasticsearch.common.ParseField
OPTIONS_PARSE_FIELD
StandardParseField
for options on the inner level.static org.elasticsearch.common.ParseField
SCRIPT_PARSE_FIELD
StandardParseField
for outer level of stored script source.static org.elasticsearch.common.ParseField
SOURCE_PARSE_FIELD
StandardParseField
for source on the inner level.Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
Constructor Summary
Constructors Constructor Description StoredScriptSource(java.lang.String lang, java.lang.String source, java.util.Map<java.lang.String,java.lang.String> options)
Standard StoredScriptSource constructor.StoredScriptSource(StreamInput in)
Reads aStoredScriptSource
from a stream. -
Method Summary
Modifier and Type Method Description boolean
equals(java.lang.Object o)
static StoredScriptSource
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean ignoreEmpty)
This will parse XContent into aStoredScriptSource
.java.lang.String
getLang()
java.util.Map<java.lang.String,java.lang.String>
getOptions()
java.lang.String
getSource()
int
hashCode()
static StoredScriptSource
parse(BytesReference content, org.elasticsearch.common.xcontent.XContentType xContentType)
This will parse XContent into aStoredScriptSource
.static Diff<StoredScriptSource>
readDiffFrom(StreamInput in)
Required forScriptMetadata.ScriptMetadataDiff
.java.lang.String
toString()
org.elasticsearch.common.xcontent.XContentBuilder
toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
This will write XContent from aStoredScriptSource
.void
writeTo(StreamOutput out)
Writes aStoredScriptSource
to a stream.Methods inherited from class org.elasticsearch.cluster.AbstractDiffable
diff, readDiffFrom
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
Field Details
-
SCRIPT_PARSE_FIELD
public static final org.elasticsearch.common.ParseField SCRIPT_PARSE_FIELDStandardParseField
for outer level of stored script source. -
LANG_PARSE_FIELD
public static final org.elasticsearch.common.ParseField LANG_PARSE_FIELDStandardParseField
for lang on the inner level. -
SOURCE_PARSE_FIELD
public static final org.elasticsearch.common.ParseField SOURCE_PARSE_FIELDStandardParseField
for source on the inner level. -
OPTIONS_PARSE_FIELD
public static final org.elasticsearch.common.ParseField OPTIONS_PARSE_FIELDStandardParseField
for options on the inner level.
-
-
Constructor Details
-
StoredScriptSource
public StoredScriptSource(java.lang.String lang, java.lang.String source, java.util.Map<java.lang.String,java.lang.String> options)Standard StoredScriptSource constructor.- Parameters:
lang
- The language to compile the script with. Must not benull
.source
- The source source to compile with. Must not benull
.options
- Compiler options to be compiled with. Must not benull
, use an emptyMap
to represent no options.
-
StoredScriptSource
Reads aStoredScriptSource
from a stream. Version 5.3+ will read all of the lang, source, and options parameters. For versions prior to 5.3, only the source parameter will be read in as a bytes reference.- Throws:
java.io.IOException
-
-
Method Details
-
parse
public static StoredScriptSource parse(BytesReference content, org.elasticsearch.common.xcontent.XContentType xContentType)This will parse XContent into aStoredScriptSource
. The following formats can be parsed: The simple script format with no compiler options or user-defined params: Example:{"script": "return Math.log(doc.popularity) * 100;"}
The above format requires the lang to be specified using the deprecated stored script namespace (as a url parameter during a put request). SeeScriptMetadata
for more information about the stored script namespaces. The complex script format using the new stored script namespace where lang and source are required but options is optional:{ "script" : { "lang" : "<lang>", "source" : "<source>", "options" : { "option0" : "<option0>", "option1" : "<option1>", ... } } }
Example:{ "script": { "lang" : "painless", "source" : "return Math.log(doc.popularity) * params.multiplier" } }
The use of "source" may also be substituted with "code" for backcompat with 5.3 to 5.5 format. For example:{ "script" : { "lang" : "<lang>", "code" : "<source>", "options" : { "option0" : "<option0>", "option1" : "<option1>", ... } } }
Note that the "source" parameter can also handle template parsing including from a complex JSON object.- Parameters:
content
- The content from the request to be parsed as described above.- Returns:
- The parsed
StoredScriptSource
.
-
fromXContent
public static StoredScriptSource fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean ignoreEmpty)This will parse XContent into aStoredScriptSource
. The following format is what will be parsed:{ "script" : { "lang" : "<lang>", "source" : "<source>", "options" : { "option0" : "<option0>", "option1" : "<option1>", ... } } }
Note that the "source" parameter can also handle template parsing including from a complex JSON object.- Parameters:
ignoreEmpty
- Specify astrue
to ignoreEmpty the empty source check. This allows empty templates to be loaded for backwards compatibility.
-
readDiffFrom
Required forScriptMetadata.ScriptMetadataDiff
. Uses theStoredScriptSource(StreamInput)
constructor.- Throws:
java.io.IOException
-
writeTo
Writes aStoredScriptSource
to a stream. Will write all of the lang, source, and options parameters. -
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOExceptionThis will write XContent from aStoredScriptSource
. The following format will be written:{ "script" : { "lang" : "<lang>", "source" : "<source>", "options" : { "option0" : "<option0>", "option1" : "<option1>", ... } } }
Note that the 'source' parameter can also handle templates written as complex JSON.- Specified by:
toXContent
in interfaceorg.elasticsearch.common.xcontent.ToXContent
- Throws:
java.io.IOException
-
getLang
public java.lang.String getLang()- Returns:
- The language used for compiling this script.
-
getSource
public java.lang.String getSource()- Returns:
- The source used for compiling this script.
-
getOptions
public java.util.Map<java.lang.String,java.lang.String> getOptions()- Returns:
- The compiler options used for this script.
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-