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
FieldsModifier and TypeFieldDescriptionstatic org.elasticsearch.common.xcontent.ParseFieldStandardParseFieldfor lang on the inner level.static org.elasticsearch.common.xcontent.ParseFieldStandardParseFieldfor options on the inner level.static org.elasticsearch.common.xcontent.ParseFieldStandardParseFieldfor outer level of stored script source.static org.elasticsearch.common.xcontent.ParseFieldStandardParseFieldfor source on the inner level.Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS -
Constructor Summary
ConstructorsConstructorDescriptionStandard StoredScriptSource constructor.Reads aStoredScriptSourcefrom a stream. -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic StoredScriptSourcefromXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean ignoreEmpty)This will parse XContent into aStoredScriptSource.getLang()inthashCode()static StoredScriptSourceparse(BytesReference content, org.elasticsearch.common.xcontent.XContentType xContentType)This will parse XContent into aStoredScriptSource.static Diff<StoredScriptSource>Required forScriptMetadata.ScriptMetadataDiff.toString()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.xcontent.ParseField SCRIPT_PARSE_FIELDStandardParseFieldfor outer level of stored script source. -
LANG_PARSE_FIELD
public static final org.elasticsearch.common.xcontent.ParseField LANG_PARSE_FIELDStandardParseFieldfor lang on the inner level. -
SOURCE_PARSE_FIELD
public static final org.elasticsearch.common.xcontent.ParseField SOURCE_PARSE_FIELDStandardParseFieldfor source on the inner level. -
OPTIONS_PARSE_FIELD
public static final org.elasticsearch.common.xcontent.ParseField OPTIONS_PARSE_FIELDStandardParseFieldfor options on the inner level.
-
-
Constructor Details
-
StoredScriptSource
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:
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:
IOException
-
writeTo
Writes aStoredScriptSourceto a stream. Will write all of the lang, source, and options parameters.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws 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:
IOException
-
getLang
- Returns:
- The language used for compiling this script.
-
getSource
- Returns:
- The source used for compiling this script.
-
getOptions
- Returns:
- The compiler options used for this script.
-
equals
-
hashCode
public int hashCode() -
toString
-