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.ParamsNested 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.ParseFieldLANG_PARSE_FIELDStandardParseFieldfor lang on the inner level.static org.elasticsearch.common.ParseFieldOPTIONS_PARSE_FIELDStandardParseFieldfor options on the inner level.static org.elasticsearch.common.ParseFieldSCRIPT_PARSE_FIELDStandardParseFieldfor outer level of stored script source.static org.elasticsearch.common.ParseFieldSOURCE_PARSE_FIELDStandardParseFieldfor 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 aStoredScriptSourcefrom a stream. -
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object o)static StoredScriptSourcefromXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean ignoreEmpty)This will parse XContent into aStoredScriptSource.java.lang.StringgetLang()java.util.Map<java.lang.String,java.lang.String>getOptions()java.lang.StringgetSource()inthashCode()static StoredScriptSourceparse(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.StringtoString()org.elasticsearch.common.xcontent.XContentBuildertoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)This will write XContent from aStoredScriptSource.voidwriteTo(StreamOutput out)Writes aStoredScriptSourceto a stream.Methods inherited from class org.elasticsearch.cluster.AbstractDiffable
diff, readDiffFromMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
Field Details
-
SCRIPT_PARSE_FIELD
public static final org.elasticsearch.common.ParseField SCRIPT_PARSE_FIELDStandardParseFieldfor outer level of stored script source. -
LANG_PARSE_FIELD
public static final org.elasticsearch.common.ParseField LANG_PARSE_FIELDStandardParseFieldfor lang on the inner level. -
SOURCE_PARSE_FIELD
public static final org.elasticsearch.common.ParseField SOURCE_PARSE_FIELDStandardParseFieldfor source on the inner level. -
OPTIONS_PARSE_FIELD
public static final org.elasticsearch.common.ParseField OPTIONS_PARSE_FIELDStandardParseFieldfor 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 emptyMapto represent no options.
-
StoredScriptSource
Reads aStoredScriptSourcefrom 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). SeeScriptMetadatafor 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 astrueto 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 aStoredScriptSourceto 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:
toXContentin 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:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-