diff --git a/3.2.3/api/allclasses-frame.html b/3.2.3/api/allclasses-frame.html
new file mode 100644
index 000000000..41ffe73dc
--- /dev/null
+++ b/3.2.3/api/allclasses-frame.html
@@ -0,0 +1,174 @@
+
+
+
+
+All Classes
+
+
+
+
+
+
+
+ All Classes
+
+
+
diff --git a/3.2.3/api/deprecated-list.html b/3.2.3/api/deprecated-list.html
new file mode 100644
index 000000000..f6685f977
--- /dev/null
+++ b/3.2.3/api/deprecated-list.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+ Deprecated API (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html b/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html
new file mode 100644
index 000000000..b14026704
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html
@@ -0,0 +1,448 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonGenerator.ClosureConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.DefaultJsonGenerator.ClosureConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ protected groovy.lang.Closure<?>
+ closure
+
+
+
+
+ protected int
+ paramCount
+
+
+
+
+ protected java.lang.Class<?>
+ type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ protected ClosureConverter
+ (java.lang.Class<?> type, groovy.lang.Closure<?> closure)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
Converts a given value.
+
+
+
+
+ public boolean
+ equals (java.lang.Object o)
Any two Converter instances registered for the same type are considered
+ to be equal.
+
+
+
+
+ public boolean
+ handles (java.lang.Class<?> type)
Returns true
if this converter can handle conversions
+ of the given type.
+
+
+
+
+ public int
+ hashCode ()
+
+
+
+
+ public java.lang.String
+ toString ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ protected final groovy.lang.Closure<?> closure
+
+
+
+
+
+
+
+ protected final int paramCount
+
+
+
+
+
+
+
+ protected final java.lang.Class<?> type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ protected ClosureConverter (java.lang.Class<?> type, groovy.lang.Closure<?> closure)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+public int hashCode ()
+
+
+
+
+
+
+
+ @java.lang.Override
+public java.lang.String toString ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.html b/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.html
new file mode 100644
index 000000000..aa9336b75
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/DefaultJsonGenerator.html
@@ -0,0 +1,706 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonGenerator (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.DefaultJsonGenerator
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ JsonGenerator
+
+
+
+
+
+
+
+public class DefaultJsonGenerator
+
+ Temporary fork of DefaultJsonGenerator until Groovy 2.5.0 is out.
+
A JsonGenerator that can be configured with various JsonGenerator.Options.
+ If the default options are sufficient consider using the static JsonOutput.toJson
+ methods.
+
See Also: JsonGenerator.Options#build() Since: 2.5
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+ Nested classes
+
+ Modifiers
+ Name
+ Description
+
+
+
+ protected static class
+ DefaultJsonGenerator.ClosureConverter
+ A converter that handles converting a given type to a JSON value
+ using a closure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected Converter
+ findConverter (java.lang.Class<?> type)
Finds a converter that can handle the given type.
+
+
+
+
+ protected java.util.Map<?, ?>
+ getObjectProperties (java.lang.Object object)
+
+
+
+
+ public boolean
+ isExcludingFieldsNamed (java.lang.String name)
{@inheritDoc}
+
+
+
+
+ public boolean
+ isExcludingValues (java.lang.Object value)
{@inheritDoc}
+
+
+
+
+ protected boolean
+ shouldExcludeType (java.lang.Class<?> type)
Indicates whether the given type should be excluded from the generated output.
+
+
+
+
+ public java.lang.String
+ toJson (java.lang.Object object)
{@inheritDoc}
+
+
+
+
+ protected void
+ writeArray (java.lang.Class<?> arrayClass, java.lang.Object array, org.apache.groovy.json.internal.CharBuf buffer)
Serializes array and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeCharSequence (java.lang.CharSequence seq, org.apache.groovy.json.internal.CharBuf buffer)
Serializes any char sequence and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeDate (java.util.Date date, org.apache.groovy.json.internal.CharBuf buffer)
Serializes date and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeIterator (java.util.Iterator<?> iterator, org.apache.groovy.json.internal.CharBuf buffer)
Serializes iterator and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeMap (java.util.Map<?, ?> map, org.apache.groovy.json.internal.CharBuf buffer)
Serializes map and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeMapEntry (java.lang.String key, java.lang.Object value, org.apache.groovy.json.internal.CharBuf buffer)
Serializes a map entry and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeNumber (java.lang.Class<?> numberClass, java.lang.Number value, org.apache.groovy.json.internal.CharBuf buffer)
Serializes Number value and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeObject (java.lang.Object object, org.apache.groovy.json.internal.CharBuf buffer)
+
+
+
+
+ protected void
+ writeObject (java.lang.String key, java.lang.Object object, org.apache.groovy.json.internal.CharBuf buffer)
Serializes object and writes it into specified buffer.
+
+
+
+
+ protected void
+ writeRaw (java.lang.CharSequence seq, org.apache.groovy.json.internal.CharBuf buffer)
Serializes any char sequence and writes it into specified buffer
+ without performing any manipulation of the given text.
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ protected final java.util.Set<Converter> converters
+
+
+
+
+
+
+
+ protected final java.lang.String dateFormat
+
+
+
+
+
+
+
+ protected final java.util.Locale dateLocale
+
+
+
+
+
+
+
+ protected final boolean disableUnicodeEscaping
+
+
+
+
+
+
+
+ protected final boolean excludeNulls
+
+
+
+
+
+
+
+ protected final java.util.Set<java.lang.String> excludedFieldNames
+
+
+
+
+
+
+
+ protected final java.util.Set<java.lang.Class<?>> excludedFieldTypes
+
+
+
+
+
+
+
+ protected final java.util.TimeZone timezone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ protected DefaultJsonGenerator (Options options)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ protected java.util.Map<?, ?> getObjectProperties (java.lang.Object object)
+
+
+
+
+
+
+
+ @java.lang.Override
+public boolean isExcludingFieldsNamed (java.lang.String name)
+ {@inheritDoc}
+
+
+
+
+
+
+
+ @java.lang.Override
+public boolean isExcludingValues (java.lang.Object value)
+ {@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+public java.lang.String toJson (java.lang.Object object)
+ {@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ protected void writeObject (java.lang.Object object, org.apache.groovy.json.internal.CharBuf buffer)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Converter.html b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Converter.html
new file mode 100644
index 000000000..7aa02c754
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Converter.html
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+ JsonGenerator.Converter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
Converts a given object.
+
+
+
+
+ public boolean
+ handles (java.lang.Class<?> type)
Returns true
if this converter can handle conversions
+ of the given type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Options.html b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Options.html
new file mode 100644
index 000000000..d3117919b
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.Options.html
@@ -0,0 +1,707 @@
+
+
+
+
+
+
+
+
+
+
+ JsonGenerator.Options (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.JsonGenerator.Options
+
+
+
+
+
+
+
+
+
+
+public class JsonGenerator.Options
+
+ A builder used to construct a JsonGenerator instance that allows
+ control over the serialized JSON output. If you do not need to customize the
+ output it is recommended to use the static JsonOutput.toJson
methods.
+
+
+ Example:
+
+ def generator = new groovy.json.JsonGenerator.Options()
+ .excludeNulls()
+ .dateFormat('yyyy')
+ .excludeFieldsByName('bar', 'baz')
+ .excludeFieldsByType(java.sql.Date)
+ .build()
+
+ def input = [foo: null, lastUpdated: Date.parse('yyyy-MM-dd', '2014-10-24'),
+ bar: 'foo', baz: 'foo', systemDate: new java.sql.Date(new Date().getTime())]
+
+ assert generator.toJson(input) == '{"lastUpdated":"2014"}'
+
+ Since: 2.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ Options
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public Options
+ addConverter (Converter converter)
Registers a converter that will be called when a type it handles is encountered.
+
+
+
+ <T>
+ public Options
+ addConverter (java.lang.Class<T> type, groovy.lang.Closure<?> closure)
Registers a closure that will be called when the specified type or subtype
+ is serialized.
+
+
+
+
+ public JsonGenerator
+ build ()
Creates a JsonGenerator that is based on the current options.
+
+
+
+
+ public Options
+ dateFormat (java.lang.String format)
Sets the date format that will be used to serialize Date
objects.
+
+
+
+
+
+ public Options
+ dateFormat (java.lang.String format, java.util.Locale locale)
Sets the date format that will be used to serialize Date
objects.
+
+
+
+
+
+ public Options
+ disableUnicodeEscaping ()
Disables the escaping of Unicode characters in JSON String values.
+
+
+
+
+ public Options
+ excludeFieldsByName (java.lang.CharSequence fieldNames)
Excludes from the output any fields that match the specified names.
+
+
+
+
+ public Options
+ excludeFieldsByName (java.lang.Iterable<? extends java.lang.CharSequence> fieldNames)
Excludes from the output any fields that match the specified names.
+
+
+
+
+ public Options
+ excludeFieldsByType (java.lang.Class<?> types)
Excludes from the output any fields whose type is the same or is
+ assignable to any of the given types.
+
+
+
+
+ public Options
+ excludeFieldsByType (java.lang.Iterable<java.lang.Class<?>> types)
Excludes from the output any fields whose type is the same or is
+ assignable to any of the given types.
+
+
+
+
+ public Options
+ excludeNulls ()
Do not serialize null
values.
+
+
+
+
+ public Options
+ timezone (java.lang.String timezone)
Sets the time zone that will be used to serialize dates.
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ protected static final java.lang.String DEFAULT_TIMEZONE
+
+
+
+
+
+
+
+ protected static final java.lang.String JSON_DATE_FORMAT
+
+
+
+
+
+
+
+ protected static final java.util.Locale JSON_DATE_FORMAT_LOCALE
+
+
+
+
+
+
+
+ protected final java.util.Set<Converter> converters
+
+
+
+
+
+
+
+ protected java.lang.String dateFormat
+
+
+
+
+
+
+
+ protected java.util.Locale dateLocale
+
+
+
+
+
+
+
+ protected boolean disableUnicodeEscaping
+
+
+
+
+
+
+
+ protected boolean excludeNulls
+
+
+
+
+
+
+
+ protected final java.util.Set<java.lang.String> excludedFieldNames
+
+
+
+
+
+
+
+ protected final java.util.Set<java.lang.Class<?>> excludedFieldTypes
+
+
+
+
+
+
+
+ protected java.util.TimeZone timezone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ public Options ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ <T> public Options addConverter (java.lang.Class<T> type, @groovy.transform.stc.ClosureParams(value=FromString.class, options={"T","T,String"}) groovy.lang.Closure<?> closure)
+ Registers a closure that will be called when the specified type or subtype
+ is serialized.
+
+
The closure must accept either 1 or 2 parameters. The first parameter
+ is required and will be an instance of the type
for which the closure
+ is registered. The second optional parameter should be of type String
+ and, if available, will be passed the name of the key associated with this
+ value if serializing a JSON Object. This parameter will be null
when
+ serializing a JSON Array or when there is no way to determine the name of the key.
+
+
+ Example:
+
+ def generator = new groovy.json.JsonGenerator.Options()
+ .addConverter(URL) { URL u ->
+ "\"${u.getHost()}\""
+ }
+ .build()
+
+ def input = [domain: new URL('http://groovy-lang.org/json.html#_parser_variants')]
+
+ assert generator.toJson(input) == '{"domain":"groovy-lang.org"}'
+
+
+ If two or more closures are registered for the exact same type the last
+ closure based on the order they were specified will be used. When serializing an
+ object its type is compared to the list of registered types in the order they were
+ given and the closure for the first suitable type will be called. Therefore, it is
+ important to register more specific types first.
+
Parameters: type
- the type to convertclosure
- called when the registered type or any type assignable to the given
+ type is encounteredType Parameters: T
- the type this converter is registered to handleReturns: a reference to this Options
instance Throws: NullPointerException if the given type or closure is null IllegalArgumentException if the given closure does not accept
+ a parameter of the given type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonGenerator.html b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.html
new file mode 100644
index 000000000..75825e023
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonGenerator.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+
+
+
+ JsonGenerator (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public interface JsonGenerator
+
+ Temporary fork of groovy JsonGenerator until Groovy 2.5.0 is out.
+
+
Generates JSON from objects.
+
+
The Options builder can be used to configure an instance of a JsonGenerator.
+
See Also: Options#build()#build() Since: 2.5
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public boolean
+ isExcludingFieldsNamed (java.lang.String name)
Indicates whether this JsonGenerator is configured to exclude fields by
+ the given name.
+
+
+
+
+ public boolean
+ isExcludingValues (java.lang.Object value)
Indicates whether this JsonGenerator is configured to exclude values
+ of the given object (may be null
).
+
+
+
+
+ public java.lang.String
+ toJson (java.lang.Object object)
Converts an object to its JSON representation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html b/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html
new file mode 100644
index 000000000..ff621459e
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+
+ JsonOutput.JsonUnescaped (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.JsonOutput.JsonUnescaped
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.CharSequence
+ text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ JsonUnescaped
+ (java.lang.CharSequence text)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public java.lang.CharSequence
+ getText ()
+
+
+
+
+ public java.lang.String
+ toString ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.CharSequence text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ public JsonUnescaped (java.lang.CharSequence text)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ public java.lang.CharSequence getText ()
+
+
+
+
+
+
+
+ @java.lang.Override
+public java.lang.String toString ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html b/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html
new file mode 100644
index 000000000..7f49ca533
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+ JsonOutput.JsonWritable (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.JsonOutput.JsonWritable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ protected boolean
+ first
+
+
+
+
+ protected boolean
+ inline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public char
+ charAt (int index)
+
+
+
+
+ public int
+ length ()
+
+
+
+
+ public void
+ setFirst (boolean first)
+
+
+
+
+ public void
+ setInline (boolean inline)
+
+
+
+
+ public java.lang.CharSequence
+ subSequence (int start, int end)
+
+
+
+
+ public java.lang.String
+ toString ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ protected boolean first
+
+
+
+
+
+
+
+ protected boolean inline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+public char charAt (int index)
+
+
+
+
+
+
+
+ @java.lang.Override
+public int length ()
+
+
+
+
+
+
+
+ public void setFirst (boolean first)
+
+
+
+
+
+
+
+ public void setInline (boolean inline)
+
+
+
+
+
+
+
+ @java.lang.Override
+public java.lang.CharSequence subSequence (int start, int end)
+
+
+
+
+
+
+
+ @java.lang.Override
+public java.lang.String toString ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/JsonOutput.html b/3.2.3/api/grails/plugin/json/builder/JsonOutput.html
new file mode 100644
index 000000000..d1e9c805e
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/JsonOutput.html
@@ -0,0 +1,758 @@
+
+
+
+
+
+
+
+
+
+
+ JsonOutput (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.JsonOutput
+
+
+
+
+
+
+
+
+
+
+public class JsonOutput
+
+ Temporary fork of groovy.json.JsonOutput until Groovy 2.5.0 is out.
+
+
Class responsible for the actual String serialization of the possible values of a JSON structure.
+ This class can also be used as a category, to add toJson()
methods to various types.
+
Authors: Guillaume Laforge Roshan Dawrani Andrey Bloschetsov Rick Hightower Graeme Rocher Since: 1.8.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ private static char[]
+ getIndent (int indentSize, java.util.Map<java.lang.Integer, char[]> indentCache)
Creates new indent if it not exists in the indent cache.
+
+
+
+
+ public static java.lang.String
+ prettyPrint (java.lang.String jsonPayload)
Pretty print a JSON payload.
+
+
+
+
+ public static java.lang.String
+ toJson (java.lang.Boolean bool)
Parameters: bool
- a java.lang.Boolean
+
+
+
+
+ public static java.lang.String
+ toJson (java.lang.Number n)
Parameters: n
- a java.lang.Number to write as JSON string
+
+
+
+
+ public static java.lang.String
+ toJson (java.lang.Character c)
Parameters: c
- a java.lang.Character
+
+
+
+
+ public static java.lang.String
+ toJson (java.lang.String s)
Parameters: s
- a java.lang.String to be represented in JSON
+
+
+
+
+ public static java.lang.String
+ toJson (java.util.Date date)
Format a date that is parseable from JavaScript, according to ISO-8601.
+
+
+
+
+ public static java.lang.String
+ toJson (java.util.Calendar cal)
Format a calendar instance that is parseable from JavaScript, according to ISO-8601.
+
+
+
+
+ public static java.lang.String
+ toJson (java.util.UUID uuid)
Parameters: uuid
- a java.util.UUID
+
+
+
+
+ public static java.lang.String
+ toJson (java.net.URL url)
Parameters: url
- a java.net.URL
+
+
+
+
+ public static java.lang.String
+ toJson (groovy.lang.Closure closure)
Parameters: closure
- a groovy.lang.Closure to format to JSON string
+
+
+
+
+ public static java.lang.String
+ toJson (groovy.util.Expando expando)
Parameters: expando
- a groovy.util.Expando object to format to JSON string
+
+
+
+
+ public static java.lang.String
+ toJson (java.lang.Object object)
Parameters: object
- an java.lang.Object to format to JSON string
+
+
+
+
+ public static java.lang.String
+ toJson (java.util.Map m)
Parameters: m
- a java.util.Map to format to JSON string
+
+
+
+
+ public static JsonOutput.JsonUnescaped
+ unescaped (java.lang.CharSequence text)
Obtains JSON unescaped text for the given text
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final char CLOSE_BRACE
+
+
+
+
+
+
+
+ public static final char CLOSE_BRACKET
+
+
+
+
+
+
+
+ public static final char COLON
+
+
+
+
+
+
+
+ public static final char COMMA
+
+
+
+
+
+
+
+
+
+
+ public static final java.lang.String DEFAULT_TIMEZONE
+
+
+
+
+
+
+
+ static final char[] EMPTY_LIST_CHARS
+
+
+
+
+
+
+
+ static final char[] EMPTY_MAP_CHARS
+
+
+
+
+
+
+
+ static final char[] EMPTY_STRING_CHARS
+
+
+
+
+
+
+
+ public static final java.lang.String JSON_DATE_FORMAT
+
+
+
+
+
+
+
+ public static final char NEW_LINE
+
+
+
+
+
+
+
+ public static final java.lang.String NULL_VALUE
+
+
+
+
+
+
+
+ public static final char OPEN_BRACE
+
+
+
+
+
+
+
+ public static final char OPEN_BRACKET
+
+
+
+
+
+
+
+ public static final char QUOTE
+
+
+
+
+
+
+
+ public static final char SPACE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+ public static java.lang.String toJson (java.lang.Boolean bool)
+
+
Parameters: bool
- a java.lang.BooleanReturns: "true" or "false" for a boolean value
+
+
+
+
+
+
+ public static java.lang.String toJson (java.lang.Number n)
+
throws: groovy.json.JsonException
+ If the number is infinite or not a number
+ Parameters: n
- a java.lang.Number to write as JSON stringReturns: a string representation for a number
+
+
+
+
+
+
+ public static java.lang.String toJson (java.lang.Character c)
+
+
Parameters: c
- a java.lang.CharacterReturns: a JSON string representation of the character
+
+
+
+
+
+
+ public static java.lang.String toJson (java.lang.String s)
+
+
Parameters: s
- a java.lang.String to be represented in JSONReturns: a properly encoded string with escape sequences
+
+
+
+
+
+
+
+
+
+
+
+
+ public static java.lang.String toJson (java.util.UUID uuid)
+
+
Parameters: uuid
- a java.util.UUIDReturns: the string representation of an uuid
+
+
+
+
+
+
+ public static java.lang.String toJson (java.net.URL url)
+
+
Parameters: url
- a java.net.URLReturns: the string representation of the URL
+
+
+
+
+
+
+ public static java.lang.String toJson (groovy.lang.Closure closure)
+
+
Parameters: closure
- a groovy.lang.Closure to format to JSON stringReturns: an object representation of a closure
+
+
+
+
+
+
+ public static java.lang.String toJson (groovy.util.Expando expando)
+
+
Parameters: expando
- a groovy.util.Expando object to format to JSON stringReturns: an object representation of an Expando
+
+
+
+
+
+
+ public static java.lang.String toJson (java.lang.Object object)
+
+
Parameters: object
- an java.lang.Object to format to JSON stringReturns: "null" for a null value, or a JSON array representation for a collection, array, iterator or enumeration,
+ or representation for other object.
+
+
+
+
+
+
+ public static java.lang.String toJson (java.util.Map m)
+
+
Parameters: m
- a java.util.Map to format to JSON stringReturns: a JSON object representation for a map
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html
new file mode 100644
index 000000000..e8c96a51c
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html
@@ -0,0 +1,827 @@
+
+
+
+
+
+
+
+
+
+
+ StreamingJsonBuilder.StreamingJsonDelegate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public void
+ call (java.lang.String name, java.util.List<java.lang.Object> list)
Writes the name and a JSON array
+
+
+
+
+ public void
+ call (java.lang.String name, java.lang.Object array)
Writes the name and a JSON array
+
+
+
+
+ public void
+ call (java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)
A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+
+
+
+ public void
+ call (java.lang.String name, java.util.Collection coll, groovy.lang.Closure c)
Delegates to call(String, Iterable, Closure)
+
+
+
+
+ public void
+ call (java.lang.String name, java.lang.Object value)
Writes the name and value of a JSON attribute
+
+
+
+
+ public void
+ call (java.lang.String name, java.lang.Object value, groovy.lang.Closure callable)
Writes the name and value of a JSON attribute
+
+
+
+
+ public void
+ call (java.lang.String name, groovy.lang.Closure value)
Writes the name and another JSON object
+
+
+
+
+ public void
+ call (java.lang.String name, JsonUnescaped json)
Writes an unescaped value.
+
+
+
+
+ public void
+ call (java.lang.String name, groovy.lang.Writable json)
Writes an unescaped value.
+
+
+
+
+ public static void
+ cloneDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c)
+
+
+
+
+ public static void
+ cloneDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c, boolean first)
+
+
+
+
+ private static void
+ cloneDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c, boolean first, JsonGenerator generator)
+
+
+
+
+ public static void
+ curryDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c, java.lang.Object o)
+
+
+
+
+ public static void
+ curryDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c, java.lang.Object o, boolean first)
+
+
+
+
+ private static void
+ curryDelegateAndGetContent (java.io.Writer w, groovy.lang.Closure c, java.lang.Object o, boolean first, JsonGenerator generator)
+
+
+
+
+ public java.io.Writer
+ getWriter ()
Returns: Obtains the current writer
+
+
+
+
+ public java.lang.Object
+ invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+ public static boolean
+ isCollectionWithClosure (java.lang.Object[] args)
+
+
+
+
+ public void
+ setFirst (boolean first)
+
+
+
+
+ protected void
+ verifyValue ()
+
+
+
+
+ protected void
+ writeArray (java.util.List<java.lang.Object> list)
+
+
+
+
+ public static java.lang.Object
+ writeCollectionWithClosure (java.io.Writer writer, java.util.Collection coll, groovy.lang.Closure closure)
+
+
+
+
+ public static java.lang.Object
+ writeCollectionWithClosure (java.io.Writer writer, java.lang.Iterable coll, groovy.lang.Closure closure, JsonGenerator generator)
+
+
+
+
+ protected void
+ writeName (java.lang.String name)
+
+
+
+
+ private static void
+ writeObject (java.io.Writer writer, java.lang.Object object, groovy.lang.Closure closure, JsonGenerator generator)
+
+
+
+
+ private void
+ writeObjects (java.lang.Iterable coll, groovy.lang.Closure c)
+
+
+
+
+ protected void
+ writeValue (java.lang.Object value)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.lang.GroovyObjectSupport
+ groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll(), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ protected boolean first
+
+
+
+
+
+
+
+
+
+
+
+
+
+ protected final java.io.Writer writer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ public StreamingJsonDelegate (java.io.Writer w, boolean first)
+
+
+
+
+
+
+
+ public StreamingJsonDelegate (java.io.Writer w, boolean first, JsonGenerator generator)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+ public void call (java.lang.String name, java.lang.Iterable coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+ Example:
+
+ class Author {
+ String name
+ }
+ def authorList = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.book {
+ authors authorList, { Author author ->
+ name author.name
+ }
+ }
+
+ assert w.toString() == '{"book":{"authors":[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]}}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: name
- The name of the JSON attributecoll
- a collectionc
- a closure used to convert the objects of coll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public static void cloneDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+
+
+
+
+
+
+
+ public static void cloneDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c, boolean first)
+
+
+
+
+
+
+
+ private static void cloneDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c, boolean first, JsonGenerator generator)
+
+
+
+
+
+
+
+ public static void curryDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c, java.lang.Object o)
+
+
+
+
+
+
+
+ public static void curryDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c, java.lang.Object o, boolean first)
+
+
+
+
+
+
+
+ private static void curryDelegateAndGetContent (java.io.Writer w, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c, java.lang.Object o, boolean first, JsonGenerator generator)
+
+
+
+
+
+
+
+ public java.io.Writer getWriter ()
+
+
Returns: Obtains the current writer
+
+
+
+
+
+
+ public java.lang.Object invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+
+
+
+ public static boolean isCollectionWithClosure (java.lang.Object[] args)
+
+
+
+
+
+
+
+ public void setFirst (boolean first)
+
+
+
+
+
+
+
+ protected void verifyValue ()
+
+
+
+
+
+
+
+ protected void writeArray (java.util.List<java.lang.Object> list)
+
+
+
+
+
+
+
+ public static java.lang.Object writeCollectionWithClosure (java.io.Writer writer, java.util.Collection coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure closure)
+
+
+
+
+
+
+
+ public static java.lang.Object writeCollectionWithClosure (java.io.Writer writer, java.lang.Iterable coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure closure, JsonGenerator generator)
+
+
+
+
+
+
+
+ protected void writeName (java.lang.String name)
+
+
+
+
+
+
+
+ private static void writeObject (java.io.Writer writer, java.lang.Object object, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure closure, JsonGenerator generator)
+
+
+
+
+
+
+
+ private void writeObjects (java.lang.Iterable coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+
+
+
+
+
+
+
+ protected void writeValue (java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.html b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.html
new file mode 100644
index 000000000..0995ea7f9
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder.html
@@ -0,0 +1,805 @@
+
+
+
+
+
+
+
+
+
+
+ StreamingJsonBuilder (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.StreamingJsonBuilder
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ StreamingJsonBuilder
+ (java.io.Writer writer)
Instantiates a JSON builder.
+
+
+
+
+ StreamingJsonBuilder
+ (java.io.Writer writer, JsonGenerator generator)
Instantiates a JSON builder with the given generator.
+
+
+
+
+ StreamingJsonBuilder
+ (java.io.Writer writer, java.lang.Object content)
Instantiates a JSON builder, possibly with some existing data structure.
+
+
+
+
+ StreamingJsonBuilder
+ (java.io.Writer writer, java.lang.Object content, JsonGenerator generator)
Instantiates a JSON builder, possibly with some existing data structure and
+ the given generator.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ public java.lang.Object
+ call (java.util.Map m)
Named arguments can be passed to the JSON builder instance to create a root JSON object
+
+
+
+
+ public java.lang.Object
+ call (groovy.lang.Writable writable)
Invokes the given writable against the writer
+
+
+
+
+ public void
+ call (java.lang.String name)
The empty args call will create a key whose value will be an empty JSON object:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person()
+
+
+
+
+ public java.lang.Object
+ call (java.util.List l)
A list of elements as arguments to the JSON builder creates a root JSON array
+
+
+
+
+ public java.lang.Object
+ call (java.lang.Object args)
Varargs elements as arguments to the JSON builder create a root JSON array
+
+
+
+
+ public java.lang.Object
+ call (java.lang.Iterable coll, groovy.lang.Closure c)
A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+
+
+
+ public java.lang.Object
+ call (groovy.lang.Closure c)
A closure passed to a JSON builder will create a root JSON object
+
+
+
+
+ public void
+ call (java.lang.String name, groovy.lang.Closure c)
A name and a closure passed to a JSON builder will create a key with a JSON object
+
+
+
+
+ public void
+ call (java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)
A name, a collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+
+
+
+ public void
+ call (java.lang.String name, java.util.Map map, groovy.lang.Closure callable)
If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+
+
+
+
+ public java.lang.Object
+ invokeMethod (java.lang.String name, java.lang.Object args)
A method call on the JSON builder instance will create a root object with only one key
+ whose name is the name of the method being called.
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.lang.GroovyObjectSupport
+ groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll(), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private static final java.lang.String COLON_WITH_OPEN_BRACE
+
+
+
+
+
+
+
+ private static final java.lang.String DOUBLE_CLOSE_BRACKET
+
+
+
+
+
+
+
+
+
+
+ private final java.io.Writer writer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ public java.lang.Object call (java.util.Map m)
+ Named arguments can be passed to the JSON builder instance to create a root JSON object
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json name: "Tim", age: 31
+
+ assert w.toString() == '{"name":"Tim","age":31}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: m
- a map of key / value pairsReturns: a map of key / value pairs
+
+
+
+
+
+
+
+
+
+ public void call (java.lang.String name)
+ The empty args call will create a key whose value will be an empty JSON object:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person()
+
+ assert w.toString() == '{"person":{}}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: name
- The name of the empty object to create
+
+
+
+
+
+
+ public java.lang.Object call (java.util.List l)
+ A list of elements as arguments to the JSON builder creates a root JSON array
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ def result = json([1, 2, 3])
+
+ assert result == [ 1, 2, 3 ]
+ assert w.toString() == "[1,2,3]"
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: l
- a list of valuesReturns: a list of values
+
+
+
+
+
+
+ public java.lang.Object call (java.lang.Object args)
+ Varargs elements as arguments to the JSON builder create a root JSON array
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ def result = json 1, 2, 3
+
+ assert result instanceof List
+ assert w.toString() == "[1,2,3]"
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: args
- an array of valuesReturns: a list of values
+
+
+
+
+
+
+ public java.lang.Object call (java.lang.Iterable coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+ Example:
+
+ class Author {
+ String name
+ }
+ def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json authors, { Author author ->
+ name author.name
+ }
+
+ assert w.toString() == '[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: coll
- a collectionc
- a closure used to convert the objects of collReturns: a list of values
+
+
+
+
+
+
+ public java.lang.Object call (@groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A closure passed to a JSON builder will create a root JSON object
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json {
+ name "Tim"
+ age 39
+ }
+
+ assert w.toString() == '{"name":"Tim","age":39}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: c
- a closure whose method call statements represent key / values of a JSON objectReturns: a map of key / value pairs
+
+
+
+
+
+
+ public void call (java.lang.String name, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A name and a closure passed to a JSON builder will create a key with a JSON object
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person {
+ name "Tim"
+ age 39
+ }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":39}}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: name
- The key for the JSON objectc
- a closure whose method call statements represent key / values of a JSON object
+
+
+
+
+
+
+ public void call (java.lang.String name, java.lang.Iterable coll, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A name, a collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+ Example:
+
+ class Author {
+ String name
+ }
+ def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.people authors, { Author author ->
+ name author.name
+ }
+
+ assert w.toString() == '{"people":[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: name
- The name of the JSON attributecoll
- a collectionc
- a closure used to convert the objects of coll
+
+
+
+
+
+
+ public void call (java.lang.String name, java.util.Map map, @groovy.lang.DelegatesTo(value = StreamingJsonDelegate.class, strategy = Closure.DELEGATE_FIRST) groovy.lang.Closure callable)
+ If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person(name: "Tim", age: 35) { town "Manchester" }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":35,"town":"Manchester"}}'
+ }
+ throws: IOException
+ If an I/O error occurs
+ Parameters: name
- The name of the JSON objectmap
- The attributes of the JSON objectcallable
- Additional attributes of the JSON object represented by the closure
+
+
+
+
+
+
+ public java.lang.Object invokeMethod (java.lang.String name, java.lang.Object args)
+ A method call on the JSON builder instance will create a root object with only one key
+ whose name is the name of the method being called.
+ This method takes as arguments:
+
+ a closure
+ a map (ie. named arguments)
+ a map and a closure
+ or no argument at all
+
+
+ Example with a classical builder-style:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person {
+ name "Tim"
+ age 28
+ }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":28}}'
+ }
+
+
+ Or alternatively with a method call taking named arguments:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person name: "Tim", age: 32
+
+ assert w.toString() == '{"person":{"name":"Tim","age":32}}'
+ }
+
+
+ If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person(name: "Tim", age: 35) { town "Manchester" }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":35,"town":"Manchester"}}'
+ }
+
+
+ The empty args call will create a key whose value will be an empty JSON object:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person()
+
+ assert w.toString() == '{"person":{}}'
+ }
+
+ Parameters: name
- the single keyargs
- the value associated with the key
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html
new file mode 100644
index 000000000..49e75ccf1
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+ StreamingJsonBuilder.StreamingJsonDelegate.State (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate.State
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enum Constants Summary
+
+
+ Enum constants classes
+
+ Enum constant
+ Description
+
+
+
+ NAME
+
+
+
+
+ VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/package-frame.html b/3.2.3/api/grails/plugin/json/builder/package-frame.html
new file mode 100644
index 000000000..07902b42e
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/package-frame.html
@@ -0,0 +1,74 @@
+
+
+
+
+ grails.plugin.json.builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/builder/package-summary.html b/3.2.3/api/grails/plugin/json/builder/package-summary.html
new file mode 100644
index 000000000..26352fb85
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/builder/package-summary.html
@@ -0,0 +1,262 @@
+
+
+
+
+
+grails.plugin.json.builder (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface Summary
+
+
+ Interface
+ Description
+
+
+
+
+ JsonGenerator
+
+
+ Temporary fork of groovy JsonGenerator until Groovy 2.5.0 is out.
+
+
+
+
+ JsonGenerator.Converter
+
+
+ Handles converting a given type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/InstantJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/InstantJsonConverter.html
new file mode 100644
index 000000000..5b567a4ac
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/InstantJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ InstantJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.InstantJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ InstantJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/LocalDateJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/LocalDateJsonConverter.html
new file mode 100644
index 000000000..5c1048a58
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/LocalDateJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ LocalDateJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.LocalDateJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ LocalDateJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html
new file mode 100644
index 000000000..c198f304f
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ LocalDateTimeJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.LocalDateTimeJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ LocalDateTimeJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/LocalTimeJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/LocalTimeJsonConverter.html
new file mode 100644
index 000000000..6be42b3e9
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/LocalTimeJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ LocalTimeJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.LocalTimeJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ LocalTimeJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html
new file mode 100644
index 000000000..fa9728cc4
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ OffsetDateTimeJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.OffsetDateTimeJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ OffsetDateTimeJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html
new file mode 100644
index 000000000..75b68ef64
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ OffsetTimeJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.OffsetTimeJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ OffsetTimeJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/PeriodJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/PeriodJsonConverter.html
new file mode 100644
index 000000000..8c5e9a090
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/PeriodJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ PeriodJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.PeriodJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ PeriodJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html b/3.2.3/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html
new file mode 100644
index 000000000..199c461ec
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+ ZonedDateTimeJsonConverter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.converters.ZonedDateTimeJsonConverter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+ boolean
+ handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ZonedDateTimeJsonConverter ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object convert (java.lang.Object value, java.lang.String key)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean handles (java.lang.Class<?> type)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/package-frame.html b/3.2.3/api/grails/plugin/json/converters/package-frame.html
new file mode 100644
index 000000000..6f97110c8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.converters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/converters/package-summary.html b/3.2.3/api/grails/plugin/json/converters/package-summary.html
new file mode 100644
index 000000000..4b9e7435f
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/converters/package-summary.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+grails.plugin.json.converters (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html b/3.2.3/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html
new file mode 100644
index 000000000..07f13fcf5
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractJsonViewContainerRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.renderer.AbstractJsonViewContainerRenderer
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ ContainerRenderer<C, T>
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+@groovy.transform.InheritConstructors
+abstract class AbstractJsonViewContainerRenderer<C, T>
+extends DefaultJsonRenderer<T>
+implements ContainerRenderer<C, T>
+
+ A container renderer that looks up JSON views
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ render (T object, RenderContext context)
+
+
+
+
+ protected java.lang.String
+ resolveModelName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+private JsonViewResolver jsonViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+JsonViewResolver jsonViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ AbstractJsonViewContainerRenderer ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void render (T object, RenderContext context)
+
+
+
+
+
+
+
+ protected java.lang.String resolveModelName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html b/3.2.3/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html
new file mode 100644
index 000000000..7b8bc7b8a
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+ ErrorsJsonViewRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.renderer.ErrorsJsonViewRenderer
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.InheritConstructors
+@groovy.transform.CompileStatic
+class ErrorsJsonViewRenderer
+extends AbstractJsonViewContainerRenderer <Errors, java.lang.Object>
+
+ Renderer for the errors view
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.Class<java.lang.Object>
+ componentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.Class<java.lang.Object>
+ componentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.Class<java.lang.Object> componentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.Class<java.lang.Object> componentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ErrorsJsonViewRenderer ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html b/3.2.3/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html
new file mode 100644
index 000000000..c114b4f84
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewJsonRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.renderer.JsonViewJsonRenderer
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+class JsonViewJsonRenderer<T>
+extends DefaultViewRenderer<T>
+
+ A renderer that will lookup a JSON view if it exists and render it, otherwise fallback to default
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/renderer/package-frame.html b/3.2.3/api/grails/plugin/json/renderer/package-frame.html
new file mode 100644
index 000000000..4edc39330
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/renderer/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.renderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/renderer/package-summary.html b/3.2.3/api/grails/plugin/json/renderer/package-summary.html
new file mode 100644
index 000000000..0be043bb7
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/renderer/package-summary.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+grails.plugin.json.renderer (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewCompiler.html b/3.2.3/api/grails/plugin/json/view/JsonViewCompiler.html
new file mode 100644
index 000000000..c0a41f13c
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewCompiler.html
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewCompiler (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewCompiler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ JsonViewCompiler
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected org.codehaus.groovy.control.CompilerConfiguration
+ configureCompiler (org.codehaus.groovy.control.CompilerConfiguration configuration)
+
+
+
+
+ static void
+ main (java.lang.String[] args)
+
+
+
+
+ protected ViewsTransform
+ newViewsTransform ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewCompiler ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected org.codehaus.groovy.control.CompilerConfiguration configureCompiler (org.codehaus.groovy.control.CompilerConfiguration configuration)
+
+
+
+
+
+
+
+ static void main (java.lang.String[] args)
+
+
+
+
+
+
+
+ @java.lang.Override
+protected ViewsTransform newViewsTransform ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewConfiguration.html b/3.2.3/api/grails/plugin/json/view/JsonViewConfiguration.html
new file mode 100644
index 000000000..72ca6fca3
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewConfiguration.html
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewConfiguration (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewConfiguration
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ GenericViewConfiguration
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+@org.springframework.boot.context.properties.ConfigurationProperties(value: grails.views.json)
+class JsonViewConfiguration
+extends java.lang.Object
+implements GenericViewConfiguration
+
+ Default configuration for JSON views
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String MODULE_NAME
+
+
+
+
+
+
+
+
+
+
+ private java.util.List<java.lang.String> mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.util.List<java.lang.String> mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewConfiguration ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ java.beans.PropertyDescriptor[] findViewConfigPropertyDescriptor ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getViewModuleName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html b/3.2.3/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html
new file mode 100644
index 000000000..0a6cc46d2
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewGeneratorConfiguration (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewGeneratorConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.String
+ dateFormat
+
+
+
+
+ private java.lang.Boolean
+ escapeUnicode
+
+
+
+
+ private java.lang.String
+ locale
+
+
+
+
+ private java.lang.String
+ timeZone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.String
+ dateFormat
+
+
+
+ java.lang.Boolean
+ escapeUnicode
+
+
+
+ java.lang.String
+ locale
+
+
+
+ java.lang.String
+ timeZone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.String dateFormat
+
+
+
+
+
+
+
+ private java.lang.Boolean escapeUnicode
+
+
+
+
+
+
+
+ private java.lang.String locale
+
+
+
+
+
+
+
+ private java.lang.String timeZone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.String dateFormat
+
+
+
+
+
+
+
+ java.lang.Boolean escapeUnicode
+
+
+
+
+
+
+
+ java.lang.String locale
+
+
+
+
+
+
+
+ java.lang.String timeZone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewGeneratorConfiguration ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewGrailsPlugin.html b/3.2.3/api/grails/plugin/json/view/JsonViewGrailsPlugin.html
new file mode 100644
index 000000000..bbbb972af
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewGrailsPlugin.html
@@ -0,0 +1,659 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewGrailsPlugin (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewGrailsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.Object
+ author
+
+
+
+
+ private java.lang.Object
+ authorEmail
+
+
+
+
+ private java.lang.Object
+ description
+
+
+
+
+ private java.lang.Object
+ developers
+
+
+
+
+ private java.lang.Object
+ documentation
+
+
+
+
+ private java.lang.Object
+ grailsVersion
+
+
+
+
+ private java.lang.Object
+ issueManagement
+
+
+
+
+ private java.lang.Object
+ license
+
+
+
+
+ private java.lang.Object
+ organization
+
+
+
+
+ private java.lang.Object
+ profiles
+
+
+
+
+ private java.lang.Object
+ scm
+
+
+
+
+ private java.lang.Object
+ title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ groovy.lang.Closure
+ doWithSpring ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.Object author
+
+
+
+
+
+
+
+ private java.lang.Object authorEmail
+
+
+
+
+
+
+
+ private java.lang.Object description
+
+
+
+
+
+
+
+ private java.lang.Object developers
+
+
+
+
+
+
+
+ private java.lang.Object documentation
+
+
+
+
+
+
+
+ private java.lang.Object grailsVersion
+
+
+
+
+
+
+
+ private java.lang.Object issueManagement
+
+
+
+
+
+
+
+ private java.lang.Object license
+
+
+
+
+
+
+
+ private java.lang.Object organization
+
+
+
+
+
+
+
+ private java.lang.Object profiles
+
+
+
+
+
+
+
+ private java.lang.Object scm
+
+
+
+
+
+
+
+ private java.lang.Object title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.Object author
+
+
+
+
+
+
+
+ java.lang.Object authorEmail
+
+
+
+
+
+
+
+ java.lang.Object description
+
+
+
+
+
+
+
+ java.lang.Object developers
+
+
+
+
+
+
+
+ java.lang.Object documentation
+
+
+
+
+
+
+
+ java.lang.Object grailsVersion
+
+
+
+
+
+
+
+ java.lang.Object issueManagement
+
+
+
+
+
+
+
+ java.lang.Object license
+
+
+
+
+
+
+
+ java.lang.Object organization
+
+
+
+
+
+
+
+ java.lang.Object profiles
+
+
+
+
+
+
+
+ java.lang.Object scm
+
+
+
+
+
+
+
+ java.lang.Object title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewGrailsPlugin ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ groovy.lang.Closure doWithSpring ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewTemplateEngine.html b/3.2.3/api/grails/plugin/json/view/JsonViewTemplateEngine.html
new file mode 100644
index 000000000..44324be46
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewTemplateEngine.html
@@ -0,0 +1,516 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewTemplateEngine (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewTemplateEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class ResolvableGroovyTemplateEngine
+ NULL_ENTRY , cachedTemplates , classLoader , compilerConfiguration , enableReloading , extension , linkGenerator , mappingContext , messageSource , mimeUtility , proxyHandler , resolveCache , shouldCache , templateCounter , templateResolver , viewConfiguration , viewUriResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ JsonViewTemplateEngine
+ ()
Constructs a JsonTemplateEngine with the default configuration
+
+
+
+
+ JsonViewTemplateEngine
+ (java.lang.ClassLoader classLoader)
Constructs a JsonTemplateEngine with the default configuration
+
+
+
+
+ JsonViewTemplateEngine
+ (ViewConfiguration configuration, java.lang.ClassLoader classLoader)
Constructs a JsonTemplateEngine with a custom base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class ResolvableGroovyTemplateEngine
+ attemptResolveClass , attemptResolvePath , createTemplate , createTemplate , createTemplate , createTemplate , createTemplate , createTemplate , getCachedTemplatesWithDefault , getCompilerConfiguration , getDynamicTemplatePrefix , initializeTemplate , newViewsTransform , prepareCustomizers , resolveTemplate , resolveTemplate , resolveTemplate , setLinkGenerator , setMappingContext , setMessageSource , setMimeUtility , setProxyHandler , templateByPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final boolean compileStatic
+
+
+
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+private JsonApiIdRenderStrategy jsonApiIdRenderStrategy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected WritableScriptTemplate createTemplate (java.lang.Class<? extends groovy.text.Template> cls, java.io.File sourceFile)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getDynamicTemplatePrefix ()
+
+
+
+
+
+
+
+ @java.lang.Override
+protected ViewsTransform newViewsTransform ()
+
+
+
+
+
+
+
+ @java.lang.Override
+protected void prepareCustomizers (org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/JsonViewWritableScript.html b/3.2.3/api/grails/plugin/json/view/JsonViewWritableScript.html
new file mode 100644
index 000000000..587abe0f1
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/JsonViewWritableScript.html
@@ -0,0 +1,588 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewWritableScript (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.JsonViewWritableScript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ EXTENSION
+
+
+
+
+ static java.lang.String
+ TYPE
+
+
+
+
+ private boolean
+ inline
+
+
+
+
+ private java.lang.Object
+ root
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ boolean
+ inline
+
+
+
+ java.lang.Object
+ root
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String EXTENSION
+
+
+
+
+
+
+
+ public static final java.lang.String TYPE
+
+
+
+
+
+
+
+ private boolean inline
+
+
+
+
+
+
+
+ private java.lang.Object root
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.lang.Object root
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewWritableScript ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer doWrite (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private void resetProcessedObjects ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html
new file mode 100644
index 000000000..9188b8be8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsJsonViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.web.mapping.LinkGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ DEEP
+ The deep parameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, StreamingJsonDelegate delegate)
Renders the given object inline within the current JSON object instead of creating a new JSON object
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
Renders the given object inline within the current JSON object instead of creating a new JSON object
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, java.util.Map arguments)
Renders the given object inline within the current JSON object instead of creating a new JSON object
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, groovy.lang.Closure customizer)
Renders the given object inline within the current JSON object instead of creating a new JSON object
+
+
+
+
+ abstract void
+ inline (java.lang.Object object)
Renders the given object inline within the current JSON object instead of creating a new JSON object
+
+
+
+
+ abstract JsonWritable
+ render (java.util.Map arguments)
Renders a template and returns the output
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
Renders the given object to JSON, typically a domain class, ignoring lazy and internal properties
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, java.util.Map arguments)
Renders the given object to JSON, typically a domain class, ignoring lazy and internal properties
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object)
Renders the given object to JSON, typically a domain class, ignoring lazy and internal properties
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, groovy.lang.Closure customizer)
Renders the given object to JSON, typically a domain class, ignoring lazy and internal properties
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String DEEP
+ The deep parameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/HalViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/HalViewHelper.html
new file mode 100644
index 000000000..2c03662a6
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/HalViewHelper.html
@@ -0,0 +1,578 @@
+
+
+
+
+
+
+
+
+
+
+ HalViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract void
+ embedded (java.lang.Object object)
Render embedded links for the associations of the given object (if any)
+
+
+
+
+ abstract void
+ embedded (java.util.Map model)
Render embedded links for the given model
+
+
+
+
+ abstract void
+ embedded (java.lang.Object object, java.util.Map arguments)
Render embedded links for the associations of the given object (if any)
+
+
+
+
+ abstract void
+ embedded (groovy.lang.Closure callable)
Outputs a HAL embedded entry for the given closure
+
+
+
+
+ abstract void
+ embedded (java.lang.String contentType, groovy.lang.Closure callable)
Outputs a HAL embedded entry for the content type and closure
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper.inline but renders HAL links too
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, java.util.Map arguments)
Same as GrailsJsonViewHelper.inline but renders HAL links too
+
+
+
+
+ abstract void
+ inline (java.lang.Object object, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper.inline but renders HAL links too
+
+
+
+
+ abstract void
+ inline (java.lang.Object object)
Same as GrailsJsonViewHelper.inline but renders HAL links too
+
+
+
+
+ abstract void
+ links (groovy.lang.Closure callable)
Define the hal links
+
+
+
+
+ abstract void
+ links (java.lang.Object object, java.lang.String contentType)
Creates HAL links for the given object
+
+
+
+
+ abstract void
+ links (java.lang.Object object)
Creates HAL links for the given object
+
+
+
+
+ abstract void
+ links (java.util.Map model)
Creates HAL links for the given model
+
+
+
+
+ abstract void
+ links (java.util.Map model, java.lang.Object paginationObject, java.lang.Number total)
Creates HAL links for the given model and pagination object
+
+
+
+
+ abstract void
+ paginate (java.lang.Object object, java.lang.Integer total)
Pagination support which outputs hal links to the resulting pages
+
+
+
+
+ abstract void
+ paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset)
Pagination support which outputs hal links to the resulting pages
+
+
+
+
+ abstract void
+ paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max)
Pagination support which outputs hal links to the resulting pages
+
+
+
+
+ abstract void
+ paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max, java.lang.String sort)
Pagination support which outputs hal links to the resulting pages
+
+
+
+
+ abstract void
+ paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max, java.lang.String sort, java.lang.String order)
Pagination support which outputs hal links to the resulting pages
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper.render but renders HAL links too
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, java.util.Map arguments)
Same as GrailsJsonViewHelper.render but renders HAL links too
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper.render but renders HAL links too
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object)
Same as GrailsJsonViewHelper.render but renders HAL links too
+
+
+
+
+ abstract void
+ setDelegate (StreamingJsonDelegate jsonDelegate)
+
+
+
+
+ abstract void
+ type (java.lang.String name)
Parameters: name
- Sets the HAL response type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abstract void links (groovy.lang.Closure callable)
+ Define the hal links
Parameters: callable
- The closure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abstract void type (java.lang.String name)
+
Parameters: name
- Sets the HAL response type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/JsonApiViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/JsonApiViewHelper.html
new file mode 100644
index 000000000..9a958e9c5
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/JsonApiViewHelper.html
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+ JsonApiViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object)
+
+
+
+
+ abstract JsonWritable
+ render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract JsonWritable render (java.lang.Object object)
+
+
+
+
+
+
+
+ abstract JsonWritable render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/JsonView.html b/3.2.3/api/grails/plugin/json/view/api/JsonView.html
new file mode 100644
index 000000000..18c7870da
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/JsonView.html
@@ -0,0 +1,807 @@
+
+
+
+
+
+
+
+
+
+
+ JsonView (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.JsonView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ GrailsJsonViewHelper
+ getG ()
Returns: The default view helper
+
+
+
+
+ void
+ inherits (java.util.Map arguments)
Specify a template that this template inherits from
+
+
+
+
+ java.lang.Object
+ json (java.util.Map m)
Output JSON for the given map
+
+
+
+
+ void
+ json (java.lang.String name)
The empty args call will create a key whose value will be an empty JSON object:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person()
+
+
+
+
+ java.lang.Object
+ json (java.util.List l)
A list of elements as arguments to the JSON builder creates a root JSON array
+
+
+
+
+ java.lang.Object
+ json (java.lang.Object[] args)
Varargs elements as arguments to the JSON builder create a root JSON array
+
+
+
+
+ java.lang.Object
+ json (java.lang.Iterable coll, groovy.lang.Closure c)
A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+
+
+
+ java.lang.Object
+ json (groovy.lang.Closure c)
A closure passed to a JSON builder will create a root JSON object
+
+
+
+
+ void
+ json (java.lang.String name, groovy.lang.Closure c)
A name and a closure passed to a JSON builder will create a key with a JSON object
+
+
+
+
+ void
+ json (java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)
A name, a collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+
+
+
+ void
+ json (java.lang.String name, java.util.Map map, groovy.lang.Closure callable)
If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+ The default generator
+
+
+
+
+
+
+
+ The HAL view helper
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The JSON API view helper
+
+
+
+
+
+
+ private java.util.Collection<ParentInfo > parentData
+
+
+
+
+
+
+
+
+ The template namespace
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+ The default generator
+
+
+
+
+
+
+
+ The HAL view helper
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The JSON API view helper
+
+
+
+
+
+
+ java.util.Collection<ParentInfo > parentData
+
+
+
+
+
+
+
+
+ The template namespace
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
Returns: The default view helper
+
+
+
+
+
+
+
+
+
+
+
+
+ void json (java.lang.String name)
+ The empty args call will create a key whose value will be an empty JSON object:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person()
+
+ assert w.toString() == '{"person":{}}'
+ }
+ throws: IOException Parameters: name
- The name of the empty object to create
+
+
+
+
+
+
+ java.lang.Object json (java.util.List l)
+ A list of elements as arguments to the JSON builder creates a root JSON array
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ def result = json([1, 2, 3])
+
+ assert result == [ 1, 2, 3 ]
+ assert w.toString() == "[1,2,3]"
+ }
+ Parameters: l
- a list of valuesReturns: a list of values
+
+
+
+
+
+
+ java.lang.Object json (java.lang.Object[] args)
+ Varargs elements as arguments to the JSON builder create a root JSON array
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ def result = json 1, 2, 3
+
+ assert result instanceof List
+ assert w.toString() == "[1,2,3]"
+ }
+ Parameters: args
- an array of valuesReturns: a list of values
+
+
+
+
+
+
+ java.lang.Object json (java.lang.Iterable coll, @groovy.lang.DelegatesTo(value: StreamingJsonBuilder.StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+ Example:
+
+ class Author {
+ String name
+ }
+ def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json authors, { Author author ->
+ name author.name
+ }
+
+ assert w.toString() == '[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]'
+ }
+ Parameters: coll
- a collectionc
- a closure used to convert the objects of coll
+
+
+
+
+
+
+ java.lang.Object json (@groovy.lang.DelegatesTo(value: StreamingJsonBuilder.StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A closure passed to a JSON builder will create a root JSON object
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json {
+ name "Tim"
+ age 39
+ }
+
+ assert w.toString() == '{"name":"Tim","age":39}'
+ }
+ Parameters: c
- a closure whose method call statements represent key / values of a JSON object
+
+
+
+
+
+
+ void json (java.lang.String name, @groovy.lang.DelegatesTo(value: StreamingJsonBuilder.StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A name and a closure passed to a JSON builder will create a key with a JSON object
+
+ Example:
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person {
+ name "Tim"
+ age 39
+ }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":39}}'
+ }
+ Parameters: name
- The key for the JSON objectc
- a closure whose method call statements represent key / values of a JSON object
+
+
+
+
+
+
+ void json (java.lang.String name, java.lang.Iterable coll, @groovy.lang.DelegatesTo(value: StreamingJsonBuilder.StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure c)
+ A name, a collection and closure passed to a JSON builder will create a root JSON array applying
+ the closure to each object in the collection
+
+ Example:
+
+ class Author {
+ String name
+ }
+ def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.people authors, { Author author ->
+ name author.name
+ }
+
+ assert w.toString() == '{"people":[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]}'
+ }
+ Parameters: coll
- a collectionc
- a closure used to convert the objects of coll
+
+
+
+
+
+
+ void json (java.lang.String name, java.util.Map map, @groovy.lang.DelegatesTo(value: StreamingJsonBuilder.StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure callable)
+ If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+
+
+ new StringWriter().with { w ->
+ def json = new groovy.json.StreamingJsonBuilder(w)
+ json.person(name: "Tim", age: 35) { town "Manchester" }
+
+ assert w.toString() == '{"person":{"name":"Tim","age":35,"town":"Manchester"}}'
+ }
+ throws: IOException Parameters: name
- The name of the JSON objectmap
- The attributes of the JSON objectcallable
- Additional attributes of the JSON object represented by the closure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html
new file mode 100644
index 000000000..89cb27f74
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileStatic
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html
new file mode 100644
index 000000000..cae176f78
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.2 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.2 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html
new file mode 100644
index 000000000..7d3fcc650
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.3 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.3 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html
new file mode 100644
index 000000000..3ee6a0a59
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.4 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.4 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html
new file mode 100644
index 000000000..3ffe55bf9
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.5 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.5 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html
new file mode 100644
index 000000000..f779c8350
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper.6 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper.6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper.6 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html
new file mode 100644
index 000000000..51b4230db
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html
@@ -0,0 +1,827 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsJsonViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ GrailsJsonViewHelper
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+@groovy.transform.InheritConstructors
+@groovy.util.logging.Slf4j
+class DefaultGrailsJsonViewHelper
+extends DefaultJsonViewHelper
+implements GrailsJsonViewHelper
+
+ Extended version of DefaultGrailsViewHelper with methods specific to JSON view rendering
Authors: Graeme Rocher
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class DefaultJsonViewHelper
+ ASSOCIATIONS , DEFAULT_EXCLUDES , DEFAULT_GORM_EXCLUDES , DEFAULT_VALIDATEABLE_EXCLUDES , EXPAND , NULL_OUTPUT , PAGINATION_MAX , PAGINATION_OFFSET , PAGINATION_ORDER , PAGINATION_RESROUCE , PAGINATION_SORT , PAGINATION_TOTAL , TO_STRING_TYPES , includeExcludeSupport , simpleIncludeExcludeSupport , validateableIncludeExcludeSupport
+
+
+ class DefaultGrailsViewHelper
+ view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected JsonWritable
+ getIterableWritable (java.lang.Iterable object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+ protected JsonWritable
+ getIterableWritable (java.lang.Iterable object, groovy.lang.Closure forEach)
+
+
+
+
+ protected JsonWritable
+ getMapWritable (java.util.Map object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects)
+
+
+
+
+ private PersistentEntity
+ getPersistentEntity (PersistentEntity entity, java.lang.Object value)
Retrieves the persistent entity of the value if it exists, defaults to { Parameters: entity}
+
+
+
+
+ private java.util.Map<PersistentProperty, java.lang.Object>
+ getValidIdProperties (PersistentEntity entity, java.lang.Object object, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path)
+
+
+
+
+ protected void
+ handleValue (java.lang.Object value, java.io.Writer out, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+ protected java.util.Map<java.lang.Object, JsonOutput.JsonWritable>
+ initializeProcessedObjects (groovy.lang.Binding binding)
+
+
+
+
+ void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, StreamingJsonBuilder.StreamingJsonDelegate jsonDelegate)
+
+
+
+
+ void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
+
+
+
+
+ void
+ inline (java.lang.Object object, groovy.lang.Closure customizer)
+
+
+
+
+ protected boolean
+ isSimpleValue (java.lang.Object value)
+
+
+
+ <T>
+ T
+ model (java.lang.String name, java.lang.Class<T> targetType)
Obtains a model value for the given name and type
+
+
+
+
+ private boolean
+ notCircular (JsonViewTemplate template)
+
+
+
+
+ protected void
+ populateModelWithViewState (java.util.Map model)
+
+
+
+
+ private JsonWritable
+ preProcessedOutput (java.lang.Object object, JsonWritable> processedObjects)
+
+
+
+
+ protected GrailsView
+ prepareWritable (groovy.text.Template childTemplate, java.util.Map model)
+
+
+
+
+ protected void
+ process (StreamingJsonDelegate jsonDelegate, PersistentEntity entity, java.lang.Object object, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, boolean isDeep, boolean renderNulls, java.util.List<java.lang.String> expandProperties, boolean includeAssociations, groovy.lang.Closure customizer)
+
+
+
+
+ protected void
+ processSimple (StreamingJsonDelegate jsonDelegate, java.lang.Object object, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, java.lang.Boolean renderNulls, groovy.lang.Closure customizer)
+
+
+
+
+ protected void
+ processSimpleProperty (StreamingJsonBuilder.StreamingJsonDelegate jsonDelegate, PersistentProperty prop, java.lang.String propertyName, java.lang.Object value)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, groovy.lang.Closure customizer)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
+
+
+
+
+ JsonWritable
+ render (java.util.Map arguments)
+
+
+
+
+ JsonWritable
+ renderChildTemplate (groovy.text.Template template, java.lang.Class modelType, java.lang.Object modelValue)
+
+
+
+
+ private JsonWritable
+ renderDefault (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+ private java.lang.Object
+ renderEntityId (StreamingJsonDelegate jsonDelegate, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, boolean isDeep, boolean renderNulls, java.util.List<java.lang.String> expandProperties, java.util.Map<PersistentProperty, java.lang.Object> idProperties)
+
+
+
+
+ private JsonWritable
+ renderTemplate (java.lang.Object value, java.lang.Class type, java.lang.String[] qualifiers)
+
+
+
+
+ private JsonWritable
+ renderTemplate (java.lang.Object value, java.lang.String[] qualifiers)
+
+
+
+
+ private JsonWritable
+ renderTemplateOrDefault (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class DefaultJsonViewHelper
+ buildPaginateParams , defaultPaginateParams , findEntity , getExcludes , getExpandProperties , getGenerator , getGenericType , getIncludes , getJsonStackTrace , getLastOffset , getNextOffset , getPaginationLinks , getPaginationLinks , getPrevOffset , getRenderNulls , includeAssociations , isSimpleType , isStringType , paramsWithOffset
+
+
+ class DefaultGrailsViewHelper
+ ensureAbsolute , getContextPath , getLinkGenerator , getServerBaseURL , link , link , message , resource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String BEFORE_CLOSURE
+
+
+
+
+
+
+
+ public static final java.lang.String PROCESSED_OBJECT_VARIABLE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsJsonViewHelper ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected JsonWritable getIterableWritable (java.lang.Iterable object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+
+
+
+ protected JsonWritable getIterableWritable (java.lang.Iterable object, groovy.lang.Closure forEach)
+
+
+
+
+
+
+
+ protected JsonWritable getMapWritable (java.util.Map object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects)
+
+
+
+
+
+
+
+
+
+
+ private java.util.Map<PersistentProperty, java.lang.Object> getValidIdProperties (PersistentEntity entity, java.lang.Object object, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path)
+
+
+
+
+
+
+
+ protected void handleValue (java.lang.Object value, java.io.Writer out, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+
+
+
+ protected java.util.Map<java.lang.Object, JsonOutput.JsonWritable> initializeProcessedObjects (groovy.lang.Binding binding)
+
+
+
+
+
+
+
+ void inline (java.lang.Object object, java.util.Map arguments, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer, StreamingJsonBuilder.StreamingJsonDelegate jsonDelegate)
+
+
+
+
+
+
+
+ @java.lang.Override
+void inline (java.lang.Object object, java.util.Map arguments, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ @java.lang.Override
+void inline (java.lang.Object object, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ protected boolean isSimpleValue (java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ protected void populateModelWithViewState (java.util.Map model)
+
+
+
+
+
+
+
+
+
+
+ protected GrailsView prepareWritable (groovy.text.Template childTemplate, java.util.Map model)
+
+
+
+
+
+
+
+ protected void process (StreamingJsonDelegate jsonDelegate, PersistentEntity entity, java.lang.Object object, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, boolean isDeep, boolean renderNulls, java.util.List<java.lang.String> expandProperties, boolean includeAssociations, groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ protected void processSimple (StreamingJsonDelegate jsonDelegate, java.lang.Object object, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, java.lang.Boolean renderNulls, groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object, java.util.Map arguments, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.util.Map arguments)
+
+
+
+
+
+
+
+ JsonWritable renderChildTemplate (groovy.text.Template template, java.lang.Class modelType, java.lang.Object modelValue)
+
+
+
+
+
+
+
+ private JsonWritable renderDefault (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+
+
+
+ private java.lang.Object renderEntityId (StreamingJsonDelegate jsonDelegate, JsonWritable> processedObjects, java.util.List<java.lang.String> incs, java.util.List<java.lang.String> excs, java.lang.String path, boolean isDeep, boolean renderNulls, java.util.List<java.lang.String> expandProperties, java.util.Map<PersistentProperty, java.lang.Object> idProperties)
+
+
+
+
+
+
+
+ private JsonWritable renderTemplate (java.lang.Object value, java.lang.Class type, java.lang.String[] qualifiers)
+
+
+
+
+
+
+
+ private JsonWritable renderTemplate (java.lang.Object value, java.lang.String[] qualifiers)
+
+
+
+
+
+
+
+ private JsonWritable renderTemplateOrDefault (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer, JsonWritable> processedObjects, java.lang.String path)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html
new file mode 100644
index 000000000..746c4b4d7
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultHalViewHelper.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultHalViewHelper.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultHalViewHelper.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html
new file mode 100644
index 000000000..3ff08d67f
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html
@@ -0,0 +1,585 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultHalViewHelper.HalStreamingJsonDelegate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultHalViewHelper.HalStreamingJsonDelegate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ call (java.lang.String name, java.util.List<java.lang.Object> list)
+
+
+
+
+ void
+ call (java.lang.String name, java.lang.Object[] array)
+
+
+
+
+ void
+ call (java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)
+
+
+
+
+ void
+ call (java.lang.String name, java.lang.Object value)
+
+
+
+
+ void
+ call (java.lang.String name, java.lang.Object value, groovy.lang.Closure callable)
+
+
+
+
+ void
+ call (java.lang.String name, groovy.lang.Closure value)
+
+
+
+
+ void
+ call (java.lang.String name, JsonUnescaped json)
+
+
+
+
+ java.lang.Object
+ invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+ protected void
+ writeObject (java.lang.Object value, groovy.lang.Closure callable)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class StreamingJsonBuilder.StreamingJsonDelegate
+ call , call , call , call , call , call , call , call , call , cloneDelegateAndGetContent , cloneDelegateAndGetContent , cloneDelegateAndGetContent , curryDelegateAndGetContent , curryDelegateAndGetContent , curryDelegateAndGetContent , getWriter , invokeMethod , isCollectionWithClosure , setFirst , verifyValue , writeArray , writeCollectionWithClosure , writeCollectionWithClosure , writeName , writeObject , writeObjects , writeValue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.String contentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.String contentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, java.util.List<java.lang.Object> list)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, java.lang.Object[] array)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, java.lang.Object value)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, java.lang.Object value, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate.class) groovy.lang.Closure callable)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate.class, strategy: Closure.DELEGATE_FIRST) groovy.lang.Closure value)
+
+
+
+
+
+
+
+ @java.lang.Override
+void call (java.lang.String name, JsonUnescaped json)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Object invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+
+
+
+ protected void writeObject (java.lang.Object value, groovy.lang.Closure callable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html
new file mode 100644
index 000000000..5c92f3297
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html
@@ -0,0 +1,888 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultHalViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultHalViewHelper
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class DefaultJsonViewHelper
+ ASSOCIATIONS , DEFAULT_EXCLUDES , DEFAULT_GORM_EXCLUDES , DEFAULT_VALIDATEABLE_EXCLUDES , EXPAND , NULL_OUTPUT , PAGINATION_MAX , PAGINATION_OFFSET , PAGINATION_ORDER , PAGINATION_RESROUCE , PAGINATION_SORT , PAGINATION_TOTAL , TO_STRING_TYPES , includeExcludeSupport , simpleIncludeExcludeSupport , validateableIncludeExcludeSupport
+
+
+ class DefaultGrailsViewHelper
+ view
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected groovy.lang.Closure<java.lang.Void>
+ createlinksRenderingClosure (java.util.Map<java.lang.String, java.lang.Object> arguments)
+
+
+
+
+ void
+ embedded (java.lang.Object object, java.util.Map arguments)
Renders embedded associations for the given entity
+
+
+
+
+ void
+ embedded (java.util.Map model)
Render the given embedded objects
+
+
+
+
+ void
+ embedded (groovy.lang.Closure callable)
Outputs a HAL embedded entry for the given closure
+
+
+
+
+ void
+ embedded (java.lang.String contentType, groovy.lang.Closure callable)
Outputs a HAL embedded entry for the content type and closure
+
+
+
+
+ private java.util.Set<Link>
+ getLinks (java.lang.Object o)
+
+
+
+
+ void
+ inline (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
+
+
+
+
+ void
+ inline (java.lang.Object object, groovy.lang.Closure customizer)
+
+
+
+
+ void
+ links (groovy.lang.Closure callable)
Define the hal links
+
+
+
+
+ void
+ links (java.lang.Object object, java.lang.String contentType)
Creates HAL links for the given object
+
+
+
+
+ void
+ links (java.util.Map model, java.lang.Object paginationObject, java.lang.Number total, java.lang.String contentType)
+
+
+
+
+ void
+ links (java.util.Map model, java.lang.String contentType)
+
+
+
+
+ void
+ paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max, java.lang.String sort, java.lang.String order)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, java.util.Map arguments, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper#render(java.lang.Object, java.util.Map, groovy.lang.Closure) but renders HAL links too
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, groovy.lang.Closure customizer)
Same as GrailsJsonViewHelper#render(java.lang.Object, java.util.Map, groovy.lang.Closure) but renders HAL links too
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object)
+
+
+
+
+ protected void
+ renderEntityProperties (PersistentEntity entity, java.lang.Object instance, EntityReflector entityReflector, StreamingJsonBuilder.StreamingJsonDelegate associationJsonDelegate)
+
+
+
+
+ protected void
+ renderProperty (java.lang.Object embeddedObject, PersistentProperty prop, EntityReflector associationReflector, StreamingJsonDelegate jsonDelegate)
+
+
+
+
+ void
+ setDelegate (StreamingJsonBuilder.StreamingJsonDelegate jsonDelegate)
+
+
+
+
+ void
+ type (java.lang.String name)
Parameters: name
- Sets the HAL response type
+
+
+
+
+ protected void
+ writeLinks (StreamingJsonBuilder.StreamingJsonDelegate jsonDelegate, java.lang.Object object, java.lang.String contentType)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class DefaultJsonViewHelper
+ buildPaginateParams , defaultPaginateParams , findEntity , getExcludes , getExpandProperties , getGenerator , getGenericType , getIncludes , getJsonStackTrace , getLastOffset , getNextOffset , getPaginationLinks , getPaginationLinks , getPrevOffset , getRenderNulls , includeAssociations , isSimpleType , isStringType , paramsWithOffset
+
+
+ class DefaultGrailsViewHelper
+ ensureAbsolute , getContextPath , getLinkGenerator , getServerBaseURL , link , link , message , resource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String EMBEDDED_ATTRIBUTE
+
+
+
+
+
+
+
+ public static final java.lang.String EMBEDDED_PARAMETER
+
+
+
+
+
+
+
+ public static final java.lang.String HREFLANG_ATTRIBUTE
+
+
+
+
+
+
+
+ public static final java.lang.String HREF_ATTRIBUTE
+
+
+
+
+
+
+
+ public static final java.lang.String LINKS_ATTRIBUTE
+
+
+
+
+
+
+
+ public static final java.lang.String SELF_ATTRIBUTE
+
+
+
+
+
+
+
+ public static final java.lang.String TYPE_ATTRIBUTE
+
+
+
+
+
+
+
+ private java.lang.String contentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.String contentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @groovy.transform.CompileDynamic
+protected groovy.lang.Closure<java.lang.Void> createlinksRenderingClosure (java.util.Map<java.lang.String, java.lang.Object> arguments)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @groovy.transform.CompileDynamic
+private java.util.Set<Link> getLinks (java.lang.Object o)
+
+
+
+
+
+
+
+ @java.lang.Override
+void inline (java.lang.Object object, java.util.Map arguments, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ @java.lang.Override
+void inline (java.lang.Object object, @groovy.lang.DelegatesTo(value: StreamingJsonDelegate) groovy.lang.Closure customizer)
+
+
+
+
+
+
+
+ @java.lang.Override
+void links (groovy.lang.Closure callable)
+ Define the hal links
Parameters: callable
- The closure
+
+
+
+
+
+
+
+
+
+ void links (java.util.Map model, java.lang.Object paginationObject, java.lang.Number total, java.lang.String contentType)
+
+
+
+
+
+
+
+ void links (java.util.Map model, java.lang.String contentType)
+
+
+
+
+
+
+
+ void paginate (java.lang.Object object, java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max, java.lang.String sort, java.lang.String order)
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+void type (java.lang.String name)
+
Parameters: name
- Sets the HAL response type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html
new file mode 100644
index 000000000..8ea6606c6
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html
new file mode 100644
index 000000000..e7ea7afa7
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.2 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.2 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileStatic
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html
new file mode 100644
index 000000000..4c5737df2
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.3 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.3 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html
new file mode 100644
index 000000000..b35de42e3
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.4 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.lang.Object
+ writeError (java.io.Writer out, ObjectError error)
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.4 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected java.lang.Object writeError (java.io.Writer out, ObjectError error)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html
new file mode 100644
index 000000000..38fa7ac24
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.5 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.5 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html
new file mode 100644
index 000000000..13dcff63d
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.6 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.6 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html
new file mode 100644
index 000000000..45b822e62
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper.7 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper.7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiViewHelper.7 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html
new file mode 100644
index 000000000..edee6a4d9
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html
@@ -0,0 +1,836 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonApiViewHelper
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class DefaultJsonViewHelper
+ ASSOCIATIONS , DEFAULT_EXCLUDES , DEFAULT_GORM_EXCLUDES , DEFAULT_VALIDATEABLE_EXCLUDES , EXPAND , NULL_OUTPUT , PAGINATION_MAX , PAGINATION_OFFSET , PAGINATION_ORDER , PAGINATION_RESROUCE , PAGINATION_SORT , PAGINATION_TOTAL , TO_STRING_TYPES , includeExcludeSupport , simpleIncludeExcludeSupport , validateableIncludeExcludeSupport
+
+
+ class DefaultGrailsViewHelper
+ view
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.util.List<PersistentProperty>
+ getAttributes (PersistentEntity entity)
+
+
+
+
+ JsonApiIdRenderStrategy
+ getIdGenerator ()
+
+
+
+
+ java.util.List<Association>
+ getRelationships (PersistentEntity entity)
+
+
+
+
+ private boolean
+ isAttributeAssociation (Association a)
+
+
+
+
+ boolean
+ objectHasErrors (java.lang.Object subject)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object)
+
+
+
+
+ JsonWritable
+ render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+ private JsonWritable
+ renderData (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+ private void
+ renderEmbeddedEntity (java.lang.Object object, Association property, java.io.Writer out, java.lang.String basePath, java.util.List<java.lang.String> includes, java.util.List<java.lang.String> excludes)
+
+
+
+
+ JsonWritable
+ renderErrors (java.lang.Object object)
+
+
+
+
+ void
+ renderException (java.io.Writer out, java.lang.Throwable object)
+
+
+
+
+ JsonWritable
+ renderIncluded (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+ void
+ renderJsonApiMember (java.io.Writer out, java.lang.Object meta)
+
+
+
+
+ JsonWritable
+ renderLinks (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+ void
+ renderMetaObject (java.io.Writer out, java.lang.Object meta)
+
+
+
+
+ JsonWritable
+ renderRelationshipLinks (java.lang.Object object)
+
+
+
+
+ private void
+ renderResource (java.lang.Object object, java.io.Writer out)
+
+
+
+
+ private void
+ renderResource (java.lang.Object object, java.io.Writer out, java.util.Map arguments, java.lang.String basePath)
+
+
+
+
+ private void
+ writeKey (java.io.Writer out, java.lang.Object key)
+
+
+
+
+ private void
+ writeKeyValue (java.io.Writer out, java.lang.Object key, java.lang.Object value)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class DefaultJsonViewHelper
+ buildPaginateParams , defaultPaginateParams , findEntity , getExcludes , getExpandProperties , getGenerator , getGenericType , getIncludes , getJsonStackTrace , getLastOffset , getNextOffset , getPaginationLinks , getPaginationLinks , getPrevOffset , getRenderNulls , includeAssociations , isSimpleType , isStringType , paramsWithOffset
+
+
+ class DefaultGrailsViewHelper
+ ensureAbsolute , getContextPath , getLinkGenerator , getServerBaseURL , link , link , message , resource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ private java.lang.String META
+ The meta parameter
+
+
+
+
+
+
+
+
+
+ private java.lang.String PAGINATION
+ The pagination parameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.lang.String META
+ The meta parameter
+
+
+
+
+
+
+ java.lang.String PAGINATION
+ The pagination parameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ java.util.List<PersistentProperty> getAttributes (PersistentEntity entity)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private boolean isAttributeAssociation (Association a)
+
+
+
+
+
+
+
+ boolean objectHasErrors (java.lang.Object subject)
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object)
+
+
+
+
+
+
+
+ @java.lang.Override
+JsonWritable render (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+ private JsonWritable renderData (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+ private void renderEmbeddedEntity (java.lang.Object object, Association property, java.io.Writer out, java.lang.String basePath, java.util.List<java.lang.String> includes, java.util.List<java.lang.String> excludes)
+
+
+
+
+
+
+
+ JsonWritable renderErrors (java.lang.Object object)
+
+
+
+
+
+
+
+ void renderException (java.io.Writer out, java.lang.Throwable object)
+
+
+
+
+
+
+
+ JsonWritable renderIncluded (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+ void renderJsonApiMember (java.io.Writer out, java.lang.Object meta)
+
+
+
+
+
+
+
+ JsonWritable renderLinks (java.lang.Object object, java.util.Map arguments)
+
+
+
+
+
+
+
+ void renderMetaObject (java.io.Writer out, java.lang.Object meta)
+
+
+
+
+
+
+
+ JsonWritable renderRelationshipLinks (java.lang.Object object)
+
+
+
+
+
+
+
+ private void renderResource (java.lang.Object object, java.io.Writer out)
+
+
+
+
+
+
+
+ private void renderResource (java.lang.Object object, java.io.Writer out, java.util.Map arguments, java.lang.String basePath)
+
+
+
+
+
+
+
+ private void writeKey (java.io.Writer out, java.lang.Object key)
+
+
+
+
+
+
+
+ private void writeKeyValue (java.io.Writer out, java.lang.Object key, java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html
new file mode 100644
index 000000000..e61a06685
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonViewHelper.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonViewHelper.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonViewHelper.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html
new file mode 100644
index 000000000..f2e602f3d
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html
@@ -0,0 +1,938 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonViewHelper
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.util.Map<java.lang.String, java.lang.Object>
+ buildPaginateParams (java.lang.Integer max, java.lang.Integer offset, java.lang.String sort, java.lang.String order)
+
+
+
+
+ protected Parameters
+ defaultPaginateParams (java.util.Map arguments)
+
+
+
+
+ protected PersistentEntity
+ findEntity (java.lang.Object object)
+
+
+
+
+ java.util.List<java.lang.String>
+ getExcludes (java.util.Map arguments)
+
+
+
+
+ protected java.util.List<java.lang.String>
+ getExpandProperties (JsonView jsonView, java.util.Map arguments)
+
+
+
+
+ JsonGenerator
+ getGenerator ()
+
+
+
+
+ protected java.lang.Class
+ getGenericType (java.lang.Class declaringClass, java.beans.PropertyDescriptor descriptor)
+
+
+
+
+ java.util.List<java.lang.String>
+ getIncludes (java.util.Map arguments)
+
+
+
+
+ protected java.util.List<java.lang.Object>
+ getJsonStackTrace (java.lang.Throwable e)
+
+
+
+
+ protected java.lang.Integer
+ getLastOffset (java.lang.Integer total, java.lang.Integer max)
+
+
+
+
+ protected java.lang.Integer
+ getNextOffset (java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max)
+
+
+
+
+ protected java.util.List<Link>
+ getPaginationLinks (java.lang.Object object, java.lang.Integer total, Parameters params)
+
+
+
+
+ protected java.util.List<Link>
+ getPaginationLinks (java.lang.Object object, java.lang.Integer total, java.lang.Integer max, java.lang.Integer offset, java.lang.String sort, java.lang.String order)
+
+
+
+
+ protected java.lang.Integer
+ getPrevOffset (java.lang.Integer offset, java.lang.Integer max)
+
+
+
+
+ java.lang.Boolean
+ getRenderNulls (java.util.Map arguments)
+
+
+
+
+ protected boolean
+ includeAssociations (java.util.Map arguments)
+
+
+
+
+ boolean
+ isSimpleType (java.lang.Class propertyType, java.lang.Object value)
+
+
+
+
+ boolean
+ isStringType (java.lang.Class propertyType)
+
+
+
+
+ protected java.util.Map<java.lang.String, java.lang.Object>
+ paramsWithOffset (java.util.Map<java.lang.String, java.lang.Object> originalParameters, java.lang.Integer offset)
Creates a new Parameter map with the new offset
+ Note: necessary to avoid clone until Groovy 2.5.x https://issues.apache.org/jira/browse/GROOVY-7325
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ public static final java.util.List<java.lang.String> DEFAULT_EXCLUDES
+
+
+
+
+
+
+
+ public static final java.util.List<java.lang.String> DEFAULT_GORM_EXCLUDES
+
+
+
+
+
+
+
+ public static final java.util.List<java.lang.String> DEFAULT_VALIDATEABLE_EXCLUDES
+
+
+
+
+
+
+
+ private java.lang.String EXPAND
+ The expand parameter
+
+
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_MAX
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_OFFSET
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_ORDER
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_RESROUCE
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_SORT
+
+
+
+
+
+
+
+ public static final java.lang.String PAGINATION_TOTAL
+
+
+
+
+
+
+
+ protected final java.util.Set<java.lang.String> TO_STRING_TYPES
+
+
+
+
+
+
+
+ private IncludeExcludeSupport<java.lang.String> includeExcludeSupport
+
+
+
+
+
+
+
+ private IncludeExcludeSupport<java.lang.String> simpleIncludeExcludeSupport
+
+
+
+
+
+
+
+ private IncludeExcludeSupport<java.lang.String> validateableIncludeExcludeSupport
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.lang.String EXPAND
+ The expand parameter
+
+
+
+
+
+
+ IncludeExcludeSupport<java.lang.String> includeExcludeSupport
+
+
+
+
+
+
+
+ IncludeExcludeSupport<java.lang.String> simpleIncludeExcludeSupport
+
+
+
+
+
+
+
+ IncludeExcludeSupport<java.lang.String> validateableIncludeExcludeSupport
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonViewHelper ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected java.util.Map<java.lang.String, java.lang.Object> buildPaginateParams (java.lang.Integer max, java.lang.Integer offset, java.lang.String sort, java.lang.String order)
+
+
+
+
+
+
+
+ protected Parameters defaultPaginateParams (java.util.Map arguments)
+
+
+
+
+
+
+
+
+
+
+ java.util.List<java.lang.String> getExcludes (java.util.Map arguments)
+
+
+
+
+
+
+
+ protected java.util.List<java.lang.String> getExpandProperties (JsonView jsonView, java.util.Map arguments)
+
+
+
+
+
+
+
+
+
+
+ protected java.lang.Class getGenericType (java.lang.Class declaringClass, java.beans.PropertyDescriptor descriptor)
+
+
+
+
+
+
+
+ java.util.List<java.lang.String> getIncludes (java.util.Map arguments)
+
+
+
+
+
+
+
+ protected java.util.List<java.lang.Object> getJsonStackTrace (java.lang.Throwable e)
+
+
+
+
+
+
+
+ protected java.lang.Integer getLastOffset (java.lang.Integer total, java.lang.Integer max)
+
+
+
+
+
+
+
+ protected java.lang.Integer getNextOffset (java.lang.Integer total, java.lang.Integer offset, java.lang.Integer max)
+
+
+
+
+
+
+
+ protected java.util.List<Link> getPaginationLinks (java.lang.Object object, java.lang.Integer total, Parameters params)
+
+
+
+
+
+
+
+ protected java.util.List<Link> getPaginationLinks (java.lang.Object object, java.lang.Integer total, java.lang.Integer max, java.lang.Integer offset, java.lang.String sort, java.lang.String order)
+
+
+
+
+
+
+
+ protected java.lang.Integer getPrevOffset (java.lang.Integer offset, java.lang.Integer max)
+
+
+
+
+
+
+
+ java.lang.Boolean getRenderNulls (java.util.Map arguments)
+
+
+
+
+
+
+
+ protected boolean includeAssociations (java.util.Map arguments)
+
+
+
+
+
+
+
+ boolean isSimpleType (java.lang.Class propertyType, java.lang.Object value)
+
+
+
+
+
+
+
+ boolean isStringType (java.lang.Class propertyType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html
new file mode 100644
index 000000000..e93b51440
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonViewIncludeExcludeSupport (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.DefaultJsonViewIncludeExcludeSupport
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ DefaultJsonViewIncludeExcludeSupport
+ (java.util.List<java.lang.String> defaultIncludes, java.util.List<java.lang.String> defaultExcludes)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ boolean
+ includes (java.util.List<java.lang.String> includes, java.lang.String object)
+
+
+
+
+ boolean
+ shouldInclude (java.util.List<java.lang.String> incs, java.util.List excs, java.lang.String object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonViewIncludeExcludeSupport (java.util.List<java.lang.String> defaultIncludes, java.util.List<java.lang.String> defaultExcludes)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+boolean includes (java.util.List<java.lang.String> includes, java.lang.String object)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean shouldInclude (java.util.List<java.lang.String> incs, java.util.List excs, java.lang.String object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/ParentInfo.html b/3.2.3/api/grails/plugin/json/view/api/internal/ParentInfo.html
new file mode 100644
index 000000000..aadb535df
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/ParentInfo.html
@@ -0,0 +1,369 @@
+
+
+
+
+
+
+
+
+
+
+ ParentInfo (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.ParentInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ParentInfo
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.util.Map parentModel
+ The parent model, if any
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.util.Map parentModel
+ The parent model, if any
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/TemplateRenderer.html b/3.2.3/api/grails/plugin/json/view/api/internal/TemplateRenderer.html
new file mode 100644
index 000000000..bac3d6e60
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/TemplateRenderer.html
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+ TemplateRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.internal.TemplateRenderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object invokeMethod (java.lang.String name, java.lang.Object args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/package-frame.html b/3.2.3/api/grails/plugin/json/view/api/internal/package-frame.html
new file mode 100644
index 000000000..c8cb09fb5
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.view.api.internal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/internal/package-summary.html b/3.2.3/api/grails/plugin/json/view/api/internal/package-summary.html
new file mode 100644
index 000000000..4b10071e5
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/internal/package-summary.html
@@ -0,0 +1,320 @@
+
+
+
+
+
+grails.plugin.json.view.api.internal (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html b/3.2.3/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html
new file mode 100644
index 000000000..a45342530
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultJsonApiIdRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.api.jsonapi.DefaultJsonApiIdRenderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ render (java.lang.Object object, PersistentProperty property)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultJsonApiIdRenderer ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object render (java.lang.Object object, PersistentProperty property)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html b/3.2.3/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html
new file mode 100644
index 000000000..dbc3b9304
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+ JsonApiIdRenderStrategy (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.Object
+ render (java.lang.Object object, PersistentProperty identity)
Parameters: object
- The instance of the domain class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract java.lang.Object render (java.lang.Object object, PersistentProperty identity)
+
Parameters: object
- The instance of the domain classidentity
- The persistent property of the identityReturns: The value to be rendered as JSON
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-frame.html b/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-frame.html
new file mode 100644
index 000000000..a680a57de
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-frame.html
@@ -0,0 +1,66 @@
+
+
+
+
+ grails.plugin.json.view.api.jsonapi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-summary.html b/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-summary.html
new file mode 100644
index 000000000..27d7efaa8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/jsonapi/package-summary.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+grails.plugin.json.view.api.jsonapi (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/package-frame.html b/3.2.3/api/grails/plugin/json/view/api/package-frame.html
new file mode 100644
index 000000000..3ea9e6585
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/package-frame.html
@@ -0,0 +1,66 @@
+
+
+
+
+ grails.plugin.json.view.api
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/api/package-summary.html b/3.2.3/api/grails/plugin/json/view/api/package-summary.html
new file mode 100644
index 000000000..ef8de6053
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/api/package-summary.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+grails.plugin.json.view.api (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trait Summary
+
+
+ Trait
+ Description
+
+
+
+
+ JsonView
+
+
+ Extends default view API with additional methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html b/3.2.3/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html
new file mode 100644
index 000000000..a572ab3c7
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html
@@ -0,0 +1,538 @@
+
+
+
+
+
+
+
+
+
+
+ JsonTemplateTypeCheckingExtension (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.internal.JsonTemplateTypeCheckingExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ beforeMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression)
+
+
+
+
+ org.codehaus.groovy.ast.ClassNode
+ getBuilderClassNode ()
+
+
+
+
+ org.codehaus.groovy.ast.MethodNode
+ getBuilderInvokeMethod ()
+
+
+
+
+ java.lang.String
+ getBuilderVariableName ()
+
+
+
+
+ org.codehaus.groovy.ast.MethodNode
+ getDelegateInvokeMethod ()
+
+
+
+
+ boolean
+ isMethodDynamic (java.lang.Object receiver, java.lang.Object name, java.lang.Object argList, java.lang.Object argTypes, java.lang.Object call)
+
+
+
+
+ boolean
+ isPropertyDynamic (org.codehaus.groovy.ast.expr.PropertyExpression propertyExpression)
+
+
+
+
+ void
+ transformDynamicMethods (org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.MethodNode mn, java.util.Set dynamicCalls)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private static final org.codehaus.groovy.ast.ClassNode BUILDER_CLASS_NODE
+
+
+
+
+
+
+
+ private static final org.codehaus.groovy.ast.MethodNode JSON_BUILDER_INVOKE_METHOD
+
+
+
+
+
+
+
+ private static final org.codehaus.groovy.ast.MethodNode JSON_DELEGATE_INVOKE_METHOD
+
+
+
+
+
+
+
+ private static final org.codehaus.groovy.ast.ClassNode PARAMETERS
+
+
+
+
+
+
+
+ private static final org.codehaus.groovy.ast.ClassNode TEMPLATE_NAMESPACE
+
+
+
+
+
+
+
+ private static final org.codehaus.groovy.ast.MethodNode TEMPLATE_NAMESPACE_INVOKE_METHOD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonTemplateTypeCheckingExtension ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void beforeMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression)
+
+
+
+
+
+
+
+ @java.lang.Override
+org.codehaus.groovy.ast.ClassNode getBuilderClassNode ()
+
+
+
+
+
+
+
+ @java.lang.Override
+org.codehaus.groovy.ast.MethodNode getBuilderInvokeMethod ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getBuilderVariableName ()
+
+
+
+
+
+
+
+ @java.lang.Override
+org.codehaus.groovy.ast.MethodNode getDelegateInvokeMethod ()
+
+
+
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileDynamic
+boolean isMethodDynamic (java.lang.Object receiver, java.lang.Object name, java.lang.Object argList, java.lang.Object argTypes, java.lang.Object call)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean isPropertyDynamic (org.codehaus.groovy.ast.expr.PropertyExpression propertyExpression)
+
+
+
+
+
+
+
+ @java.lang.Override
+void transformDynamicMethods (org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.MethodNode mn, java.util.Set dynamicCalls)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/internal/JsonViewsTransform.html b/3.2.3/api/grails/plugin/json/view/internal/JsonViewsTransform.html
new file mode 100644
index 000000000..544663945
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/internal/JsonViewsTransform.html
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewsTransform (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.internal.JsonViewsTransform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.util.List<TraitInjector>
+ findTraitInjectors ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewsTransform ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected java.util.List<TraitInjector> findTraitInjectors ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/internal/package-frame.html b/3.2.3/api/grails/plugin/json/view/internal/package-frame.html
new file mode 100644
index 000000000..337d9c491
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/internal/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.view.internal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/internal/package-summary.html b/3.2.3/api/grails/plugin/json/view/internal/package-summary.html
new file mode 100644
index 000000000..2fb603d1a
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/internal/package-summary.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+grails.plugin.json.view.internal (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/mvc/JsonViewResolver.html b/3.2.3/api/grails/plugin/json/view/mvc/JsonViewResolver.html
new file mode 100644
index 000000000..d17eac2a0
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/mvc/JsonViewResolver.html
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.mvc.JsonViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ initialize ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class SmartViewResolver
+ buildQualifiers , getViewCacheWithDefault , resolveTemplate , resolveTemplate , resolveTemplate , resolveView , resolveView , resolveView , resolveView , setLinkGenerator , setTemplateResolver , viewCacheWithPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String JSON_VIEW_SUFFIX
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private ProxyHandler proxyHandler
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private RendererRegistry rendererRegistry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+ProxyHandler proxyHandler
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+RendererRegistry rendererRegistry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+ JsonViewResolver (JsonViewTemplateEngine templateEngine, java.lang.String suffix, java.lang.String contentType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @javax.annotation.PostConstruct
+void initialize ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/mvc/package-frame.html b/3.2.3/api/grails/plugin/json/view/mvc/package-frame.html
new file mode 100644
index 000000000..c19258acc
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/mvc/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.view.mvc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/mvc/package-summary.html b/3.2.3/api/grails/plugin/json/view/mvc/package-summary.html
new file mode 100644
index 000000000..248eedee4
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/mvc/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.json.view.mvc (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class Summary
+
+
+ Class
+ Description
+
+
+
+
+ JsonViewResolver
+
+
+ Authors: Graeme Rocher
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/package-frame.html b/3.2.3/api/grails/plugin/json/view/package-frame.html
new file mode 100644
index 000000000..4343e6b4b
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/package-summary.html b/3.2.3/api/grails/plugin/json/view/package-summary.html
new file mode 100644
index 000000000..1d5dd0955
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/package-summary.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+grails.plugin.json.view (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/template/JsonViewTemplate.html b/3.2.3/api/grails/plugin/json/view/template/JsonViewTemplate.html
new file mode 100644
index 000000000..0b08542af
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/template/JsonViewTemplate.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewTemplate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.template.JsonViewTemplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class GrailsViewTemplate
+ linkGenerator , mappingContext , messageSource , mimeUtility , proxyHandler , templateEngine , useAbsoluteLinks
+
+
+ class WritableScriptTemplate
+ lastModified , modelSetters , prettyPrint , sourceFile , templateClass , templatePath
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ JsonViewTemplate
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ groovy.lang.Writable
+ make (java.util.Map binding)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewTemplate ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make (java.util.Map binding)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/template/package-frame.html b/3.2.3/api/grails/plugin/json/view/template/package-frame.html
new file mode 100644
index 000000000..03fb7866c
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/template/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.json.view.template
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/template/package-summary.html b/3.2.3/api/grails/plugin/json/view/template/package-summary.html
new file mode 100644
index 000000000..df98b02d8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/template/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.json.view.template (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/JsonRenderResult.html b/3.2.3/api/grails/plugin/json/view/test/JsonRenderResult.html
new file mode 100644
index 000000000..b423649af
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/JsonRenderResult.html
@@ -0,0 +1,480 @@
+
+
+
+
+
+
+
+
+
+
+ JsonRenderResult (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.test.JsonRenderResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.String
+ contentType
+ The content type
+
+
+
+ private java.util.Map<java.lang.String, java.lang.String>
+ headers
+ The headers
+
+
+
+ private java.lang.Object
+ json
+ The JSON result
+
+
+
+ private java.lang.String
+ jsonText
+ The raw JSON text
+
+
+
+ private java.lang.String
+ message
+ The HTTP response message
+
+
+
+ private HttpStatus
+ status
+ The status
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.String
+ contentType
The content type
+
+
+
+ java.util.Map<java.lang.String, java.lang.String>
+ headers
The headers
+
+
+
+ java.lang.Object
+ json
The JSON result
+
+
+
+ java.lang.String
+ jsonText
The raw JSON text
+
+
+
+ java.lang.String
+ message
The HTTP response message
+
+
+
+ HttpStatus
+ status
The status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ JsonRenderResult
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.String contentType
+ The content type
+
+
+
+
+
+
+ private java.util.Map<java.lang.String, java.lang.String> headers
+ The headers
+
+
+
+
+
+
+ private java.lang.Object json
+ The JSON result
+
+
+
+
+
+
+ private java.lang.String jsonText
+ The raw JSON text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.String contentType
+ The content type
+
+
+
+
+
+
+ java.util.Map<java.lang.String, java.lang.String> headers
+ The headers
+
+
+
+
+
+
+ java.lang.Object json
+ The JSON result
+
+
+
+
+
+
+ java.lang.String jsonText
+ The raw JSON text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonRenderResult ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html b/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html
new file mode 100644
index 000000000..78ee7881a
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewTest.TestHttpResponse (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.test.JsonViewTest.TestHttpResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ contentType (java.lang.String contentType)
+
+
+
+
+ void
+ encoding (java.lang.String encoding)
+
+
+
+
+ void
+ header (java.lang.String name, java.lang.String value)
+
+
+
+
+ void
+ header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+ void
+ headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+ void
+ status (int status)
+
+
+
+
+ void
+ status (int status, java.lang.String message)
+
+
+
+
+ void
+ status (HttpStatus status)
+
+
+
+
+ void
+ status (HttpStatus status, java.lang.String message)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void contentType (java.lang.String contentType)
+
+
+
+
+
+
+
+ @java.lang.Override
+void encoding (java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.lang.String name, java.lang.String value)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+void headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status, java.lang.String message)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus status)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus status, java.lang.String message)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.html b/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.html
new file mode 100644
index 000000000..7eb32c0d3
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/JsonViewTest.html
@@ -0,0 +1,642 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewTest (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.test.JsonViewTest
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ private JsonRenderResult
+ produceResult (groovy.text.Template template, java.util.Map model, groovy.lang.Closure configurer)
+
+
+
+
+ JsonRenderResult
+ render (java.lang.String source)
Render a template for the given source
+
+
+
+
+ JsonRenderResult
+ render (java.lang.String source, java.util.Map model)
Render a template for the given source
+
+
+
+
+ JsonRenderResult
+ render (java.lang.String source, java.util.Map model, groovy.lang.Closure configurer)
Render a template for the given source
+
+
+
+
+ JsonRenderResult
+ render (java.lang.String source, groovy.lang.Closure configurer)
Render a template for the given source
+
+
+
+
+ JsonRenderResult
+ render (java.util.Map arguments)
Render one of the GSON views in the grails-app/views directory for the given arguments
+
+
+
+
+ JsonRenderResult
+ render (java.util.Map arguments, groovy.lang.Closure configurer)
Render one of the GSON views in the grails-app/views directory for the given arguments
+
+
+
+
+ void
+ setGrailsApplication (GrailsApplication grailsApplication)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private JsonApiIdRenderStrategy jsonApiIdRenderStrategy
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private LinkGenerator linkGenerator
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private MappingContext mappingContext
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private MessageSource messageSource
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private MimeUtility mimeUtility
+
+
+
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private JsonViewConfiguration viewConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+JsonApiIdRenderStrategy jsonApiIdRenderStrategy
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+LinkGenerator linkGenerator
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+MappingContext mappingContext
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+MessageSource messageSource
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+MimeUtility mimeUtility
+
+
+
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+JsonViewConfiguration viewConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ private JsonRenderResult produceResult (groovy.text.Template template, java.util.Map model, groovy.lang.Closure configurer)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+void setGrailsApplication (GrailsApplication grailsApplication)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/TestLinkGenerator.html b/3.2.3/api/grails/plugin/json/view/test/TestLinkGenerator.html
new file mode 100644
index 000000000..65fc3d7be
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/TestLinkGenerator.html
@@ -0,0 +1,450 @@
+
+
+
+
+
+
+
+
+
+
+ TestLinkGenerator (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.test.TestLinkGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.lang.StringBuilder
+ appendObjectId (java.lang.StringBuilder url, java.util.Map urlObject)
+
+
+
+
+ java.lang.String
+ getContextPath ()
+
+
+
+
+ java.lang.String
+ getServerBaseURL ()
+
+
+
+
+ java.lang.String
+ link (java.util.Map params, java.lang.String encoding)
+
+
+
+
+ java.lang.String
+ resource (java.util.Map params)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @groovy.transform.CompileDynamic
+protected java.lang.StringBuilder appendObjectId (java.lang.StringBuilder url, java.util.Map urlObject)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getContextPath ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getServerBaseURL ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String link (java.util.Map params, java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String resource (java.util.Map params)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/TestRequestConfigurer.html b/3.2.3/api/grails/plugin/json/view/test/TestRequestConfigurer.html
new file mode 100644
index 000000000..22362f34d
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/TestRequestConfigurer.html
@@ -0,0 +1,821 @@
+
+
+
+
+
+
+
+
+
+
+ TestRequestConfigurer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.json.view.test.TestRequestConfigurer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.util.Map<java.lang.String, java.lang.Object>
+ attributes
+
+
+
+
+ private java.lang.String
+ characterEncoding
+
+
+
+
+ private java.lang.String
+ contentType
+
+
+
+
+ private java.lang.String
+ contextPath
+
+
+
+
+ private java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ headers
+
+
+
+
+ private JsonView
+ jsonView
+
+
+
+
+ private java.lang.String
+ method
+
+
+
+
+ private java.lang.String
+ uri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.util.Map<java.lang.String, java.lang.Object>
+ attributes
+
+
+
+ java.lang.String
+ characterEncoding
+
+
+
+ java.lang.String
+ contentType
+
+
+
+ java.lang.String
+ contextPath
+
+
+
+ java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ headers
+
+
+
+ JsonView
+ jsonView
+
+
+
+ java.lang.String
+ method
+
+
+
+ java.lang.String
+ uri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.util.Map<java.lang.String, java.lang.Object> attributes
+
+
+
+
+
+
+
+ private java.lang.String characterEncoding
+
+
+
+
+
+
+
+ private java.lang.String contentType
+
+
+
+
+
+
+
+ private java.lang.String contextPath
+
+
+
+
+
+
+
+ private java.util.Map<java.lang.String, java.util.List<java.lang.String>> headers
+
+
+
+
+
+
+
+ private final JsonView jsonView
+
+
+
+
+
+
+
+ private java.lang.String method
+
+
+
+
+
+
+
+ private java.lang.String uri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.util.Map<java.lang.String, java.lang.Object> attributes
+
+
+
+
+
+
+
+ java.lang.String characterEncoding
+
+
+
+
+
+
+
+ java.lang.String contentType
+
+
+
+
+
+
+
+ java.lang.String contextPath
+
+
+
+
+
+
+
+ java.util.Map<java.lang.String, java.util.List<java.lang.String>> headers
+
+
+
+
+
+
+
+
+
+
+ java.lang.String method
+
+
+
+
+
+
+
+ java.lang.String uri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ TestRequestConfigurer (JsonView jsonView)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Object getAttribute (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Collection<java.lang.String> getAttributeNames ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getHeader (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Collection<java.lang.String> getHeaderNames ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Collection<java.lang.String> getHeaders (java.lang.String name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void setActionName (java.lang.String actionName)
+
+
+
+
+
+
+
+ void setConfig (Config config)
+
+
+
+
+
+
+
+ void setControllerName (java.lang.String controllerName)
+
+
+
+
+
+
+
+ void setControllerNamespace (java.lang.String controllerNamespace)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/package-frame.html b/3.2.3/api/grails/plugin/json/view/test/package-frame.html
new file mode 100644
index 000000000..0adbcd071
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/package-frame.html
@@ -0,0 +1,66 @@
+
+
+
+
+ grails.plugin.json.view.test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/json/view/test/package-summary.html b/3.2.3/api/grails/plugin/json/view/test/package-summary.html
new file mode 100644
index 000000000..d4d1593c3
--- /dev/null
+++ b/3.2.3/api/grails/plugin/json/view/test/package-summary.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+grails.plugin.json.view.test (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trait Summary
+
+
+ Trait
+ Description
+
+
+
+
+ JsonViewTest
+
+
+ A trait that test classes can implement to add support for easily testing JSON views
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewCompiler.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewCompiler.html
new file mode 100644
index 000000000..6256ff3d8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewCompiler.html
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewCompiler (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewCompiler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected org.codehaus.groovy.control.CompilerConfiguration
+ configureCompiler (org.codehaus.groovy.control.CompilerConfiguration configuration)
+
+
+
+
+ static void
+ main (java.lang.String[] args)
+
+
+
+
+ protected ViewsTransform
+ newViewsTransform ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewCompiler ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected org.codehaus.groovy.control.CompilerConfiguration configureCompiler (org.codehaus.groovy.control.CompilerConfiguration configuration)
+
+
+
+
+
+
+
+ static void main (java.lang.String[] args)
+
+
+
+
+
+
+
+ @java.lang.Override
+protected ViewsTransform newViewsTransform ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewConfiguration.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewConfiguration.html
new file mode 100644
index 000000000..d08c95333
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewConfiguration.html
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewConfiguration (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ MODULE_NAME
+
+
+
+
+ private java.util.List<java.lang.String>
+ mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ boolean
+ cache
+
+
+
+ java.util.List<java.lang.String>
+ mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.text.markup.TemplateConfiguration
+ groovy.text.markup.TemplateConfiguration#setLocale(java.util.Locale), groovy.text.markup.TemplateConfiguration#getLocale(), groovy.text.markup.TemplateConfiguration#isAutoNewLine(), groovy.text.markup.TemplateConfiguration#getDeclarationEncoding(), groovy.text.markup.TemplateConfiguration#setDeclarationEncoding(java.lang.String), groovy.text.markup.TemplateConfiguration#isExpandEmptyElements(), groovy.text.markup.TemplateConfiguration#setExpandEmptyElements(boolean), groovy.text.markup.TemplateConfiguration#isUseDoubleQuotes(), groovy.text.markup.TemplateConfiguration#setUseDoubleQuotes(boolean), groovy.text.markup.TemplateConfiguration#getNewLineString(), groovy.text.markup.TemplateConfiguration#setNewLineString(java.lang.String), groovy.text.markup.TemplateConfiguration#isAutoEscape(), groovy.text.markup.TemplateConfiguration#setAutoEscape(boolean), groovy.text.markup.TemplateConfiguration#isAutoIndent(), groovy.text.markup.TemplateConfiguration#setAutoIndent(boolean), groovy.text.markup.TemplateConfiguration#getAutoIndentString(), groovy.text.markup.TemplateConfiguration#setAutoIndentString(java.lang.String), groovy.text.markup.TemplateConfiguration#setAutoNewLine(boolean), groovy.text.markup.TemplateConfiguration#getBaseTemplateClass(), groovy.text.markup.TemplateConfiguration#setBaseTemplateClass(java.lang.Class), groovy.text.markup.TemplateConfiguration#isCacheTemplates(), groovy.text.markup.TemplateConfiguration#setCacheTemplates(boolean), groovy.text.markup.TemplateConfiguration#wait(long), groovy.text.markup.TemplateConfiguration#wait(long, int), groovy.text.markup.TemplateConfiguration#wait(), groovy.text.markup.TemplateConfiguration#equals(java.lang.Object), groovy.text.markup.TemplateConfiguration#toString(), groovy.text.markup.TemplateConfiguration#hashCode(), groovy.text.markup.TemplateConfiguration#getClass(), groovy.text.markup.TemplateConfiguration#notify(), groovy.text.markup.TemplateConfiguration#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String MODULE_NAME
+
+
+
+
+
+
+
+ private java.util.List<java.lang.String> mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.util.List<java.lang.String> mimeTypes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewConfiguration ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ java.beans.PropertyDescriptor[] findViewConfigPropertyDescriptor ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getViewModuleName ()
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean isCache ()
+
+
+
+
+
+
+
+ @java.lang.Override
+void setCache (boolean cache)
+
+
+
+
+
+
+
+ @java.lang.Override
+void setEncoding (java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+void setPrettyPrint (boolean prettyPrint)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html
new file mode 100644
index 000000000..511124512
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html
@@ -0,0 +1,661 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewGrailsPlugin (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewGrailsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.Object
+ author
+
+
+
+
+ private java.lang.Object
+ authorEmail
+
+
+
+
+ private java.lang.Object
+ description
+
+
+
+
+ private java.lang.Object
+ developers
+
+
+
+
+ private java.lang.Object
+ documentation
+
+
+
+
+ private java.lang.Object
+ grailsVersion
+
+
+
+
+ private java.lang.Object
+ issueManagement
+
+
+
+
+ private java.lang.Object
+ license
+
+
+
+
+ private java.lang.Object
+ organization
+
+
+
+
+ private java.lang.Object
+ profiles
+
+
+
+
+ private java.lang.Object
+ scm
+
+
+
+
+ private java.lang.Object
+ title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ groovy.lang.Closure
+ doWithSpring ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.Object author
+
+
+
+
+
+
+
+ private java.lang.Object authorEmail
+
+
+
+
+
+
+
+ private java.lang.Object description
+
+
+
+
+
+
+
+ private java.lang.Object developers
+
+
+
+
+
+
+
+ private java.lang.Object documentation
+
+
+
+
+
+
+
+ private java.lang.Object grailsVersion
+
+
+
+
+
+
+
+ private java.lang.Object issueManagement
+
+
+
+
+
+
+
+ private java.lang.Object license
+
+
+
+
+
+
+
+ private java.lang.Object organization
+
+
+
+
+
+
+
+ private java.lang.Object profiles
+
+
+
+
+
+
+
+ private java.lang.Object scm
+
+
+
+
+
+
+
+ private java.lang.Object title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.Object author
+
+
+
+
+
+
+
+ java.lang.Object authorEmail
+
+
+
+
+
+
+
+ java.lang.Object description
+
+
+
+
+
+
+
+ java.lang.Object developers
+
+
+
+
+
+
+
+ java.lang.Object documentation
+
+
+
+
+
+
+
+ java.lang.Object grailsVersion
+
+
+
+
+
+
+
+ java.lang.Object issueManagement
+
+
+
+
+
+
+
+ java.lang.Object license
+
+
+
+
+
+
+
+ java.lang.Object organization
+
+
+
+
+
+
+
+ java.lang.Object profiles
+
+
+
+
+
+
+
+ java.lang.Object scm
+
+
+
+
+
+
+
+ java.lang.Object title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewGrailsPlugin ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ groovy.lang.Closure doWithSpring ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplate.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplate.html
new file mode 100644
index 000000000..4d0655e08
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplate.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewTemplate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewTemplate
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ MarkupView , WritableScript
+
+
+
+
+
+
+
+abstract class MarkupViewTemplate
+extends groovy.text.markup.BaseTemplate
+implements MarkupView , WritableScript
+
+ Base class for markup engine templates
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ EXTENSION
+
+
+
+
+ static java.lang.String
+ TYPE
+
+
+
+
+ private java.io.File
+ sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ groovy.lang.Binding
+ binding
+
+
+
+ java.io.File
+ sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ MarkupViewTemplate
+ (groovy.text.markup.MarkupTemplateEngine templateEngine, java.util.Map model, java.util.Map<java.lang.String, java.lang.String> modelTypes, groovy.text.markup.TemplateConfiguration configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ groovy.lang.Binding
+ getBinding ()
+
+
+
+
+ void
+ setBinding (groovy.lang.Binding binding)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.text.markup.BaseTemplate
+ groovy.text.markup.BaseTemplate#getModel(), groovy.text.markup.BaseTemplate#methodMissing(java.lang.String, java.lang.Object), groovy.text.markup.BaseTemplate#getOut(), groovy.text.markup.BaseTemplate#contents(groovy.lang.Closure), groovy.text.markup.BaseTemplate#fragment(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#writeTo(java.io.Writer), groovy.text.markup.BaseTemplate#pi(java.util.Map), groovy.text.markup.BaseTemplate#yieldUnescaped(java.lang.Object), groovy.text.markup.BaseTemplate#stringOf(groovy.lang.Closure), groovy.text.markup.BaseTemplate#xmlDeclaration(), groovy.text.markup.BaseTemplate#includeGroovy(java.lang.String), groovy.text.markup.BaseTemplate#includeEscaped(java.lang.String), groovy.text.markup.BaseTemplate#includeUnescaped(java.lang.String), groovy.text.markup.BaseTemplate#tryEscape(java.lang.Object), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String, boolean), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#run(), groovy.text.markup.BaseTemplate#toString(), groovy.text.markup.BaseTemplate#yield(java.lang.Object), groovy.text.markup.BaseTemplate#comment(java.lang.Object), groovy.text.markup.BaseTemplate#newLine(), groovy.text.markup.BaseTemplate#wait(long), groovy.text.markup.BaseTemplate#wait(long, int), groovy.text.markup.BaseTemplate#wait(), groovy.text.markup.BaseTemplate#equals(java.lang.Object), groovy.text.markup.BaseTemplate#hashCode(), groovy.text.markup.BaseTemplate#getClass(), groovy.text.markup.BaseTemplate#notify(), groovy.text.markup.BaseTemplate#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String EXTENSION
+
+
+
+
+
+
+
+ public static final java.lang.String TYPE
+
+
+
+
+
+
+
+ private java.io.File sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ groovy.lang.Binding binding
+
+
+
+
+
+
+
+ java.io.File sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewTemplate (groovy.text.markup.MarkupTemplateEngine templateEngine, java.util.Map model, java.util.Map<java.lang.String, java.lang.String> modelTypes, groovy.text.markup.TemplateConfiguration configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+groovy.lang.Binding getBinding ()
+
+
+
+
+
+
+
+ @java.lang.Override
+void setBinding (groovy.lang.Binding binding)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html
new file mode 100644
index 000000000..9afc6bd20
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewTemplateEngine.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewTemplateEngine.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ configure (java.lang.ClassLoader templateClassLoader, groovy.text.markup.TemplateConfiguration configuration)
+
+
+
+
+ java.net.URL
+ resolveTemplate (java.lang.String templatePath)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ interface groovy.text.markup.TemplateResolver
+ groovy.text.markup.TemplateResolver#resolveTemplate(java.lang.String), groovy.text.markup.TemplateResolver#configure(java.lang.ClassLoader, groovy.text.markup.TemplateConfiguration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewTemplateEngine.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void configure (java.lang.ClassLoader templateClassLoader, groovy.text.markup.TemplateConfiguration configuration)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.net.URL resolveTemplate (java.lang.String templatePath)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html
new file mode 100644
index 000000000..b142714b8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html
@@ -0,0 +1,571 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewTemplateEngine (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewTemplateEngine
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+class MarkupViewTemplateEngine
+extends ResolvableGroovyTemplateEngine
+
+ A ResolvableGroovyTemplateEngine that uses Groovy's groovy.text.markup.MarkupTemplateEngine internally
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ COMPILE_STATIC
+
+
+
+
+ static java.lang.String
+ VIEW_BASE_CLASS
+
+
+
+
+ private boolean
+ compileStatic
+
+
+
+
+ private groovy.text.markup.MarkupTemplateEngine
+ innerEngine
+
+
+
+
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class ResolvableGroovyTemplateEngine
+ NULL_ENTRY , cachedTemplates , classLoader , compilerConfiguration , enableReloading , extension , linkGenerator , mappingContext , messageSource , mimeUtility , proxyHandler , resolveCache , shouldCache , templateCounter , templateResolver , viewConfiguration , viewUriResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ groovy.text.markup.MarkupTemplateEngine
+ innerEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class ResolvableGroovyTemplateEngine
+ attemptResolveClass , attemptResolvePath , createTemplate , createTemplate , createTemplate , createTemplate , createTemplate , createTemplate , getCachedTemplatesWithDefault , getCompilerConfiguration , getDynamicTemplatePrefix , initializeTemplate , newViewsTransform , prepareCustomizers , resolveTemplate , resolveTemplate , resolveTemplate , setLinkGenerator , setMappingContext , setMessageSource , setMimeUtility , setProxyHandler , templateByPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String COMPILE_STATIC
+
+
+
+
+
+
+
+ public static final java.lang.String VIEW_BASE_CLASS
+
+
+
+
+
+
+
+ private final boolean compileStatic
+
+
+
+
+
+
+
+ private groovy.text.markup.MarkupTemplateEngine innerEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ groovy.text.markup.MarkupTemplateEngine innerEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+protected WritableScriptTemplate createTemplate (java.lang.Class<? extends groovy.text.Template> cls, java.io.File sourceFile)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getDynamicTemplatePrefix ()
+
+
+
+
+
+
+
+ @java.lang.Override
+protected ViewsTransform newViewsTransform ()
+
+
+
+
+
+
+
+ @java.lang.Override
+protected void prepareCustomizers (org.codehaus.groovy.control.CompilerConfiguration cc)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html b/3.2.3/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html
new file mode 100644
index 000000000..a994981f8
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewWritableScriptTemplate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.MarkupViewWritableScriptTemplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ class GrailsViewTemplate
+ linkGenerator , mappingContext , messageSource , mimeUtility , proxyHandler , templateEngine , useAbsoluteLinks
+
+
+ class WritableScriptTemplate
+ lastModified , modelSetters , prettyPrint , sourceFile , templateClass , templatePath
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ groovy.lang.Writable
+ make (java.util.Map binding)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ private groovy.text.markup.MarkupTemplateEngine templateEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ groovy.text.markup.MarkupTemplateEngine templateEngine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewWritableScriptTemplate (java.lang.Class<? extends GrailsView> templateClass, java.io.File sourceFile, groovy.text.markup.MarkupTemplateEngine templateEngine, MarkupViewConfiguration configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make (java.util.Map binding)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/api/MarkupView.html b/3.2.3/api/grails/plugin/markup/view/api/MarkupView.html
new file mode 100644
index 000000000..fde341470
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/api/MarkupView.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupView (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+ | Detail:
+ Field Method
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.api.MarkupView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+ | Detail:
+ Field Method
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/api/package-frame.html b/3.2.3/api/grails/plugin/markup/view/api/package-frame.html
new file mode 100644
index 000000000..437ddcaeb
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/api/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.markup.view.api
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/api/package-summary.html b/3.2.3/api/grails/plugin/markup/view/api/package-summary.html
new file mode 100644
index 000000000..f5bd69fb4
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/api/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.markup.view.api (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trait Summary
+
+
+ Trait
+ Description
+
+
+
+
+ MarkupView
+
+
+ Extra methods added to markup views
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html b/3.2.3/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html
new file mode 100644
index 000000000..fed148da1
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewsTransform (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.internal.MarkupViewsTransform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.util.List<TraitInjector>
+ findTraitInjectors ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewsTransform ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected java.util.List<TraitInjector> findTraitInjectors ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/internal/package-frame.html b/3.2.3/api/grails/plugin/markup/view/internal/package-frame.html
new file mode 100644
index 000000000..03cff50a5
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/internal/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.markup.view.internal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/internal/package-summary.html b/3.2.3/api/grails/plugin/markup/view/internal/package-summary.html
new file mode 100644
index 000000000..ab6f78f94
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/internal/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.markup.view.internal (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html b/3.2.3/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html
new file mode 100644
index 000000000..45cc6f6ea
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.mvc.MarkupViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ initialize ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class SmartViewResolver
+ buildQualifiers , getViewCacheWithDefault , resolveTemplate , resolveTemplate , resolveTemplate , resolveView , resolveView , resolveView , resolveView , setLinkGenerator , setTemplateResolver , viewCacheWithPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String MARKUP_VIEW_SUFFIX
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private ProxyHandler proxyHandler
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+private RendererRegistry rendererRegistry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+ProxyHandler proxyHandler
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+RendererRegistry rendererRegistry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+ MarkupViewResolver (MarkupViewTemplateEngine templateEngine, java.lang.String suffix, java.lang.String contentType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @javax.annotation.PostConstruct
+void initialize ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/mvc/package-frame.html b/3.2.3/api/grails/plugin/markup/view/mvc/package-frame.html
new file mode 100644
index 000000000..f31f823ec
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/mvc/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.markup.view.mvc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/mvc/package-summary.html b/3.2.3/api/grails/plugin/markup/view/mvc/package-summary.html
new file mode 100644
index 000000000..59401a48a
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/mvc/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.markup.view.mvc (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/package-frame.html b/3.2.3/api/grails/plugin/markup/view/package-frame.html
new file mode 100644
index 000000000..634cc9d17
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.markup.view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/package-summary.html b/3.2.3/api/grails/plugin/markup/view/package-summary.html
new file mode 100644
index 000000000..c471d5d3b
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/package-summary.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+grails.plugin.markup.view (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html b/3.2.3/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html
new file mode 100644
index 000000000..7a4a918aa
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewXmlRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.plugin.markup.view.renderer.MarkupViewXmlRenderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/renderer/package-frame.html b/3.2.3/api/grails/plugin/markup/view/renderer/package-frame.html
new file mode 100644
index 000000000..c36d8969b
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/renderer/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.plugin.markup.view.renderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/plugin/markup/view/renderer/package-summary.html b/3.2.3/api/grails/plugin/markup/view/renderer/package-summary.html
new file mode 100644
index 000000000..a66ee7884
--- /dev/null
+++ b/3.2.3/api/grails/plugin/markup/view/renderer/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.plugin.markup.view.renderer (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class Summary
+
+
+ Class
+ Description
+
+
+
+
+ MarkupViewXmlRenderer
+
+
+ Integration with the Grails renderer framework
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/AbstractGroovyTemplateCompiler.html b/3.2.3/api/grails/views/AbstractGroovyTemplateCompiler.html
new file mode 100644
index 000000000..ea7c594a4
--- /dev/null
+++ b/3.2.3/api/grails/views/AbstractGroovyTemplateCompiler.html
@@ -0,0 +1,536 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractGroovyTemplateCompiler (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.AbstractGroovyTemplateCompiler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ @groovy.lang.Delegate
+private org.codehaus.groovy.control.CompilerConfiguration configuration
+
+
+
+
+
+
+
+ private java.lang.String packageName
+
+
+
+
+
+
+
+ private java.io.File sourceDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @groovy.lang.Delegate
+org.codehaus.groovy.control.CompilerConfiguration configuration
+
+
+
+
+
+
+
+ java.lang.String packageName
+
+
+
+
+
+
+
+ java.io.File sourceDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ AbstractGroovyTemplateCompiler (ViewConfiguration configuration, java.io.File sourceDir)
+
+
+
+
+
+
+
+ AbstractGroovyTemplateCompiler ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ void compile (java.util.List<java.io.File> sources)
+
+
+
+
+
+
+
+ void compile (java.io.File[] sources)
+
+
+
+
+
+
+
+ protected org.codehaus.groovy.control.CompilerConfiguration configureCompiler (org.codehaus.groovy.control.CompilerConfiguration configuration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/AbstractWritableScript.html b/3.2.3/api/grails/views/AbstractWritableScript.html
new file mode 100644
index 000000000..f8fca395a
--- /dev/null
+++ b/3.2.3/api/grails/views/AbstractWritableScript.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractWritableScript (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.AbstractWritableScript
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ GrailsView , WritableScript
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+abstract class AbstractWritableScript
+extends groovy.lang.Script
+implements GrailsView , WritableScript
+
+ A script that is writable
Authors: Graeme Rocher
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ protected static org.slf4j.Logger
+ log
+ A logger that can be used within views
+
+
+
+ private java.util.Map<java.lang.String, java.lang.Class>
+ modelTypes
+
+
+
+
+ private java.io.Writer
+ out
+
+
+
+
+ private java.io.File
+ sourceFile
+ The source file
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.util.Map<java.lang.String, java.lang.Class>
+ modelTypes
+
+
+
+ java.io.Writer
+ out
+
+
+
+ java.io.File
+ sourceFile
The source file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.io.Writer
+ doWrite (java.io.Writer writer)
Subclasses should implement to perform the write
+
+
+
+
+ java.util.Map<java.lang.String, java.lang.Class>
+ getModelTypes ()
+
+
+
+
+ java.io.Writer
+ getOut ()
Returns: The current writer
+
+
+
+
+ void
+ setModelTypes (java.util.Map<java.lang.String, java.lang.Class> modelTypes)
+
+
+
+
+ final java.io.Writer
+ writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.lang.Script
+ groovy.lang.Script#getBinding(), groovy.lang.Script#setBinding(groovy.lang.Binding), groovy.lang.Script#evaluate(java.lang.String), groovy.lang.Script#evaluate(java.io.File), groovy.lang.Script#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.Script#println(java.lang.Object), groovy.lang.Script#println(), groovy.lang.Script#run(java.io.File, [Ljava.lang.String;), groovy.lang.Script#run(), groovy.lang.Script#getProperty(java.lang.String), groovy.lang.Script#setProperty(java.lang.String, java.lang.Object), groovy.lang.Script#print(java.lang.Object), groovy.lang.Script#printf(java.lang.String, java.lang.Object), groovy.lang.Script#printf(java.lang.String, [Ljava.lang.Object;), groovy.lang.Script#getMetaClass(), groovy.lang.Script#setMetaClass(groovy.lang.MetaClass), groovy.lang.Script#wait(long), groovy.lang.Script#wait(long, int), groovy.lang.Script#wait(), groovy.lang.Script#equals(java.lang.Object), groovy.lang.Script#toString(), groovy.lang.Script#hashCode(), groovy.lang.Script#getClass(), groovy.lang.Script#notify(), groovy.lang.Script#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ private java.util.Map<java.lang.String, java.lang.Class> modelTypes
+
+
+
+
+
+
+
+ private java.io.Writer out
+
+
+
+
+
+
+
+ private java.io.File sourceFile
+ The source file
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.util.Map<java.lang.String, java.lang.Class> modelTypes
+
+
+
+
+
+
+
+ java.io.Writer out
+
+
+
+
+
+
+
+ java.io.File sourceFile
+ The source file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ AbstractWritableScript ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ java.util.Map<java.lang.String, java.lang.Class> getModelTypes ()
+
+
+
+
+
+
+
+ java.io.Writer getOut ()
+
Returns: The current writer
+
+
+
+
+
+
+ void setModelTypes (java.util.Map<java.lang.String, java.lang.Class> modelTypes)
+
+
+
+
+
+
+
+ @java.lang.Override
+final java.io.Writer writeTo (java.io.Writer out)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/GenericViewConfiguration.html b/3.2.3/api/grails/views/GenericViewConfiguration.html
new file mode 100644
index 000000000..b3f197383
--- /dev/null
+++ b/3.2.3/api/grails/views/GenericViewConfiguration.html
@@ -0,0 +1,717 @@
+
+
+
+
+
+
+
+
+
+
+ GenericViewConfiguration (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.GenericViewConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private boolean
+ allowResourceExpansion
+ Whether resource expansion is allowed
+
+
+
+ private java.lang.Class
+ baseTemplateClass
+ The template base class
+
+
+
+ private boolean
+ cache
+ Whether the cache templates
+
+
+
+ private boolean
+ compileStatic
+ Whether to compile templates statically
+
+
+
+ private boolean
+ enableReloading
+ Whether to enable reloading
+
+
+
+ private java.lang.String
+ encoding
+ The encoding to use
+
+
+
+ private java.lang.String
+ extension
+ The file extension of the templates
+
+
+
+ private java.lang.String[]
+ packageImports
+ The default package imports
+
+
+
+ private java.lang.String
+ packageName
+ The package name to use
+
+
+
+ private boolean
+ prettyPrint
+ Whether to pretty print
+
+
+
+ private java.lang.String[]
+ staticImports
+ The default static imports
+
+
+
+ private java.lang.String
+ templatePath
+ The path to the templates
+
+
+
+ private boolean
+ useAbsoluteLinks
+ Whether to use absolute links
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ boolean
+ allowResourceExpansion
Whether resource expansion is allowed
+
+
+
+ java.lang.Class
+ baseTemplateClass
The template base class
+
+
+
+ boolean
+ cache
Whether the cache templates
+
+
+
+ boolean
+ compileStatic
Whether to compile templates statically
+
+
+
+ boolean
+ enableReloading
Whether to enable reloading
+
+
+
+ java.lang.String
+ encoding
The encoding to use
+
+
+
+ java.lang.String
+ extension
The file extension of the templates
+
+
+
+ java.lang.String[]
+ packageImports
The default package imports
+
+
+
+ java.lang.String
+ packageName
The package name to use
+
+
+
+ boolean
+ prettyPrint
Whether to pretty print
+
+
+
+ java.lang.String[]
+ staticImports
The default static imports
+
+
+
+ java.lang.String
+ templatePath
The path to the templates
+
+
+
+ boolean
+ useAbsoluteLinks
Whether to use absolute links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ private java.lang.Class baseTemplateClass
+ The template base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private java.lang.String encoding
+ The encoding to use
+
+
+
+
+
+
+
+
+
+
+
+
+ private java.lang.String packageName
+ The package name to use
+
+
+
+
+
+
+ private boolean prettyPrint
+ Whether to pretty print
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ java.lang.Class baseTemplateClass
+ The template base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ java.lang.String encoding
+ The encoding to use
+
+
+
+
+
+
+
+
+
+
+
+
+ java.lang.String packageName
+ The package name to use
+
+
+
+
+
+
+ boolean prettyPrint
+ Whether to pretty print
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ java.lang.String[] findUniquePackages (GrailsClass [] grailsClasses)
+
+
+
+
+
+
+
+ void readConfiguration (java.io.File configFile)
+
+
+
+
+
+
+
+ void readConfiguration (ConfigMap config)
+
+
+
+
+
+
+
+ @java.lang.Override
+void setGrailsApplication (GrailsApplication grailsApplication)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/GrailsViewTemplate.html b/3.2.3/api/grails/views/GrailsViewTemplate.html
new file mode 100644
index 000000000..e86a2c68f
--- /dev/null
+++ b/3.2.3/api/grails/views/GrailsViewTemplate.html
@@ -0,0 +1,526 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsViewTemplate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.GrailsViewTemplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+ The link generator
+
+
+
+
+
+
+
+ The GORM mapping context
+
+
+
+
+
+
+
+
+
+
+ The mime utility
+
+
+
+
+
+
+ @groovy.lang.Lazy
+private ProxyHandler proxyHandler
+ Handlers for proxies
+
+
+
+
+
+
+ private groovy.text.TemplateEngine templateEngine
+ The template engine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+ The link generator
+
+
+
+
+
+
+
+ The GORM mapping context
+
+
+
+
+
+
+
+
+
+
+ The mime utility
+
+
+
+
+
+
+ @groovy.lang.Lazy
+ProxyHandler proxyHandler
+ Handlers for proxies
+
+
+
+
+
+
+ groovy.text.TemplateEngine templateEngine
+ The template engine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GrailsViewTemplate ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.1.html b/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.1.html
new file mode 100644
index 000000000..3f3b4bb0e
--- /dev/null
+++ b/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.1.html
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+
+ ResolvableGroovyTemplateEngine.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ResolvableGroovyTemplateEngine.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected void
+ initModelTypes (java.lang.Class<? extends WritableScript > templateClass)
+
+
+
+
+ groovy.lang.Writable
+ make ()
+
+
+
+
+ groovy.lang.Writable
+ make (java.util.Map binding)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ResolvableGroovyTemplateEngine.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected void initModelTypes (java.lang.Class<? extends WritableScript > templateClass)
+
+
+
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make ()
+
+
+
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make (java.util.Map binding)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.html b/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.html
new file mode 100644
index 000000000..68d1d9082
--- /dev/null
+++ b/3.2.3/api/grails/views/ResolvableGroovyTemplateEngine.html
@@ -0,0 +1,1028 @@
+
+
+
+
+
+
+
+
+
+
+ ResolvableGroovyTemplateEngine (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ResolvableGroovyTemplateEngine
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+@groovy.util.logging.Slf4j
+abstract class ResolvableGroovyTemplateEngine
+extends groovy.text.TemplateEngine
+
+ A TemplateEngine that can resolve templates using the configured TemplateResolver
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ResolvableGroovyTemplateEngine
+ (ViewConfiguration configuration, java.lang.ClassLoader classLoader)
Creates a ResolvableGroovyTemplateEngine for the given base class name and file extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class groovy.text.TemplateEngine
+ groovy.text.TemplateEngine#createTemplate(java.net.URL), groovy.text.TemplateEngine#createTemplate(java.io.File, java.nio.charset.Charset), groovy.text.TemplateEngine#createTemplate(java.net.URL, java.nio.charset.Charset), groovy.text.TemplateEngine#createTemplate(java.io.File), groovy.text.TemplateEngine#createTemplate(java.io.Reader), groovy.text.TemplateEngine#createTemplate(java.lang.String), groovy.text.TemplateEngine#wait(long), groovy.text.TemplateEngine#wait(long, int), groovy.text.TemplateEngine#wait(), groovy.text.TemplateEngine#equals(java.lang.Object), groovy.text.TemplateEngine#toString(), groovy.text.TemplateEngine#hashCode(), groovy.text.TemplateEngine#getClass(), groovy.text.TemplateEngine#notify(), groovy.text.TemplateEngine#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+ private final groovy.lang.GroovyClassLoader classLoader
+ The class loader to use
+
+
+
+
+
+
+ protected org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration
+ Whether to reload views
+
+
+
+
+
+
+
+
+
+ private final java.lang.String extension
+ The view uri resolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private final boolean shouldCache
+
+
+
+
+
+
+
+ private int templateCounter
+
+
+
+
+
+
+
+
+
+
+ @groovy.lang.Delegate
+private final ViewConfiguration viewConfiguration
+ The view config
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final groovy.lang.GroovyClassLoader classLoader
+ The class loader to use
+
+
+
+
+
+
+
+
+
+ final java.lang.String extension
+ The view uri resolver
+
+
+
+
+
+
+ final boolean shouldCache
+
+
+
+
+
+
+
+
+
+
+ @groovy.lang.Delegate
+final ViewConfiguration viewConfiguration
+ The view config
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.codehaus.groovy.control.CompilerConfiguration getCompilerConfiguration ()
+
+
+
+
+
+
+
+ abstract java.lang.String getDynamicTemplatePrefix ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ protected void prepareCustomizers (org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+void setLinkGenerator (LinkGenerator linkGenerator)
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+@org.springframework.beans.factory.annotation.Qualifier(value: grailsDomainClassMappingContext)
+void setMappingContext (MappingContext mappingContext)
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+void setMessageSource (MessageSource messageSource)
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+void setMimeUtility (MimeUtility mimeUtility)
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired(required: false)
+void setProxyHandler (ProxyHandler proxyHandler)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/TemplateResolver.html b/3.2.3/api/grails/views/TemplateResolver.html
new file mode 100644
index 000000000..c4f54c1ba
--- /dev/null
+++ b/3.2.3/api/grails/views/TemplateResolver.html
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+ TemplateResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.net.URL
+ resolveTemplate (java.lang.String path)
Resolves the URL to a template using the given path
+
+
+
+
+ abstract java.lang.Class<? extends groovy.text.Template>
+ resolveTemplateClass (java.lang.String path)
Resolves a template class for the path
+
+
+
+
+ abstract java.lang.Class<? extends groovy.text.Template>
+ resolveTemplateClass (java.lang.String packageName, java.lang.String path)
Resolves a template class for the path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewCompilationException.html b/3.2.3/api/grails/views/ViewCompilationException.html
new file mode 100644
index 000000000..41f69a46f
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewCompilationException.html
@@ -0,0 +1,372 @@
+
+
+
+
+
+
+
+
+
+
+ ViewCompilationException (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ViewCompilationException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.String
+ fileName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.String
+ fileName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ViewCompilationException
+ (org.codehaus.groovy.control.CompilationFailedException cause, java.lang.String fileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ int
+ getLineNumber ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.String fileName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.String fileName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewCompilationException (org.codehaus.groovy.control.CompilationFailedException cause, java.lang.String fileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+int getLineNumber ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewConfiguration.html b/3.2.3/api/grails/views/ViewConfiguration.html
new file mode 100644
index 000000000..9c247546b
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewConfiguration.html
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+
+
+
+
+ ViewConfiguration (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.Class
+ getBaseTemplateClass ()
Returns: The template base class
+
+
+
+
+ abstract java.lang.String
+ getEncoding ()
Returns: The default encoding to use to render views
+
+
+
+
+ abstract java.lang.String
+ getExtension ()
Returns: The file extension
+
+
+
+
+ abstract java.lang.String[]
+ getPackageImports ()
Returns: The packages to automatically import
+
+
+
+
+ abstract java.lang.String
+ getPackageName ()
Returns: The package name
+
+
+
+
+ abstract java.lang.String[]
+ getStaticImports ()
Returns: The static imports to automatically import
+
+
+
+
+ abstract java.lang.String
+ getTemplatePath ()
Returns: Path to the templates
+
+
+
+
+ abstract java.lang.String
+ getViewModuleName ()
Returns: The name of the views module (example json or markup)
+
+
+
+
+ abstract boolean
+ isAllowResourceExpansion ()
Returns: Whether to allow resource expansion
+
+
+
+
+ abstract boolean
+ isCache ()
Returns: Whether to cache
+
+
+
+
+ abstract boolean
+ isCompileStatic ()
Returns: Should compile statically
+
+
+
+
+ abstract boolean
+ isEnableReloading ()
Returns: Whether reloading is enabled
+
+
+
+
+ abstract boolean
+ isPrettyPrint ()
Returns: Whether to pretty print
+
+
+
+
+ abstract boolean
+ isUseAbsoluteLinks ()
Returns: Whether to use absolute links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract java.lang.Class getBaseTemplateClass ()
+
Returns: The template base class
+
+
+
+
+
+
+ abstract java.lang.String getEncoding ()
+
Returns: The default encoding to use to render views
+
+
+
+
+
+
+ abstract java.lang.String getExtension ()
+
Returns: The file extension
+
+
+
+
+
+
+ abstract java.lang.String[] getPackageImports ()
+
Returns: The packages to automatically import
+
+
+
+
+
+
+ abstract java.lang.String getPackageName ()
+
Returns: The package name
+
+
+
+
+
+
+ abstract java.lang.String[] getStaticImports ()
+
Returns: The static imports to automatically import
+
+
+
+
+
+
+ abstract java.lang.String getTemplatePath ()
+
Returns: Path to the templates
+
+
+
+
+
+
+ abstract java.lang.String getViewModuleName ()
+
Returns: The name of the views module (example json or markup)
+
+
+
+
+
+
+ abstract boolean isAllowResourceExpansion ()
+
Returns: Whether to allow resource expansion
+
+
+
+
+
+
+ abstract boolean isCache ()
+
Returns: Whether to cache
+
+
+
+
+
+
+ abstract boolean isCompileStatic ()
+
Returns: Should compile statically
+
+
+
+
+
+
+ abstract boolean isEnableReloading ()
+
Returns: Whether reloading is enabled
+
+
+
+
+
+
+ abstract boolean isPrettyPrint ()
+
Returns: Whether to pretty print
+
+
+
+
+
+
+ abstract boolean isUseAbsoluteLinks ()
+
Returns: Whether to use absolute links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewException.html b/3.2.3/api/grails/views/ViewException.html
new file mode 100644
index 000000000..bc19dd802
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewException.html
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+ ViewException (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ViewException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ViewException
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.RuntimeException
+ java.lang.RuntimeException#printStackTrace(), java.lang.RuntimeException#printStackTrace(java.io.PrintWriter), java.lang.RuntimeException#printStackTrace(java.io.PrintStream), java.lang.RuntimeException#fillInStackTrace(), java.lang.RuntimeException#getCause(), java.lang.RuntimeException#initCause(java.lang.Throwable), java.lang.RuntimeException#toString(), java.lang.RuntimeException#getMessage(), java.lang.RuntimeException#getSuppressed(), java.lang.RuntimeException#getLocalizedMessage(), java.lang.RuntimeException#getStackTrace(), java.lang.RuntimeException#setStackTrace([Ljava.lang.StackTraceElement;), java.lang.RuntimeException#addSuppressed(java.lang.Throwable), java.lang.RuntimeException#wait(long), java.lang.RuntimeException#wait(long, int), java.lang.RuntimeException#wait(), java.lang.RuntimeException#equals(java.lang.Object), java.lang.RuntimeException#hashCode(), java.lang.RuntimeException#getClass(), java.lang.RuntimeException#notify(), java.lang.RuntimeException#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewException ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewRenderException.html b/3.2.3/api/grails/views/ViewRenderException.html
new file mode 100644
index 000000000..4ce5c3b99
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewRenderException.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+ ViewRenderException (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ViewRenderException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final int lineNumber
+
+
+
+
+
+
+
+ private final java.io.File sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final int lineNumber
+
+
+
+
+
+
+
+ final java.io.File sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewRenderException (java.lang.String message, java.lang.Throwable cause, WritableScript view)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ java.lang.StackTraceElement findFirstElementCausedByScript ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getFileName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewUriResolver.html b/3.2.3/api/grails/views/ViewUriResolver.html
new file mode 100644
index 000000000..192c3322e
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewUriResolver.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+ ViewUriResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.String
+ resolveTemplateUri (java.lang.String controllerName, java.lang.String templateName)
Resolves a template URI for the given path
+
+
+
+
+ abstract java.lang.String
+ resolveTemplateUri (java.lang.String controllerNamespace, java.lang.String controllerName, java.lang.String templateName)
Resolves a template URI for the given path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/Views.html b/3.2.3/api/grails/views/Views.html
new file mode 100644
index 000000000..c6f312d9c
--- /dev/null
+++ b/3.2.3/api/grails/views/Views.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+ Views (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+ | Detail:
+ Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ MODEL
+ The identifier used for model types
+
+
+
+ static java.lang.String
+ MODEL_TYPES
+ The identifier used for model types
+
+
+
+ static java.lang.String
+ MODEL_TYPES_FIELD
+ Field used to hold the model types
+
+
+
+ static java.lang.String
+ TYPE
+ The artefact type identifier for Grails
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+ | Detail:
+ Field Method
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/ViewsEnvironment.html b/3.2.3/api/grails/views/ViewsEnvironment.html
new file mode 100644
index 000000000..9681bdcb3
--- /dev/null
+++ b/3.2.3/api/grails/views/ViewsEnvironment.html
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
+
+ ViewsEnvironment (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.ViewsEnvironment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private static boolean
+ DEVELOPMENT_MODE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ViewsEnvironment
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ static boolean
+ isDevelopmentMode ()
Returns: Whether development mode is enabled
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private static final boolean DEVELOPMENT_MODE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewsEnvironment ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ static boolean isDevelopmentMode ()
+
Returns: Whether development mode is enabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WritableScript.html b/3.2.3/api/grails/views/WritableScript.html
new file mode 100644
index 000000000..71e341735
--- /dev/null
+++ b/3.2.3/api/grails/views/WritableScript.html
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+
+
+
+ WritableScript (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.WriterProvider
+
+
+
+
+
+
+ All Superinterfaces:
+ WriterProvider
+
+
+
+
+
+@groovy.transform.CompileStatic
+interface WritableScript
+extends groovy.lang.Writable, WriterProvider
+
+ Interface for scripts that are writable
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ groovy.lang.Binding
+ binding
+
+
+
+ java.io.File
+ sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract groovy.lang.Binding
+ getBinding ()
Returns: Obtains the binding
+
+
+
+
+ abstract java.io.File
+ getSourceFile ()
Obtains the source file
+
+
+
+
+ abstract java.lang.Object
+ run ()
Runs the script and returns the result
+
+
+
+
+ abstract void
+ setBinding (groovy.lang.Binding binding)
Sets the binding
+
+
+
+
+ abstract void
+ setSourceFile (java.io.File file)
Parameters: file
- Sets the source file
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ interface groovy.lang.Writable
+ groovy.lang.Writable#writeTo(java.io.Writer)
+
+
+ interface WriterProvider
+ getOut
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ groovy.lang.Binding binding
+
+
+
+
+
+
+
+ java.io.File sourceFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract groovy.lang.Binding getBinding ()
+
Returns: Obtains the binding
+
+
+
+
+
+
+ abstract java.io.File getSourceFile ()
+ Obtains the source file
+
+
+
+
+
+
+
+
+
+ abstract void setBinding (groovy.lang.Binding binding)
+ Sets the binding
Parameters: binding
- The binding
+
+
+
+
+
+
+ abstract void setSourceFile (java.io.File file)
+
Parameters: file
- Sets the source file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WritableScriptTemplate.FieldSetter.html b/3.2.3/api/grails/views/WritableScriptTemplate.FieldSetter.html
new file mode 100644
index 000000000..6639d3ce0
--- /dev/null
+++ b/3.2.3/api/grails/views/WritableScriptTemplate.FieldSetter.html
@@ -0,0 +1,415 @@
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate.FieldSetter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.WritableScriptTemplate.FieldSetter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.reflect.Field
+ field
+
+
+
+
+ private java.lang.Class
+ type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.reflect.Field
+ field
+
+
+
+ java.lang.Class
+ type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ FieldSetter
+ (java.lang.reflect.Field field)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.reflect.Field field
+
+
+
+
+
+
+
+ private final java.lang.Class type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.reflect.Field field
+
+
+
+
+
+
+
+ final java.lang.Class type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ FieldSetter (java.lang.reflect.Field field)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WritableScriptTemplate.MethodSetter.html b/3.2.3/api/grails/views/WritableScriptTemplate.MethodSetter.html
new file mode 100644
index 000000000..818c2ccac
--- /dev/null
+++ b/3.2.3/api/grails/views/WritableScriptTemplate.MethodSetter.html
@@ -0,0 +1,415 @@
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate.MethodSetter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.WritableScriptTemplate.MethodSetter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.lang.reflect.Method
+ method
+
+
+
+
+ private java.lang.Class
+ type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.reflect.Method
+ method
+
+
+
+ java.lang.Class
+ type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ MethodSetter
+ (java.lang.Class type, java.lang.reflect.Method method)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.reflect.Method method
+
+
+
+
+
+
+
+ private final java.lang.Class type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.reflect.Method method
+
+
+
+
+
+
+
+ final java.lang.Class type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MethodSetter (java.lang.Class type, java.lang.reflect.Method method)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WritableScriptTemplate.VariableSetter.html b/3.2.3/api/grails/views/WritableScriptTemplate.VariableSetter.html
new file mode 100644
index 000000000..66d5ffdc1
--- /dev/null
+++ b/3.2.3/api/grails/views/WritableScriptTemplate.VariableSetter.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate.VariableSetter (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.Class
+ getType ()
+
+
+
+
+ abstract void
+ invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract java.lang.Class getType ()
+
+
+
+
+
+
+
+ abstract void invoke (WritableScript template, java.lang.Object value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WritableScriptTemplate.html b/3.2.3/api/grails/views/WritableScriptTemplate.html
new file mode 100644
index 000000000..63a56ed76
--- /dev/null
+++ b/3.2.3/api/grails/views/WritableScriptTemplate.html
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.WritableScriptTemplate
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private long
+ lastModified
+ The last modified stamp of the source file. -1 if no source file.
+
+
+
+ protected java.util.Map<java.lang.String, VariableSetter>
+ modelSetters
+
+
+
+
+ private boolean
+ prettyPrint
+ Whether to pretty print the template
+
+
+
+ private java.io.File
+ sourceFile
+ The source file of the template.
+
+
+
+ private java.lang.Class<? extends GrailsView >
+ templateClass
+ The class of the template
+
+
+
+ private java.lang.String
+ templatePath
+ The resolved template path
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ long
+ lastModified
The last modified stamp of the source file. -1 if no source file.
+
+
+
+ boolean
+ prettyPrint
Whether to pretty print the template
+
+
+
+ java.io.File
+ sourceFile
The source file of the template.
+
+
+
+ java.lang.Class<? extends GrailsView >
+ templateClass
The class of the template
+
+
+
+ java.lang.String
+ templatePath
The resolved template path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.String
+ getParentPath ()
The path to the parent directory that containers the template
+
+
+
+
+ protected void
+ initModelTypes (java.lang.Class<? extends WritableScript > templateClass)
+
+
+
+
+ groovy.lang.Writable
+ make ()
+
+
+
+
+ groovy.lang.Writable
+ make (java.util.Map binding)
+
+
+
+
+ boolean
+ wasModified ()
Returns: Whether the template has been modified
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ protected final java.util.Map<java.lang.String, VariableSetter> modelSetters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ WritableScriptTemplate (java.lang.Class<? extends GrailsView > templateClass)
+
+
+
+
+
+
+
+ WritableScriptTemplate (java.lang.Class<? extends GrailsView > templateClass, java.io.File sourceFile)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ protected void initModelTypes (java.lang.Class<? extends WritableScript > templateClass)
+
+
+
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make ()
+
+
+
+
+
+
+
+ @java.lang.Override
+groovy.lang.Writable make (java.util.Map binding)
+
+
+
+
+
+
+
+ boolean wasModified ()
+
Returns: Whether the template has been modified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/WriterProvider.html b/3.2.3/api/grails/views/WriterProvider.html
new file mode 100644
index 000000000..aa8372b7b
--- /dev/null
+++ b/3.2.3/api/grails/views/WriterProvider.html
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+ WriterProvider (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.io.Writer
+ getOut ()
Returns: The current writer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract java.io.Writer getOut ()
+
Returns: The current writer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/GrailsView.html b/3.2.3/api/grails/views/api/GrailsView.html
new file mode 100644
index 000000000..df71ec7ea
--- /dev/null
+++ b/3.2.3/api/grails/views/api/GrailsView.html
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsView (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.api.GrailsView
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ WritableScript , WriterProvider
+
+
+
+
+
+
+
+@groovy.transform.Trait
+@groovy.transform.CompileStatic
+trait GrailsView
+extends HttpView
+implements WritableScript , WriterProvider
+
+ A trait for all view types to extend to add methods to generate links, render other templates and so on
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ trait HttpView
+ getPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.lang.String actionName
+
Returns: The current action name
+
+
+
+
+
+
+ private Config config
+
Returns: The configuration
+
+
+
+
+
+
+ private java.lang.String controllerName
+
Returns: The current controller name
+
+
+
+
+
+
+ private java.lang.String controllerNamespace
+
Returns: The current controller namespace
+
+
+
+
+
+
+ private boolean prettyPrint
+ Whether to pretty print
+
+
+
+
+
+
+
+
+
+
+ The view template
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.lang.String actionName
+
Returns: The current action name
+
+
+
+
+
+
+
+
Returns: The configuration
+
+
+
+
+
+
+ java.lang.String controllerName
+
Returns: The current controller name
+
+
+
+
+
+
+ java.lang.String controllerNamespace
+
Returns: The current controller namespace
+
+
+
+
+
+
+ boolean prettyPrint
+ Whether to pretty print
+
+
+
+
+
+
+
+ The view template
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
Returns: Obtain the view helper
+
+
+
+
+
+
+
+ The link generator
+
+
+
+
+
+
+
+ The GORM mapping context
+
+
+
+
+
+
+
+
+
+
+ The mime utility
+
+
+
+
+
+
+
+ Handlers for proxies
+
+
+
+
+
+
+
+ The template engine
+
+
+
+
+
+
+ void model (groovy.lang.Closure modelDefinition)
+ Defines the model
Parameters: modelDefinition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/GrailsViewHelper.html b/3.2.3/api/grails/views/api/GrailsViewHelper.html
new file mode 100644
index 000000000..8776b24d2
--- /dev/null
+++ b/3.2.3/api/grails/views/api/GrailsViewHelper.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+grails.web.mapping.LinkGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.String
+ message (java.util.Map arguments)
Obtains a i18n message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract java.lang.String message (java.util.Map arguments)
+ Obtains a i18n message
Parameters: arguments
- The argumentsReturns: The message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/HttpView.html b/3.2.3/api/grails/views/api/HttpView.html
new file mode 100644
index 000000000..8e1c95fe7
--- /dev/null
+++ b/3.2.3/api/grails/views/api/HttpView.html
@@ -0,0 +1,397 @@
+
+
+
+
+
+
+
+
+
+
+ HttpView (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.api.HttpView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+ Inherited fields
+
+ Fields inherited from class
+ Fields
+
+
+ trait View
+ locale , out
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ private Request request
+
Returns: The request object
+
+
+
+
+
+
+ private Response response
+
Returns: The page object
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
Returns: The request object
+
+
+
+
+
+
+
+
Returns: The page object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/View.html b/3.2.3/api/grails/views/api/View.html
new file mode 100644
index 000000000..d3be8ecbe
--- /dev/null
+++ b/3.2.3/api/grails/views/api/View.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+ View (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.util.Locale
+ locale
+ The locale of the view
+
+
+
+ private java.io.Writer
+ out
+ The output stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.util.Locale
+ locale
The locale of the view
+
+
+
+ java.io.Writer
+ out
The output stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private java.util.Locale locale
+ The locale of the view
+
+
+
+
+
+
+ private java.io.Writer out
+ The output stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.util.Locale locale
+ The locale of the view
+
+
+
+
+
+
+ java.io.Writer out
+ The output stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/http/Parameters.html b/3.2.3/api/grails/views/api/http/Parameters.html
new file mode 100644
index 000000000..2f816d5b0
--- /dev/null
+++ b/3.2.3/api/grails/views/api/http/Parameters.html
@@ -0,0 +1,606 @@
+
+
+
+
+
+
+
+
+
+
+ Parameters (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract boolean
+ asBoolean ()
Returns: The parameters as a boolean value.
+
+
+
+
+ abstract java.lang.Boolean
+ boolean (java.lang.String name)
Obtains the value of a parameter as a Boolean
+
+
+
+
+ abstract java.lang.Boolean
+ boolean (java.lang.String name, java.lang.Boolean defaultValue)
Obtains the value of a parameter as a Boolean
+
+
+
+
+ abstract java.lang.Byte
+ byte (java.lang.String name)
Obtains the value of a parameter as a byte
+
+
+
+
+ abstract java.lang.Byte
+ byte (java.lang.String name, java.lang.Integer defaultValue)
Obtains the value of a parameter as a byte
+
+
+
+
+ abstract java.lang.Character
+ char (java.lang.String name)
Obtains the value of a parameter as a character
+
+
+
+
+ abstract java.lang.Character
+ char (java.lang.String name, java.lang.Character defaultValue)
Obtains the value of a parameter as a character
+
+
+
+
+ abstract boolean
+ containsKey (java.lang.Object key)
Returns: Whether or not the key exists
+
+
+
+
+ abstract java.util.Date
+ date (java.lang.String name)
Obtains the value of a parameter as a Date
+
+
+
+
+ abstract java.util.Date
+ date (java.lang.String name, java.lang.String format)
Obtains the value of a parameter as a Date
+
+
+
+
+ abstract java.lang.Double
+ double (java.lang.String name)
Obtains the value of a parameter as a Double
+
+
+
+
+ abstract java.lang.Double
+ double (java.lang.String name, java.lang.Double defaultValue)
Obtains the value of a parameter as a Double
+
+
+
+
+ abstract java.lang.Float
+ float (java.lang.String name)
Obtains the value of a parameter as a Float
+
+
+
+
+ abstract java.lang.Float
+ float (java.lang.String name, java.lang.Float defaultValue)
Obtains the value of a parameter as a Float
+
+
+
+
+ abstract java.lang.String
+ get (java.lang.String name)
Obtains the value of a parameter
+
+
+
+
+ abstract java.lang.String
+ get (java.lang.String name, java.lang.String defaultValue)
Obtains the value of a parameter
+
+
+
+
+ abstract java.lang.String
+ getAt (java.lang.Object key)
The same as get(java.lang.String)
+
+
+
+
+ abstract java.lang.Object
+ getProperty (java.lang.String name)
The same as get(java.lang.String)
+
+
+
+
+ abstract java.lang.Integer
+ int (java.lang.String name)
Obtains the value of a parameter as an integer
+
+
+
+
+ abstract java.lang.Integer
+ int (java.lang.String name, java.lang.Integer defaultValue)
Obtains the value of a parameter as an integer
+
+
+
+
+ abstract boolean
+ isEmpty ()
Returns: Whether there are any parameters
+
+
+
+
+ abstract java.util.Set<java.lang.String>
+ keySet ()
Returns: The parameter names
+
+
+
+
+ abstract java.util.List<java.lang.String>
+ list (java.lang.String name)
Returns value of the parameter as a list of values
+
+
+
+
+ abstract java.lang.Long
+ long (java.lang.String name)
Obtains the value of a parameter as a Long
+
+
+
+
+ abstract java.lang.Long
+ long (java.lang.String name, java.lang.Long defaultValue)
Obtains the value of a parameter as a Long
+
+
+
+
+ abstract java.lang.Short
+ short (java.lang.String name)
Obtains the value of a parameter as a Short
+
+
+
+
+ abstract java.lang.Short
+ short (java.lang.String name, java.lang.Integer defaultValue)
Obtains the value of a parameter as a character
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ abstract boolean asBoolean ()
+
Returns: The parameters as a boolean value. True if not empty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abstract boolean containsKey (java.lang.Object key)
+
Returns: Whether or not the key exists
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abstract boolean isEmpty ()
+
Returns: Whether there are any parameters
+
+
+
+
+
+
+ abstract java.util.Set<java.lang.String> keySet ()
+
Returns: The parameter names
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/http/Request.html b/3.2.3/api/grails/views/api/http/Request.html
new file mode 100644
index 000000000..68064edb5
--- /dev/null
+++ b/3.2.3/api/grails/views/api/http/Request.html
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+
+
+
+
+ Request (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract java.lang.Object
+ getAttribute (java.lang.String name)
Obtains the value of an attribute
+
+
+
+
+ abstract java.util.Collection<java.lang.String>
+ getAttributeNames ()
Returns: All of the attribute names
+
+
+
+
+ abstract java.lang.String
+ getCharacterEncoding ()
Returns: The request character encoding
+
+
+
+
+ abstract java.lang.String
+ getContentType ()
Returns: The request content type
+
+
+
+
+ abstract java.lang.String
+ getContextPath ()
Returns: The context path
+
+
+
+
+ abstract java.lang.String
+ getHeader (java.lang.String name)
Obtains the value of a header
+
+
+
+
+ abstract java.util.Collection<java.lang.String>
+ getHeaderNames ()
Returns: The header for the request
+
+
+
+
+ abstract java.util.Collection<java.lang.String>
+ getHeaders (java.lang.String name)
Obtains all the values for the give header
+
+
+
+
+ abstract java.lang.String
+ getMethod ()
Returns: The request method
+
+
+
+
+ abstract java.lang.String
+ getUri ()
Returns: The request URI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ abstract java.util.Collection<java.lang.String> getAttributeNames ()
+
Returns: All of the attribute names
+
+
+
+
+
+
+ abstract java.lang.String getCharacterEncoding ()
+
Returns: The request character encoding
+
+
+
+
+
+
+ abstract java.lang.String getContentType ()
+
Returns: The request content type
+
+
+
+
+
+
+ abstract java.lang.String getContextPath ()
+
Returns: The context path
+
+
+
+
+
+
+
+
+
+ abstract java.util.Collection<java.lang.String> getHeaderNames ()
+
Returns: The header for the request
+
+
+
+
+
+
+
+
+
+ abstract java.lang.String getMethod ()
+
Returns: The request method
+
+
+
+
+
+
+ abstract java.lang.String getUri ()
+
Returns: The request URI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/http/Response.html b/3.2.3/api/grails/views/api/http/Response.html
new file mode 100644
index 000000000..ff80a202a
--- /dev/null
+++ b/3.2.3/api/grails/views/api/http/Response.html
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+
+
+
+
+ Response (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+interface Response
+
+ Allows control over the page response (headers, content type, status)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ abstract void
+ contentType (java.lang.String contentType)
Set the response content type
+
+
+
+
+ abstract void
+ encoding (java.lang.String encoding)
Sets the response encoding
+
+
+
+
+ abstract void
+ header (java.lang.String name, java.lang.String value)
Set a response header
+
+
+
+
+ abstract void
+ header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
Set a single named value header
+
+
+
+
+ abstract void
+ headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
Set multiple headers
+
+
+
+
+ abstract void
+ status (int status)
Sets the response status
+
+
+
+
+ abstract void
+ status (int status, java.lang.String message)
Sets the response status
+
+
+
+
+ abstract void
+ status (HttpStatus status)
Sets the response status
+
+
+
+
+ abstract void
+ status (HttpStatus status, java.lang.String message)
Sets the response status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+ abstract void header (java.lang.String name, java.lang.String value)
+ Set a response header
Parameters: name
- The name of the headervalue
- The value of the header
+
+
+
+
+
+
+
+
+
+ abstract void headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+ Set multiple headers
Parameters: namesAndValues
- The names and values
+
+
+
+
+
+
+ abstract void status (int status)
+ Sets the response status
Parameters: status
- The status
+
+
+
+
+
+
+ abstract void status (int status, java.lang.String message)
+ Sets the response status
Parameters: status
- The status
+
+
+
+
+
+
+ abstract void status (HttpStatus status)
+ Sets the response status
Parameters: status
- The status
+
+
+
+
+
+
+ abstract void status (HttpStatus status, java.lang.String message)
+ Sets the response status
Parameters: status
- The status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary:
+ Nested Field Method
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/http/package-frame.html b/3.2.3/api/grails/views/api/http/package-frame.html
new file mode 100644
index 000000000..a1ccb3ec1
--- /dev/null
+++ b/3.2.3/api/grails/views/api/http/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.api.http
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/http/package-summary.html b/3.2.3/api/grails/views/api/http/package-summary.html
new file mode 100644
index 000000000..902a61815
--- /dev/null
+++ b/3.2.3/api/grails/views/api/http/package-summary.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+grails.views.api.http (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface Summary
+
+
+ Interface
+ Description
+
+
+
+
+ Parameters
+
+
+ Represents HTTP parameters
+
+
+
+
+ Request
+
+
+ Allows access to request properties
+
+
+
+
+ Response
+
+
+ Allows control over the page response (headers, content type, status)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/internal/DefaultGrailsViewHelper.html b/3.2.3/api/grails/views/api/internal/DefaultGrailsViewHelper.html
new file mode 100644
index 000000000..5792dad44
--- /dev/null
+++ b/3.2.3/api/grails/views/api/internal/DefaultGrailsViewHelper.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultGrailsViewHelper (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.api.internal.DefaultGrailsViewHelper
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ GrailsViewHelper
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+class DefaultGrailsViewHelper
+extends java.lang.Object
+implements GrailsViewHelper
+
+ Default methods for views, additional methods can be added via traits
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private GrailsView
+ view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ GrailsView
+ view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected void
+ ensureAbsolute (java.util.Map params)
+
+
+
+
+ java.lang.String
+ getContextPath ()
+
+
+
+
+ LinkGenerator
+ getLinkGenerator ()
+
+
+
+
+ java.lang.String
+ getServerBaseURL ()
+
+
+
+
+ java.lang.String
+ link (java.util.Map params)
+
+
+
+
+ java.lang.String
+ link (java.util.Map params, java.lang.String encoding)
+
+
+
+
+ java.lang.String
+ message (java.util.Map arguments)
+
+
+
+
+ java.lang.String
+ resource (java.util.Map params)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ DefaultGrailsViewHelper (GrailsView view)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected void ensureAbsolute (java.util.Map params)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getContextPath ()
+
+
+
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getServerBaseURL ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String link (java.util.Map params)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String link (java.util.Map params, java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String message (java.util.Map arguments)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String resource (java.util.Map params)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/internal/EmptyParameters.html b/3.2.3/api/grails/views/api/internal/EmptyParameters.html
new file mode 100644
index 000000000..9f5d78d96
--- /dev/null
+++ b/3.2.3/api/grails/views/api/internal/EmptyParameters.html
@@ -0,0 +1,699 @@
+
+
+
+
+
+
+
+
+
+
+ EmptyParameters (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.api.internal.EmptyParameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ EmptyParameters
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ boolean
+ asBoolean ()
+
+
+
+
+ java.lang.Boolean
+ boolean (java.lang.String name)
+
+
+
+
+ java.lang.Boolean
+ boolean (java.lang.String name, java.lang.Boolean defaultValue)
+
+
+
+
+ java.lang.Byte
+ byte (java.lang.String name)
+
+
+
+
+ java.lang.Byte
+ byte (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+ java.lang.Character
+ char (java.lang.String name)
+
+
+
+
+ java.lang.Character
+ char (java.lang.String name, java.lang.Character defaultValue)
+
+
+
+
+ boolean
+ containsKey (java.lang.Object key)
+
+
+
+
+ java.util.Date
+ date (java.lang.String name)
+
+
+
+
+ java.util.Date
+ date (java.lang.String name, java.lang.String format)
+
+
+
+
+ java.lang.Double
+ double (java.lang.String name)
+
+
+
+
+ java.lang.Double
+ double (java.lang.String name, java.lang.Double defaultValue)
+
+
+
+
+ java.lang.Float
+ float (java.lang.String name)
+
+
+
+
+ java.lang.Float
+ float (java.lang.String name, java.lang.Float defaultValue)
+
+
+
+
+ java.lang.String
+ get (java.lang.String name)
+
+
+
+
+ java.lang.String
+ get (java.lang.String name, java.lang.String defaultValue)
+
+
+
+
+ java.lang.String
+ getAt (java.lang.Object key)
+
+
+
+
+ java.lang.Object
+ getProperty (java.lang.String property)
+
+
+
+
+ java.lang.Integer
+ int (java.lang.String name)
+
+
+
+
+ java.lang.Integer
+ int (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+ boolean
+ isEmpty ()
+
+
+
+
+ java.util.Set<java.lang.String>
+ keySet ()
+
+
+
+
+ java.util.List<java.lang.String>
+ list (java.lang.String name)
+
+
+
+
+ java.lang.Long
+ long (java.lang.String name)
+
+
+
+
+ java.lang.Long
+ long (java.lang.String name, java.lang.Long defaultValue)
+
+
+
+
+ java.lang.Short
+ short (java.lang.String name)
+
+
+
+
+ java.lang.Short
+ short (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ EmptyParameters ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+boolean asBoolean ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Boolean boolean (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Boolean boolean (java.lang.String name, java.lang.Boolean defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Byte byte (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Byte byte (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Character char (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Character char (java.lang.String name, java.lang.Character defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean containsKey (java.lang.Object key)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Date date (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Date date (java.lang.String name, java.lang.String format)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Double double (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Double double (java.lang.String name, java.lang.Double defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Float float (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Float float (java.lang.String name, java.lang.Float defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String get (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String get (java.lang.String name, java.lang.String defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getAt (java.lang.Object key)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Object getProperty (java.lang.String property)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Integer int (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Integer int (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean isEmpty ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Set<java.lang.String> keySet ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.List<java.lang.String> list (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Long long (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Long long (java.lang.String name, java.lang.Long defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Short short (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Short short (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/internal/package-frame.html b/3.2.3/api/grails/views/api/internal/package-frame.html
new file mode 100644
index 000000000..f9f254ec6
--- /dev/null
+++ b/3.2.3/api/grails/views/api/internal/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.api.internal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/internal/package-summary.html b/3.2.3/api/grails/views/api/internal/package-summary.html
new file mode 100644
index 000000000..2c1348c47
--- /dev/null
+++ b/3.2.3/api/grails/views/api/internal/package-summary.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+grails.views.api.internal (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/package-frame.html b/3.2.3/api/grails/views/api/package-frame.html
new file mode 100644
index 000000000..184af361f
--- /dev/null
+++ b/3.2.3/api/grails/views/api/package-frame.html
@@ -0,0 +1,66 @@
+
+
+
+
+ grails.views.api
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/api/package-summary.html b/3.2.3/api/grails/views/api/package-summary.html
new file mode 100644
index 000000000..6d84f3c96
--- /dev/null
+++ b/3.2.3/api/grails/views/api/package-summary.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+grails.views.api (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface Summary
+
+
+ Interface
+ Description
+
+
+
+
+ GrailsViewHelper
+
+
+ Methods available via the 'g' namespace in views
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trait Summary
+
+
+ Trait
+ Description
+
+
+
+
+ GrailsView
+
+
+ A trait for all view types to extend to add methods to generate links, render other templates and so on
+
+
+
+
+ HttpView
+
+
+ A view that is rendered in the context of an HTTP request
+
+
+
+
+ View
+
+
+ Authors: Graeme Rocher
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html b/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html
new file mode 100644
index 000000000..9a5642808
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html
@@ -0,0 +1,443 @@
+
+
+
+
+
+
+
+
+
+
+ BuilderTypeCheckingExtension.BuilderMethodReplacer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.compiler.BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private org.codehaus.groovy.ast.expr.Expression
+ builderExpression
+
+
+
+
+ private org.codehaus.groovy.ast.MethodNode
+ builderInvokeMethod
+
+
+
+
+ private java.lang.String
+ builderVariableName
+
+
+
+
+ private java.util.Set<org.codehaus.groovy.ast.expr.MethodCallExpression>
+ callsToBeReplaced
+
+
+
+
+ private org.codehaus.groovy.ast.MethodNode
+ delegateInvokeMethod
+
+
+
+
+ private org.codehaus.groovy.control.SourceUnit
+ unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ BuilderMethodReplacer
+ (org.codehaus.groovy.ast.MethodNode builderInvokeMethod, org.codehaus.groovy.ast.MethodNode delegateInvokeMethod, java.lang.String builderVariableName, org.codehaus.groovy.control.SourceUnit unit, java.util.Set<org.codehaus.groovy.ast.expr.MethodCallExpression> callsToBeReplaced)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected org.codehaus.groovy.control.SourceUnit
+ getSourceUnit ()
+
+
+
+
+ org.codehaus.groovy.ast.expr.Expression
+ transform (org.codehaus.groovy.ast.expr.Expression exp)
+
+
+
+
+ void
+ visitClosureExpression (org.codehaus.groovy.ast.expr.ClosureExpression expression)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class org.codehaus.groovy.ast.ClassCodeExpressionTransformer
+ org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#transform(org.codehaus.groovy.ast.expr.Expression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long, int), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#toString(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#hashCode(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#getClass(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notify(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notifyAll(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListOfExpressions(java.util.List)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private org.codehaus.groovy.ast.expr.Expression builderExpression
+
+
+
+
+
+
+
+ private final org.codehaus.groovy.ast.MethodNode builderInvokeMethod
+
+
+
+
+
+
+
+ private final java.lang.String builderVariableName
+
+
+
+
+
+
+
+ private final java.util.Set<org.codehaus.groovy.ast.expr.MethodCallExpression> callsToBeReplaced
+
+
+
+
+
+
+
+ private final org.codehaus.groovy.ast.MethodNode delegateInvokeMethod
+
+
+
+
+
+
+
+ private final org.codehaus.groovy.control.SourceUnit unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ BuilderMethodReplacer (org.codehaus.groovy.ast.MethodNode builderInvokeMethod, org.codehaus.groovy.ast.MethodNode delegateInvokeMethod, java.lang.String builderVariableName, org.codehaus.groovy.control.SourceUnit unit, java.util.Set<org.codehaus.groovy.ast.expr.MethodCallExpression> callsToBeReplaced)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+protected org.codehaus.groovy.control.SourceUnit getSourceUnit ()
+
+
+
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileDynamic
+org.codehaus.groovy.ast.expr.Expression transform (org.codehaus.groovy.ast.expr.Expression exp)
+
+
+
+
+
+
+
+ @java.lang.Override
+void visitClosureExpression (org.codehaus.groovy.ast.expr.ClosureExpression expression)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.html b/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.html
new file mode 100644
index 000000000..0a0059435
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/BuilderTypeCheckingExtension.html
@@ -0,0 +1,520 @@
+
+
+
+
+
+
+
+
+
+
+ BuilderTypeCheckingExtension (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.compiler.BuilderTypeCheckingExtension
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+abstract class BuilderTypeCheckingExtension
+extends org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL
+
+ An abstract type checking extension for view DSLs to implement
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private boolean
+ insideScope
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ boolean
+ insideScope
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ beforeMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression)
+
+
+
+
+ abstract org.codehaus.groovy.ast.ClassNode
+ getBuilderClassNode ()
Returns: The class node of the builder
+
+
+
+
+ abstract org.codehaus.groovy.ast.MethodNode
+ getBuilderInvokeMethod ()
Returns: The method node to invoke for an unresolved dynamic method on the main builder variable
+
+
+
+
+ abstract java.lang.String
+ getBuilderVariableName ()
Returns: The name within the view script of the main builder variable
+
+
+
+
+ abstract org.codehaus.groovy.ast.MethodNode
+ getDelegateInvokeMethod ()
Returns: The method node to invoke for unresolved methods within closures of the builder (implicit this)
+
+
+
+
+ boolean
+ isMethodDynamic (java.lang.Object receiver, java.lang.Object name, java.lang.Object argList, java.lang.Object argTypes, java.lang.Object call)
+
+
+
+
+ boolean
+ isPropertyDynamic (org.codehaus.groovy.ast.expr.PropertyExpression propertyExpression)
+
+
+
+
+ java.lang.Object
+ run ()
+
+
+
+
+ void
+ transformDynamicMethods (org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.MethodNode mn, java.util.Set dynamicCalls)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL
+ org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#invokeMethod(java.lang.String, java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#getProperty(java.lang.String), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#setProperty(java.lang.String, java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#getBinding(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#setBinding(groovy.lang.Binding), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#evaluate(java.lang.String), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#evaluate(java.io.File), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#println(java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#println(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#run(java.io.File, [Ljava.lang.String;), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#run(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#print(java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#printf(java.lang.String, java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#printf(java.lang.String, [Ljava.lang.Object;), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#getMetaClass(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#setMetaClass(groovy.lang.MetaClass), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#wait(long), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#wait(long, int), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#wait(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#equals(java.lang.Object), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#toString(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#hashCode(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#getClass(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#notify(), org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport$TypeCheckingDSL#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private boolean insideScope
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ boolean insideScope
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ BuilderTypeCheckingExtension ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ void beforeMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression methodCallExpression)
+
+
+
+
+
+
+
+ abstract org.codehaus.groovy.ast.ClassNode getBuilderClassNode ()
+
Returns: The class node of the builder
+
+
+
+
+
+
+ abstract org.codehaus.groovy.ast.MethodNode getBuilderInvokeMethod ()
+
Returns: The method node to invoke for an unresolved dynamic method on the main builder variable
+
+
+
+
+
+
+ abstract java.lang.String getBuilderVariableName ()
+
Returns: The name within the view script of the main builder variable
+
+
+
+
+
+
+ abstract org.codehaus.groovy.ast.MethodNode getDelegateInvokeMethod ()
+
Returns: The method node to invoke for unresolved methods within closures of the builder (implicit this)
+
+
+
+
+
+
+ boolean isMethodDynamic (java.lang.Object receiver, java.lang.Object name, java.lang.Object argList, java.lang.Object argTypes, java.lang.Object call)
+
+
+
+
+
+
+
+ boolean isPropertyDynamic (org.codehaus.groovy.ast.expr.PropertyExpression propertyExpression)
+
+
+
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileDynamic
+java.lang.Object run ()
+
+
+
+
+
+
+
+ void transformDynamicMethods (org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.MethodNode mn, java.util.Set dynamicCalls)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/HalCodeVisitorSupport.html b/3.2.3/api/grails/views/compiler/HalCodeVisitorSupport.html
new file mode 100644
index 000000000..0f56341e6
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/HalCodeVisitorSupport.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+
+
+
+
+ HalCodeVisitorSupport (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.compiler.HalCodeVisitorSupport
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private org.codehaus.groovy.ast.stmt.BlockStatement
+ currentBlock
+
+
+
+
+ private java.util.Map<org.codehaus.groovy.ast.stmt.BlockStatement, org.codehaus.groovy.ast.stmt.Statement>
+ newStatements
+
+
+
+
+ private org.codehaus.groovy.control.CompilationUnit
+ unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ org.codehaus.groovy.ast.stmt.BlockStatement
+ currentBlock
+
+
+
+ java.util.Map<org.codehaus.groovy.ast.stmt.BlockStatement, org.codehaus.groovy.ast.stmt.Statement>
+ newStatements
+
+
+
+ org.codehaus.groovy.control.CompilationUnit
+ unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ HalCodeVisitorSupport
+ (org.codehaus.groovy.control.CompilationUnit unit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ visitBlockStatement (org.codehaus.groovy.ast.stmt.BlockStatement block)
+
+
+
+
+ void
+ visitVariableExpression (org.codehaus.groovy.ast.expr.VariableExpression expression)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class org.codehaus.groovy.ast.CodeVisitorSupport
+ org.codehaus.groovy.ast.CodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.CodeVisitorSupport#wait(), org.codehaus.groovy.ast.CodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.CodeVisitorSupport#toString(), org.codehaus.groovy.ast.CodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.CodeVisitorSupport#getClass(), org.codehaus.groovy.ast.CodeVisitorSupport#notify(), org.codehaus.groovy.ast.CodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListOfExpressions(java.util.List)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private org.codehaus.groovy.ast.stmt.BlockStatement currentBlock
+
+
+
+
+
+
+
+ private java.util.Map<org.codehaus.groovy.ast.stmt.BlockStatement, org.codehaus.groovy.ast.stmt.Statement> newStatements
+
+
+
+
+
+
+
+ private org.codehaus.groovy.control.CompilationUnit unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ org.codehaus.groovy.ast.stmt.BlockStatement currentBlock
+
+
+
+
+
+
+
+ java.util.Map<org.codehaus.groovy.ast.stmt.BlockStatement, org.codehaus.groovy.ast.stmt.Statement> newStatements
+
+
+
+
+
+
+
+ org.codehaus.groovy.control.CompilationUnit unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ HalCodeVisitorSupport (org.codehaus.groovy.control.CompilationUnit unit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void visitBlockStatement (org.codehaus.groovy.ast.stmt.BlockStatement block)
+
+
+
+
+
+
+
+ @java.lang.Override
+void visitVariableExpression (org.codehaus.groovy.ast.expr.VariableExpression expression)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html b/3.2.3/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html
new file mode 100644
index 000000000..136d10420
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+
+
+
+
+
+ ViewsTransform.ModelTypesVisitor (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.compiler.ViewsTransform.ModelTypesVisitor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private org.codehaus.groovy.ast.ClassNode
+ classNode
+
+
+
+
+ private java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode>
+ modelTypes
+
+
+
+
+ private org.codehaus.groovy.control.SourceUnit
+ sourceUnit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ org.codehaus.groovy.ast.ClassNode
+ classNode
+
+
+
+ java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode>
+ modelTypes
+
+
+
+ org.codehaus.groovy.control.SourceUnit
+ sourceUnit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ModelTypesVisitor
+ (org.codehaus.groovy.control.SourceUnit sourceUnit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ visitClass (org.codehaus.groovy.ast.ClassNode node)
+
+
+
+
+ void
+ visitField (org.codehaus.groovy.ast.FieldNode node)
+
+
+
+
+ void
+ visitMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression call)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class org.codehaus.groovy.ast.ClassCodeVisitorSupport
+ org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeVisitorSupport#toString(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#getClass(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notify(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListOfExpressions(java.util.List)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private org.codehaus.groovy.ast.ClassNode classNode
+
+
+
+
+
+
+
+ private java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> modelTypes
+
+
+
+
+
+
+
+ private final org.codehaus.groovy.control.SourceUnit sourceUnit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ org.codehaus.groovy.ast.ClassNode classNode
+
+
+
+
+
+
+
+ java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> modelTypes
+
+
+
+
+
+
+
+ final org.codehaus.groovy.control.SourceUnit sourceUnit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ModelTypesVisitor (org.codehaus.groovy.control.SourceUnit sourceUnit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void visitClass (org.codehaus.groovy.ast.ClassNode node)
+
+
+
+
+
+
+
+ @java.lang.Override
+void visitField (org.codehaus.groovy.ast.FieldNode node)
+
+
+
+
+
+
+
+ @java.lang.Override
+void visitMethodCallExpression (org.codehaus.groovy.ast.expr.MethodCallExpression call)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/ViewsTransform.html b/3.2.3/api/grails/views/compiler/ViewsTransform.html
new file mode 100644
index 000000000..560ea70af
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/ViewsTransform.html
@@ -0,0 +1,497 @@
+
+
+
+
+
+
+
+
+
+
+ ViewsTransform (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.compiler.ViewsTransform
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ org.codehaus.groovy.transform.ASTTransformation, groovy.transform.CompilationUnitAware
+
+
+
+
+
+
+
+@org.codehaus.groovy.transform.GroovyASTTransformation(phase: CompilePhase.SEMANTIC_ANALYSIS)
+@groovy.transform.CompileStatic
+class ViewsTransform
+extends java.lang.Object
+implements org.codehaus.groovy.transform.ASTTransformation, groovy.transform.CompilationUnitAware
+
+ Enhances view scripts with Trait behavior
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static java.lang.String
+ APPLIED
+
+
+
+
+ private org.codehaus.groovy.control.CompilationUnit
+ compilationUnit
+
+
+
+
+ private java.lang.String
+ dynamicPrefix
+
+
+
+
+ private java.lang.String
+ extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ org.codehaus.groovy.control.CompilationUnit
+ compilationUnit
+
+
+
+ java.lang.String
+ dynamicPrefix
+
+
+
+ java.lang.String
+ extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ViewsTransform
+ (java.lang.String extension, java.lang.String dynamicPrefix)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.util.List<TraitInjector>
+ findTraitInjectors ()
+
+
+
+
+ void
+ visit (org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit source)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String APPLIED
+
+
+
+
+
+
+
+ private org.codehaus.groovy.control.CompilationUnit compilationUnit
+
+
+
+
+
+
+
+ private java.lang.String dynamicPrefix
+
+
+
+
+
+
+
+ private final java.lang.String extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ org.codehaus.groovy.control.CompilationUnit compilationUnit
+
+
+
+
+
+
+
+ java.lang.String dynamicPrefix
+
+
+
+
+
+
+
+ final java.lang.String extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewsTransform (java.lang.String extension, java.lang.String dynamicPrefix)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @groovy.transform.CompileDynamic
+protected java.util.List<TraitInjector> findTraitInjectors ()
+
+
+
+
+
+
+
+ @java.lang.Override
+void visit (org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit source)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/package-frame.html b/3.2.3/api/grails/views/compiler/package-frame.html
new file mode 100644
index 000000000..51479791f
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.compiler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/compiler/package-summary.html b/3.2.3/api/grails/views/compiler/package-summary.html
new file mode 100644
index 000000000..399722153
--- /dev/null
+++ b/3.2.3/api/grails/views/compiler/package-summary.html
@@ -0,0 +1,176 @@
+
+
+
+
+
+grails.views.compiler (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html
new file mode 100644
index 000000000..9f3935a3a
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractGroovyTemplateCompileTask.1 (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.AbstractGroovyTemplateCompileTask.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ execute (JavaExecSpec javaExecSpec)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ AbstractGroovyTemplateCompileTask.1 ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+@groovy.transform.CompileDynamic
+void execute (JavaExecSpec javaExecSpec)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html
new file mode 100644
index 000000000..d4364dbda
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html
@@ -0,0 +1,567 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractGroovyTemplateCompileTask (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.AbstractGroovyTemplateCompileTask
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+abstract class AbstractGroovyTemplateCompileTask
+extends AbstractCompile
+
+ Abstract Gradle task for compiling templates, using GenericGroovyTemplateCompiler
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected void
+ compile ()
+
+
+
+
+ void
+ execute (InputChanges inputs)
+
+
+
+
+ protected java.lang.String
+ getCompilerName ()
+
+
+
+
+ abstract java.lang.String
+ getFileExtension ()
+
+
+
+
+ java.lang.Iterable<java.lang.String>
+ getProjectPackageNames (java.io.File baseDir)
+
+
+
+
+ abstract java.lang.String
+ getScriptBaseName ()
+
+
+
+
+ protected java.lang.Object
+ populatePackages (java.io.File rootDir, java.util.Collection<java.lang.String> packageNames, java.lang.String prefix)
+
+
+
+
+ void
+ prepareArguments (java.util.List<java.lang.String> arguments)
+
+
+
+
+ void
+ setSource (java.lang.Object source)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.util.Optional
+private java.lang.String packageName
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.InputDirectory
+private java.io.File srcDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.util.Optional
+java.lang.String packageName
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.InputDirectory
+java.io.File srcDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ AbstractGroovyTemplateCompileTask ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ protected void compile ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.TaskAction
+void execute (InputChanges inputs)
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+protected java.lang.String getCompilerName ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+abstract java.lang.String getFileExtension ()
+
+
+
+
+
+
+
+ java.lang.Iterable<java.lang.String> getProjectPackageNames (java.io.File baseDir)
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+abstract java.lang.String getScriptBaseName ()
+
+
+
+
+
+
+
+ protected java.lang.Object populatePackages (java.io.File rootDir, java.util.Collection<java.lang.String> packageNames, java.lang.String prefix)
+
+
+
+
+
+
+
+ void prepareArguments (java.util.List<java.lang.String> arguments)
+
+
+
+
+
+
+
+ @java.lang.Override
+void setSource (java.lang.Object source)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html
new file mode 100644
index 000000000..cd8df73c2
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html
@@ -0,0 +1,473 @@
+
+
+
+
+
+
+
+
+
+
+ AbstractGroovyTemplatePlugin (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.AbstractGroovyTemplatePlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private final java.lang.String fileExtension
+
+
+
+
+
+
+
+ private final java.lang.String pathToSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.String fileExtension
+
+
+
+
+
+
+
+ final java.lang.String pathToSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+ AbstractGroovyTemplatePlugin (java.lang.Class<? extends AbstractGroovyTemplateCompileTask > taskClass, java.lang.String fileExtension, java.lang.String pathToSource)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void apply (Project project)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/ViewCompileOptions.html b/3.2.3/api/grails/views/gradle/ViewCompileOptions.html
new file mode 100644
index 000000000..dcf45f44b
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/ViewCompileOptions.html
@@ -0,0 +1,394 @@
+
+
+
+
+
+
+
+
+
+
+ ViewCompileOptions (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.ViewCompileOptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ @org.gradle.api.tasks.Input
+private java.lang.String encoding
+
+
+
+
+
+
+
+
+
+
+ private static final long serialVersionUID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @org.gradle.api.tasks.Input
+java.lang.String encoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ ViewCompileOptions ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html b/3.2.3/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html
new file mode 100644
index 000000000..62dd340b4
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsJsonViewsPlugin (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.json.GrailsJsonViewsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GrailsJsonViewsPlugin ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/json/JsonViewCompilerTask.html b/3.2.3/api/grails/views/gradle/json/JsonViewCompilerTask.html
new file mode 100644
index 000000000..4d9519aab
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/json/JsonViewCompilerTask.html
@@ -0,0 +1,356 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewCompilerTask (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.json.JsonViewCompilerTask
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewCompilerTask ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+protected java.lang.String getCompilerName ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+java.lang.String getFileExtension ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+java.lang.String getScriptBaseName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/json/package-frame.html b/3.2.3/api/grails/views/gradle/json/package-frame.html
new file mode 100644
index 000000000..b0071b884
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/json/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.gradle.json
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/json/package-summary.html b/3.2.3/api/grails/views/gradle/json/package-summary.html
new file mode 100644
index 000000000..7fa4c5ddf
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/json/package-summary.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+grails.views.gradle.json (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html b/3.2.3/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html
new file mode 100644
index 000000000..af495c533
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+ GrailsMarkupViewsPlugin (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.markup.GrailsMarkupViewsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GrailsMarkupViewsPlugin ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/markup/MarkupViewCompilerTask.html b/3.2.3/api/grails/views/gradle/markup/MarkupViewCompilerTask.html
new file mode 100644
index 000000000..3c288d6ed
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/markup/MarkupViewCompilerTask.html
@@ -0,0 +1,356 @@
+
+
+
+
+
+
+
+
+
+
+ MarkupViewCompilerTask (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.gradle.markup.MarkupViewCompilerTask
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ MarkupViewCompilerTask ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+protected java.lang.String getCompilerName ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+java.lang.String getFileExtension ()
+
+
+
+
+
+
+
+ @org.gradle.api.tasks.Input
+@java.lang.Override
+java.lang.String getScriptBaseName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/markup/package-frame.html b/3.2.3/api/grails/views/gradle/markup/package-frame.html
new file mode 100644
index 000000000..389ec44d0
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/markup/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.gradle.markup
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/markup/package-summary.html b/3.2.3/api/grails/views/gradle/markup/package-summary.html
new file mode 100644
index 000000000..36aaaf6de
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/markup/package-summary.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+grails.views.gradle.markup (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/package-frame.html b/3.2.3/api/grails/views/gradle/package-frame.html
new file mode 100644
index 000000000..177b43ec8
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.gradle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/gradle/package-summary.html b/3.2.3/api/grails/views/gradle/package-summary.html
new file mode 100644
index 000000000..eb391f0bd
--- /dev/null
+++ b/3.2.3/api/grails/views/gradle/package-summary.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+grails.views.gradle (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html b/3.2.3/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html
new file mode 100644
index 000000000..1402d0101
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewUnitTest.TestHttpResponse (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.json.test.JsonViewUnitTest.TestHttpResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ contentType (java.lang.String contentType)
+
+
+
+
+ void
+ encoding (java.lang.String encoding)
+
+
+
+
+ void
+ header (java.lang.String name, java.lang.String value)
+
+
+
+
+ void
+ header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+ void
+ headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+ void
+ status (int status)
+
+
+
+
+ void
+ status (int status, java.lang.String message)
+
+
+
+
+ void
+ status (HttpStatus status)
+
+
+
+
+ void
+ status (HttpStatus status, java.lang.String message)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void contentType (java.lang.String contentType)
+
+
+
+
+
+
+
+ @java.lang.Override
+void encoding (java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.lang.String name, java.lang.String value)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+void headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status, java.lang.String message)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus status)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus status, java.lang.String message)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/JsonViewUnitTest.html b/3.2.3/api/grails/views/json/test/JsonViewUnitTest.html
new file mode 100644
index 000000000..6ae6a184b
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/JsonViewUnitTest.html
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewUnitTest (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.json.test.JsonViewUnitTest
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+ private JsonRenderResult produceResult (groovy.text.Template template, java.util.Map model, groovy.lang.Closure configurer)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/package-frame.html b/3.2.3/api/grails/views/json/test/package-frame.html
new file mode 100644
index 000000000..bb29cce99
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/package-frame.html
@@ -0,0 +1,66 @@
+
+
+
+
+ grails.views.json.test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/package-summary.html b/3.2.3/api/grails/views/json/test/package-summary.html
new file mode 100644
index 000000000..8c2d547f9
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/package-summary.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+grails.views.json.test (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html b/3.2.3/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html
new file mode 100644
index 000000000..7eb6cc46a
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewSetupSpecInterceptor (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.json.test.spock.JsonViewSetupSpecInterceptor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewSetupSpecInterceptor ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ @groovy.transform.CompileStatic(value: TypeCheckingMode.SKIP)
+protected void setup (JsonViewUnitTest test)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/spock/JsonViewSpockExtension.html b/3.2.3/api/grails/views/json/test/spock/JsonViewSpockExtension.html
new file mode 100644
index 000000000..809a26de0
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/spock/JsonViewSpockExtension.html
@@ -0,0 +1,388 @@
+
+
+
+
+
+
+
+
+
+
+ JsonViewSpockExtension (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.json.test.spock.JsonViewSpockExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ visitSpec (SpecInfo spec)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ JsonViewSpockExtension ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void visitSpec (SpecInfo spec)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/spock/package-frame.html b/3.2.3/api/grails/views/json/test/spock/package-frame.html
new file mode 100644
index 000000000..6ba39c9bd
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/spock/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.json.test.spock
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/json/test/spock/package-summary.html b/3.2.3/api/grails/views/json/test/spock/package-summary.html
new file mode 100644
index 000000000..fa48ca3ac
--- /dev/null
+++ b/3.2.3/api/grails/views/json/test/spock/package-summary.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+grails.views.json.test.spock (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html
new file mode 100644
index 000000000..84948d475
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html
@@ -0,0 +1,551 @@
+
+
+
+
+
+
+
+
+
+
+ GenericGroovyTemplateView.HttpViewRequest (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.GenericGroovyTemplateView.HttpViewRequest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private java.util.Collection<java.lang.String>
+ attributeNames
+
+
+
+
+ private java.util.Collection<java.lang.String>
+ headerNames
+ Returns: The header for the request
+
+
+
+ private HttpServletRequest
+ request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.lang.Object
+ getAttribute (java.lang.String name)
+
+
+
+
+ java.lang.String
+ getCharacterEncoding ()
+
+
+
+
+ java.lang.String
+ getContentType ()
+
+
+
+
+ java.lang.String
+ getContextPath ()
+
+
+
+
+ java.lang.String
+ getHeader (java.lang.String name)
+
+
+
+
+ java.util.Collection<java.lang.String>
+ getHeaders (java.lang.String name)
+
+
+
+
+ java.lang.String
+ getMethod ()
+
+
+
+
+ java.lang.String
+ getUri ()
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ @groovy.lang.Lazy
+private java.util.Collection<java.lang.String> attributeNames
+
+
+
+
+
+
+
+ @groovy.lang.Lazy
+private java.util.Collection<java.lang.String> headerNames
+
Returns: The header for the request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ @groovy.lang.Lazy
+java.util.Collection<java.lang.String> attributeNames
+
+
+
+
+
+
+
+ @groovy.lang.Lazy
+java.util.Collection<java.lang.String> headerNames
+
Returns: The header for the request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.lang.Object getAttribute (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getCharacterEncoding ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getContentType ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getContextPath ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getHeader (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Collection<java.lang.String> getHeaders (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getMethod ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getUri ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html
new file mode 100644
index 000000000..25383552c
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+
+
+
+
+
+ GenericGroovyTemplateView.HttpViewResponse (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.GenericGroovyTemplateView.HttpViewResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ contentType (java.lang.String contentType)
+
+
+
+
+ void
+ encoding (java.lang.String encoding)
+
+
+
+
+ void
+ header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+ void
+ header (java.lang.String name, java.lang.String value)
+
+
+
+
+ void
+ headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+ void
+ status (int status)
+
+
+
+
+ void
+ status (int status, java.lang.String message)
+
+
+
+
+ void
+ status (HttpStatus s)
+
+
+
+
+ void
+ status (HttpStatus s, java.lang.String message)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void contentType (java.lang.String contentType)
+
+
+
+
+
+
+
+ @java.lang.Override
+void encoding (java.lang.String encoding)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.util.Map<java.lang.String, java.lang.String> nameAndValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+void header (java.lang.String name, java.lang.String value)
+
+
+
+
+
+
+
+ @java.lang.Override
+void headers (java.util.Map<java.lang.String, java.lang.String> namesAndValues)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (int status, java.lang.String message)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus s)
+
+
+
+
+
+
+
+ @java.lang.Override
+void status (HttpStatus s, java.lang.String message)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.html b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.html
new file mode 100644
index 000000000..2dcf8c21f
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateView.html
@@ -0,0 +1,505 @@
+
+
+
+
+
+
+
+
+
+
+ GenericGroovyTemplateView (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.GenericGroovyTemplateView
+
+
+
+
+
+
+
+
+
+
+ Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private Config configuration
+
+
+
+
+
+
+
+ private java.lang.String defaultEncoding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ Config configuration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GenericGroovyTemplateView ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ @java.lang.Override
+protected void renderMergedOutputModel (java.util.Map<java.lang.String, java.lang.Object> map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html
new file mode 100644
index 000000000..14a4463ce
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+ GenericGroovyTemplateViewResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.GenericGroovyTemplateViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+View resolveViewName (java.lang.String viewName, java.util.Locale locale)
+
+
+
+
+
+
+
+ private View resolveViewWithController (java.lang.String controllerUri, java.lang.String viewName, GrailsWebRequest webRequest)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/SmartViewResolver.html b/3.2.3/api/grails/views/mvc/SmartViewResolver.html
new file mode 100644
index 000000000..8f4c5bef3
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/SmartViewResolver.html
@@ -0,0 +1,752 @@
+
+
+
+
+
+
+
+
+
+
+ SmartViewResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.SmartViewResolver
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ GrailsConfigurationAware
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+class SmartViewResolver
+extends java.lang.Object
+implements GrailsConfigurationAware
+
+ Spring's default view resolving mechanism only accepts the view name and locale, this forces you to code around its limitations when you want to add intelligent features such as
+ version and mime type awareness.
+
+ This aims to fix that whilst reducing complexity
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.util.List
+ buildQualifiers (HttpServletRequest request, HttpServletResponse response)
+
+
+
+
+ private GenericGroovyTemplateView
+ getViewCacheWithDefault (java.lang.String key)
+
+
+
+
+ WritableScriptTemplate
+ resolveTemplate (java.lang.Class type, java.util.Locale locale, java.lang.String[] qualifiers)
+
+
+
+
+ WritableScriptTemplate
+ resolveTemplate (java.lang.String path)
+
+
+
+
+ WritableScriptTemplate
+ resolveTemplate (java.lang.String path, java.util.Locale locale, java.lang.String[] qualifiers)
+
+
+
+
+ View
+ resolveView (java.lang.String viewName, java.util.Locale locale)
+
+
+
+
+ View
+ resolveView (java.lang.String viewName, HttpServletRequest request, HttpServletResponse response)
+
+
+
+
+ View
+ resolveView (java.lang.Class type, HttpServletRequest request, HttpServletResponse response)
+
+
+
+
+ View
+ resolveView (java.lang.Class type, java.util.Locale locale)
+
+
+
+
+ void
+ setLinkGenerator (LinkGenerator linkGenerator)
+
+
+
+
+ void
+ setTemplateResolver (TemplateResolver templateResolver)
+
+
+
+
+ private GenericGroovyTemplateView
+ viewCacheWithPath (java.lang.String path)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String OBJECT_TEMPLATE_NAME
+
+
+
+
+
+
+
+ private Config configuration
+
+
+
+
+
+
+
+ private java.lang.String contentType
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+private LocaleResolver localeResolver
+
+
+
+
+
+
+
+ private final View objectView
+
+
+
+
+
+
+
+ private java.lang.String suffix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ Config configuration
+
+
+
+
+
+
+
+ java.lang.String contentType
+
+
+
+
+
+
+
+ @org.springframework.beans.factory.annotation.Autowired
+LocaleResolver localeResolver
+
+
+
+
+
+
+
+ final View objectView
+
+
+
+
+
+
+
+ java.lang.String suffix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate resolveTemplate (java.lang.Class type, java.util.Locale locale, java.lang.String[] qualifiers)
+
+
+
+
+
+
+
+
+
+
+ WritableScriptTemplate resolveTemplate (java.lang.String path, java.util.Locale locale, java.lang.String[] qualifiers)
+
+
+
+
+
+
+
+ View resolveView (java.lang.String viewName, java.util.Locale locale)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View resolveView (java.lang.Class type, java.util.Locale locale)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/http/DelegatingParameters.html b/3.2.3/api/grails/views/mvc/http/DelegatingParameters.html
new file mode 100644
index 000000000..b066fb7ec
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/http/DelegatingParameters.html
@@ -0,0 +1,765 @@
+
+
+
+
+
+
+
+
+
+
+ DelegatingParameters (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.http.DelegatingParameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ boolean
+ asBoolean ()
+
+
+
+
+ java.lang.Boolean
+ boolean (java.lang.String name)
+
+
+
+
+ java.lang.Boolean
+ boolean (java.lang.String name, java.lang.Boolean defaultValue)
+
+
+
+
+ java.lang.Byte
+ byte (java.lang.String name)
+
+
+
+
+ java.lang.Byte
+ byte (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+ java.lang.Character
+ char (java.lang.String name)
+
+
+
+
+ java.lang.Character
+ char (java.lang.String name, java.lang.Character defaultValue)
+
+
+
+
+ boolean
+ containsKey (java.lang.Object key)
+
+
+
+
+ java.util.Date
+ date (java.lang.String name)
+
+
+
+
+ java.util.Date
+ date (java.lang.String name, java.lang.String format)
+
+
+
+
+ java.lang.Double
+ double (java.lang.String name)
+
+
+
+
+ java.lang.Double
+ double (java.lang.String name, java.lang.Double defaultValue)
+
+
+
+
+ java.lang.Float
+ float (java.lang.String name)
+
+
+
+
+ java.lang.Float
+ float (java.lang.String name, java.lang.Float defaultValue)
+
+
+
+
+ java.lang.String
+ get (java.lang.String name)
+
+
+
+
+ java.lang.String
+ get (java.lang.String name, java.lang.String defaultValue)
+
+
+
+
+ java.lang.String
+ getAt (java.lang.Object key)
+
+
+
+
+ java.lang.Integer
+ int (java.lang.String name)
+
+
+
+
+ java.lang.Integer
+ int (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+ boolean
+ isEmpty ()
+
+
+
+
+ java.util.Set<java.lang.String>
+ keySet ()
+
+
+
+
+ java.util.List<java.lang.String>
+ list (java.lang.String name)
+
+
+
+
+ java.lang.Long
+ long (java.lang.String name)
+
+
+
+
+ java.lang.Long
+ long (java.lang.String name, java.lang.Long defaultValue)
+
+
+
+
+ java.lang.Short
+ short (java.lang.String name)
+
+
+
+
+ java.lang.Short
+ short (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+boolean asBoolean ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Boolean boolean (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Boolean boolean (java.lang.String name, java.lang.Boolean defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Byte byte (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Byte byte (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Character char (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Character char (java.lang.String name, java.lang.Character defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean containsKey (java.lang.Object key)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Date date (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Date date (java.lang.String name, java.lang.String format)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Double double (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Double double (java.lang.String name, java.lang.Double defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Float float (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Float float (java.lang.String name, java.lang.Float defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String get (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String get (java.lang.String name, java.lang.String defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.String getAt (java.lang.Object key)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Integer int (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Integer int (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+boolean isEmpty ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.Set<java.lang.String> keySet ()
+
+
+
+
+
+
+
+ @java.lang.Override
+java.util.List<java.lang.String> list (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Long long (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Long long (java.lang.String name, java.lang.Long defaultValue)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Short short (java.lang.String name)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Short short (java.lang.String name, java.lang.Integer defaultValue)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/http/package-frame.html b/3.2.3/api/grails/views/mvc/http/package-frame.html
new file mode 100644
index 000000000..52d31816b
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/http/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.mvc.http
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/http/package-summary.html b/3.2.3/api/grails/views/mvc/http/package-summary.html
new file mode 100644
index 000000000..b93a26afb
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/http/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.views.mvc.http (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class Summary
+
+
+ Class
+ Description
+
+
+
+
+ DelegatingParameters
+
+
+ Delegate to a GrailsParameterMap implementation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/package-frame.html b/3.2.3/api/grails/views/mvc/package-frame.html
new file mode 100644
index 000000000..fa10fe585
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.mvc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/package-summary.html b/3.2.3/api/grails/views/mvc/package-summary.html
new file mode 100644
index 000000000..d1720db0a
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/package-summary.html
@@ -0,0 +1,177 @@
+
+
+
+
+
+grails.views.mvc (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/renderer/DefaultViewRenderer.html b/3.2.3/api/grails/views/mvc/renderer/DefaultViewRenderer.html
new file mode 100644
index 000000000..31f36aaf8
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/renderer/DefaultViewRenderer.html
@@ -0,0 +1,476 @@
+
+
+
+
+
+
+
+
+
+
+ DefaultViewRenderer (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.mvc.renderer.DefaultViewRenderer
+
+
+
+
+
+
+
+
+
+
+@groovy.transform.InheritConstructors
+@groovy.transform.CompileStatic
+abstract class DefaultViewRenderer<T>
+extends DefaultHtmlRenderer<T>
+
+ A renderer implementation that looks up a view from the ViewResolver
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ void
+ render (T object, RenderContext context)
+
+
+
+
+ static java.lang.String
+ templateNameForClass (java.lang.Class<?> cls)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final java.lang.String MODEL_OBJECT
+
+
+
+
+
+
+
+ private final Renderer defaultRenderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final Renderer defaultRenderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+void render (T object, RenderContext context)
+
+
+
+
+
+
+
+ static java.lang.String templateNameForClass (java.lang.Class<?> cls)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/renderer/package-frame.html b/3.2.3/api/grails/views/mvc/renderer/package-frame.html
new file mode 100644
index 000000000..c180dccf7
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/renderer/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.mvc.renderer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/mvc/renderer/package-summary.html b/3.2.3/api/grails/views/mvc/renderer/package-summary.html
new file mode 100644
index 000000000..3dc69a105
--- /dev/null
+++ b/3.2.3/api/grails/views/mvc/renderer/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.views.mvc.renderer (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class Summary
+
+
+ Class
+ Description
+
+
+
+
+ DefaultViewRenderer
+
+
+ A renderer implementation that looks up a view from the ViewResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/package-frame.html b/3.2.3/api/grails/views/package-frame.html
new file mode 100644
index 000000000..3c0ac7f4e
--- /dev/null
+++ b/3.2.3/api/grails/views/package-frame.html
@@ -0,0 +1,82 @@
+
+
+
+
+ grails.views
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/package-summary.html b/3.2.3/api/grails/views/package-summary.html
new file mode 100644
index 000000000..1e5278bc6
--- /dev/null
+++ b/3.2.3/api/grails/views/package-summary.html
@@ -0,0 +1,350 @@
+
+
+
+
+
+grails.views (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/GenericGroovyTemplateResolver.html b/3.2.3/api/grails/views/resolve/GenericGroovyTemplateResolver.html
new file mode 100644
index 000000000..16b51d18a
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/GenericGroovyTemplateResolver.html
@@ -0,0 +1,531 @@
+
+
+
+
+
+
+
+
+
+
+ GenericGroovyTemplateResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.resolve.GenericGroovyTemplateResolver
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ groovy.text.markup.TemplateResolver
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+@groovy.util.logging.Slf4j
+class GenericGroovyTemplateResolver
+extends java.lang.Object
+implements groovy.text.markup.TemplateResolver
+
+ A generic TemplateResolver for resolving Groovy templates that are compiled into classes
Authors: Graeme Rocher
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ static char
+ DOT_CHAR
+
+
+
+
+ static char
+ SLASH_CHAR
+ The base directory to load templates in development mode
+
+
+
+ static char
+ UNDERSCORE_CHAR
+
+
+
+
+ private java.io.File
+ baseDir
+
+
+
+
+ private java.lang.ClassLoader
+ classLoader
+ The class loader to use for template loading in production mode
+
+
+
+ private java.lang.String
+ packageName
+ The base package to load templates as classes in production mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.io.File
+ baseDir
+
+
+
+ java.lang.ClassLoader
+ classLoader
The class loader to use for template loading in production mode
+
+
+
+ java.lang.String
+ packageName
The base package to load templates as classes in production mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ java.net.URL
+ resolveTemplate (java.lang.String path)
+
+
+
+
+ java.lang.Class<? extends groovy.text.Template>
+ resolveTemplateClass (java.lang.String path)
+
+
+
+
+ java.lang.Class<? extends groovy.text.Template>
+ resolveTemplateClass (java.lang.String packageName, java.lang.String path)
+
+
+
+
+ static java.lang.String
+ resolveTemplateName (java.lang.String scope, java.lang.String path)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ public static final char DOT_CHAR
+
+
+
+
+
+
+
+
+
+
+ public static final char UNDERSCORE_CHAR
+
+
+
+
+
+
+
+ private java.io.File baseDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ java.io.File baseDir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GenericGroovyTemplateResolver ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.net.URL resolveTemplate (java.lang.String path)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Class<? extends groovy.text.Template> resolveTemplateClass (java.lang.String path)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Class<? extends groovy.text.Template> resolveTemplateClass (java.lang.String packageName, java.lang.String path)
+
+
+
+
+
+
+
+ static java.lang.String resolveTemplateName (java.lang.String scope, java.lang.String path)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/GenericViewUriResolver.html b/3.2.3/api/grails/views/resolve/GenericViewUriResolver.html
new file mode 100644
index 000000000..a5c7e8748
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/GenericViewUriResolver.html
@@ -0,0 +1,487 @@
+
+
+
+
+
+
+
+
+
+
+ GenericViewUriResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.resolve.GenericViewUriResolver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+ Fields
+
+ Modifiers
+ Name
+ Description
+
+
+
+ private static java.lang.String
+ BLANK
+
+
+
+
+ private static char
+ SLASH
+
+
+
+
+ private static java.lang.String
+ SLASH_STR
+
+
+
+
+ private static java.lang.String
+ SLASH_UNDR
+
+
+
+
+ private static char
+ UNDERSCORE
+
+
+
+
+ private java.lang.String
+ extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+ Properties
+
+ Type
+ Name and description
+
+
+
+ java.lang.String
+ extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ GenericViewUriResolver
+ (java.lang.String extension)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ protected java.lang.String
+ getAbsoluteTemplateURI (java.lang.String templateName, boolean includeExtension)
Used to resolve template names that are not relative to a controller.
+
+
+
+
+ java.lang.String
+ resolveTemplateUri (java.lang.String controllerName, java.lang.String templateName, boolean includeExtension)
+
+
+
+
+ java.lang.String
+ resolveTemplateUri (java.lang.String controllerNamespace, java.lang.String controllerName, java.lang.String templateName, boolean includeExtension)
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+ private static final java.lang.String BLANK
+
+
+
+
+
+
+
+ private static final char SLASH
+
+
+
+
+
+
+
+ private static final java.lang.String SLASH_STR
+
+
+
+
+
+
+
+ private static final java.lang.String SLASH_UNDR
+
+
+
+
+
+
+
+ private static final char UNDERSCORE
+
+
+
+
+
+
+
+ private final java.lang.String extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+ final java.lang.String extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ GenericViewUriResolver (java.lang.String extension)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+ java.lang.String resolveTemplateUri (java.lang.String controllerName, java.lang.String templateName, boolean includeExtension)
+
+
+
+
+
+
+
+ java.lang.String resolveTemplateUri (java.lang.String controllerNamespace, java.lang.String controllerName, java.lang.String templateName, boolean includeExtension)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/PluginAwareTemplateResolver.html b/3.2.3/api/grails/views/resolve/PluginAwareTemplateResolver.html
new file mode 100644
index 000000000..724556295
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/PluginAwareTemplateResolver.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+ PluginAwareTemplateResolver (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.resolve.PluginAwareTemplateResolver
+
+
+
+
+
+
+ All Implemented Interfaces and Traits:
+ PluginManagerAware
+
+
+
+
+
+
+
+@groovy.transform.CompileStatic
+class PluginAwareTemplateResolver
+extends GenericGroovyTemplateResolver
+implements PluginManagerAware
+
+ A template resolver capable of looking through the installed Grails plugins and finding a template within the scope of the plugin
Authors: Graeme Rocher Since: 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties Summary
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Property Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ @java.lang.Override
+java.net.URL resolveTemplate (java.lang.String path)
+
+
+
+
+
+
+
+ @java.lang.Override
+java.lang.Class<? extends groovy.text.Template> resolveTemplateClass (java.lang.String path)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/TemplateResolverUtils.html b/3.2.3/api/grails/views/resolve/TemplateResolverUtils.html
new file mode 100644
index 000000000..8091eb075
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/TemplateResolverUtils.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+
+
+
+
+
+ TemplateResolverUtils (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.resolve.TemplateResolverUtils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+ TemplateResolverUtils ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+ static java.lang.String fullTemplateNameForClass (java.lang.Class<?> cls)
+
+
+
+
+
+
+
+ static java.lang.String shortTemplateNameForClass (java.lang.Class<?> cls)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/package-frame.html b/3.2.3/api/grails/views/resolve/package-frame.html
new file mode 100644
index 000000000..7ff4333fb
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.resolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/resolve/package-summary.html b/3.2.3/api/grails/views/resolve/package-summary.html
new file mode 100644
index 000000000..322f38919
--- /dev/null
+++ b/3.2.3/api/grails/views/resolve/package-summary.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+grails.views.resolve (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/utils/ViewUtils.html b/3.2.3/api/grails/views/utils/ViewUtils.html
new file mode 100644
index 000000000..7b5c92d54
--- /dev/null
+++ b/3.2.3/api/grails/views/utils/ViewUtils.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+
+
+
+
+
+ ViewUtils (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+grails.views.utils.ViewUtils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Summary
+
+
+ Constructors
+
+ Constructor and description
+
+
+
+
+ ViewUtils
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods Summary
+
+
+ Methods
+
+ Type Params
+ Return Type
+ Name and description
+
+
+
+
+ static boolean
+ getBooleanFromMap (java.lang.String key, java.util.Map<?, ?> map, boolean defaultValue)
Retrieves a boolean value from a Map for the given key
+
+
+
+
+ static java.util.List<java.lang.String>
+ getStringListFromMap (java.lang.String key, java.util.Map map, java.util.List<java.lang.String> defaultValue)
Obtains a list of strings from the map for the given key
+
+
+
+
+
+
+
+ Inherited Methods Summary
+
+
+ Inherited Methods
+
+ Methods inherited from class
+ Name
+
+
+
+ class java.lang.Object
+ java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/utils/package-frame.html b/3.2.3/api/grails/views/utils/package-frame.html
new file mode 100644
index 000000000..e43d220d1
--- /dev/null
+++ b/3.2.3/api/grails/views/utils/package-frame.html
@@ -0,0 +1,58 @@
+
+
+
+
+ grails.views.utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/grails/views/utils/package-summary.html b/3.2.3/api/grails/views/utils/package-summary.html
new file mode 100644
index 000000000..cc991baf1
--- /dev/null
+++ b/3.2.3/api/grails/views/utils/package-summary.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+grails.views.utils (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class Summary
+
+
+ Class
+ Description
+
+
+
+
+ ViewUtils
+
+
+ Utility methods for the views project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
+
diff --git a/3.2.3/api/groovy.ico b/3.2.3/api/groovy.ico
new file mode 100644
index 000000000..e69de29bb
diff --git a/3.2.3/api/help-doc.html b/3.2.3/api/help-doc.html
new file mode 100644
index 000000000..f007422de
--- /dev/null
+++ b/3.2.3/api/help-doc.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+ API Help (Groovy Documentation)
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+ Overview
+ The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+
+
+ Package
+ Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:
+
+ Interfaces (italic)
+ Classes
+ Enums
+ Exceptions
+ Errors
+ Annotation Types
+
+
+
+ Class/Interface
+ Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+
+ Class inheritance diagram
+ Direct Subclasses
+ All Known Subinterfaces
+ All Known Implementing Classes
+ Class/interface declaration
+ Class/interface description
+
+
+ Nested Class Summary
+ Field Summary
+ Constructor Summary
+ Method Summary
+
+
+ Field Detail
+ Constructor Detail
+ Method Detail
+
+ Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+ Annotation Type
+ Each annotation type has its own separate page with the following sections:
+
+ Annotation Type declaration
+ Annotation Type description
+ Required Element Summary
+ Optional Element Summary
+ Element Detail
+
+
+
+ Enum
+ Each enum has its own separate page with the following sections:
+
+ Enum declaration
+ Enum description
+ Enum Constant Summary
+ Enum Constant Detail
+
+
+
+
+ Deprecated API
+ The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+
+ Index
+ The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+
+ Frames/No Frames
+ These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+ All Classes
+ The All Classes link shows all classes and interfaces except non-static nested types.
+
+
+ Serialized Form
+ Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+ Constant Field Values
+ The Constant Field Values page lists the static final fields and their values.
+
+
+
This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
diff --git a/3.2.3/api/index-all.html b/3.2.3/api/index-all.html
new file mode 100644
index 000000000..807631f9f
--- /dev/null
+++ b/3.2.3/api/index-all.html
@@ -0,0 +1,2561 @@
+
+
+
+
+
+
+
+ Index (Groovy Documentation)
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
A
+
+
B
+
+
C
+
+
D
+
+
E
+
+
F
+
+
G
+
+
H
+
+
I
+
+
J
+
+
K
+
+
L
+
+
M
+
+
N
+
+
O
+
+
P
+
+
Q
+
+
R
+
+
S
+
+
T
+
+
U
+
+
V
+
+
W
+
+
X
+
+
Y
+
+
Z
+
+
_
+
+
+
+
+
A
+
+
+AbstractGroovyTemplateCompiler - Class in grails.views
+A generic compiler for Groovy templates that are compiled into classes in production
+AbstractGroovyTemplateCompiler() - Constructor in AbstractGroovyTemplateCompiler
+
+AbstractGroovyTemplateCompileTask - Class in grails.views.gradle
+Abstract Gradle task for compiling templates, using GenericGroovyTemplateCompiler
+AbstractGroovyTemplateCompileTask.1 - Class in grails.views.gradle
+
+AbstractGroovyTemplateCompileTask.1() - Constructor in AbstractGroovyTemplateCompileTask.1
+
+AbstractGroovyTemplateCompileTask() - Constructor in AbstractGroovyTemplateCompileTask
+
+AbstractGroovyTemplatePlugin - Class in grails.views.gradle
+Abstract implementation of a plugin that compiles views
+AbstractGroovyTemplatePlugin(Class<? extends AbstractGroovyTemplateCompileTask>, java.lang.String, java.lang.String) - Constructor in AbstractGroovyTemplatePlugin
+
+AbstractJsonViewContainerRenderer - Class in grails.plugin.json.renderer
+A container renderer that looks up JSON views
+AbstractJsonViewContainerRenderer() - Constructor in AbstractJsonViewContainerRenderer
+
+AbstractWritableScript - Class in grails.views
+A script that is writable
+AbstractWritableScript() - Constructor in AbstractWritableScript
+
+actionName - Property in GrailsView
+ Returns: The current action name
+actionName(java.lang.String) - Method in TestRequestConfigurer
+
+addConverter(Class<T>, Closure<?>) - Method in JsonGenerator.Options
+ Registers a closure that will be called when the specified type or subtype
+ is serialized.
+allowResourceExpansion - Property in GenericViewConfiguration
+ Whether resource expansion is allowed
+appendObjectId(java.lang.StringBuilder, java.util.Map) - Method in TestLinkGenerator
+
+APPLIED - Field in ViewsTransform
+
+apply(org.gradle.api.Project) - Method in AbstractGroovyTemplatePlugin
+
+asBoolean() - Method in DelegatingParameters
+
+asBoolean() - Method in EmptyParameters
+
+asBoolean() - Method in Parameters
+ Returns: The parameters as a boolean value.
+ASSOCIATIONS - Property in DefaultJsonViewHelper
+ The associations parameter
+attemptResolveClass(java.lang.String) - Method in ResolvableGroovyTemplateEngine
+
+attemptResolvePath(java.lang.String) - Method in ResolvableGroovyTemplateEngine
+
+attribute(java.lang.String, java.lang.Object) - Method in TestRequestConfigurer
+
+attributeNames - Property in GenericGroovyTemplateView.HttpViewRequest
+
+attributes - Property in TestRequestConfigurer
+
+author - Property in JsonViewGrailsPlugin
+
+author - Property in MarkupViewGrailsPlugin
+
+authorEmail - Property in JsonViewGrailsPlugin
+
+authorEmail - Property in MarkupViewGrailsPlugin
+
+
+
+
+
+
B
+
+
+baseDir - Property in GenericGroovyTemplateResolver
+
+baseTemplateClass - Property in GenericViewConfiguration
+ The template base class
+BEFORE_CLOSURE - Field in DefaultGrailsJsonViewHelper
+
+beforeMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression) - Method in BuilderTypeCheckingExtension
+
+beforeMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression) - Method in JsonTemplateTypeCheckingExtension
+
+binding - Property in MarkupViewTemplate
+
+binding - Property in WritableScript
+
+BLANK - Field in GenericViewUriResolver
+
+boolean(java.lang.String, java.lang.Boolean) - Method in DelegatingParameters
+
+boolean(java.lang.String, java.lang.Boolean) - Method in EmptyParameters
+
+boolean(java.lang.String, java.lang.Boolean) - Method in Parameters
+ Obtains the value of a parameter as a Boolean
+build() - Method in JsonGenerator.Options
+
+BUILDER_CLASS_NODE - Field in JsonTemplateTypeCheckingExtension
+
+builderExpression - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+builderInvokeMethod - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+BuilderMethodReplacer(org.codehaus.groovy.ast.MethodNode, org.codehaus.groovy.ast.MethodNode, java.lang.String, org.codehaus.groovy.control.SourceUnit, Set<MethodCallExpression>) - Constructor in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+BuilderTypeCheckingExtension - Class in grails.views.compiler
+An abstract type checking extension for view DSLs to implement
+BuilderTypeCheckingExtension.BuilderMethodReplacer - Class in grails.views.compiler
+
+BuilderTypeCheckingExtension() - Constructor in BuilderTypeCheckingExtension
+
+builderVariableName - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+buildPaginateParams(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String) - Method in DefaultJsonViewHelper
+
+buildQualifiers(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) - Method in SmartViewResolver
+
+byte(java.lang.String, java.lang.Integer) - Method in DelegatingParameters
+
+byte(java.lang.String, java.lang.Integer) - Method in EmptyParameters
+
+byte(java.lang.String, java.lang.Integer) - Method in Parameters
+ Obtains the value of a parameter as a byte
+
+
+
+
+
C
+
+
+cache - Property in GenericViewConfiguration
+ Whether the cache templates
+cache - Property in MarkupViewConfiguration
+
+cachedTemplates - Field in ResolvableGroovyTemplateEngine
+
+call(java.lang.String, grails.plugin.json.builder.JsonOutput.JsonUnescaped) - Method in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+call(java.lang.String, java.util.Map, groovy.lang.Closure) - Method in StreamingJsonBuilder
+ If you use named arguments and a closure as last argument,
+ the key/value pairs of the map (as named arguments)
+ and the key/value pairs represented in the closure
+ will be merged together —
+ the closure properties overriding the map key/values
+ in case the same key is used.
+call(java.lang.String, groovy.lang.Writable) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+ Writes an unescaped value.
+callsToBeReplaced - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+char(java.lang.String, java.lang.Character) - Method in DelegatingParameters
+
+char(java.lang.String, java.lang.Character) - Method in EmptyParameters
+
+char(java.lang.String, java.lang.Character) - Method in Parameters
+ Obtains the value of a parameter as a character
+characterEncoding - Property in TestRequestConfigurer
+
+charAt(int) - Method in JsonOutput.JsonWritable
+
+classLoader - Property in GenericGroovyTemplateResolver
+ The class loader to use for template loading in production mode
+classLoader - Property in ResolvableGroovyTemplateEngine
+ The class loader to use
+classNode - Property in ViewsTransform.ModelTypesVisitor
+
+cloneDelegateAndGetContent(java.io.Writer, groovy.lang.Closure, boolean, grails.plugin.json.builder.JsonGenerator) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+CLOSE_BRACE - Field in JsonOutput
+
+CLOSE_BRACKET - Field in JsonOutput
+
+closure - Field in DefaultJsonGenerator.ClosureConverter
+
+ClosureConverter(Class<?>, Closure<?>) - Constructor in DefaultJsonGenerator.ClosureConverter
+
+COLON - Field in JsonOutput
+
+COLON_WITH_OPEN_BRACE - Field in StreamingJsonBuilder
+
+COMMA - Field in JsonOutput
+
+compilationUnit - Property in ViewsTransform
+
+compile(java.io.File) - Method in AbstractGroovyTemplateCompiler
+
+compile() - Method in AbstractGroovyTemplateCompileTask
+
+COMPILE_STATIC - Field in MarkupViewTemplateEngine
+
+compileOptions - Property in AbstractGroovyTemplateCompileTask
+
+compilerConfiguration - Field in ResolvableGroovyTemplateEngine
+ Whether to reload views
+compileStatic - Property in GenericViewConfiguration
+ Whether to compile templates statically
+compileStatic - Field in JsonViewTemplateEngine
+
+compileStatic - Field in MarkupViewTemplateEngine
+
+componentType - Property in ErrorsJsonViewRenderer
+
+config - Property in GrailsView
+ Returns: The configuration
+config(grails.config.Config) - Method in TestRequestConfigurer
+
+configuration - Property in AbstractGroovyTemplateCompiler
+
+configuration - Property in GenericGroovyTemplateView
+
+configuration - Property in MarkupViewWritableScriptTemplate
+
+configuration - Property in SmartViewResolver
+
+configure(java.lang.ClassLoader, groovy.text.markup.TemplateConfiguration) - Method in MarkupViewTemplateEngine.1
+
+configureCompiler(org.codehaus.groovy.control.CompilerConfiguration) - Method in AbstractGroovyTemplateCompiler
+
+configureCompiler(org.codehaus.groovy.control.CompilerConfiguration) - Method in JsonViewCompiler
+
+configureCompiler(org.codehaus.groovy.control.CompilerConfiguration) - Method in MarkupViewCompiler
+
+containsKey(java.lang.Object) - Method in DelegatingParameters
+
+containsKey(java.lang.Object) - Method in EmptyParameters
+
+containsKey(java.lang.Object) - Method in Parameters
+ Returns: Whether or not the key exists
+contentType - Property in DefaultHalViewHelper
+
+contentType - Property in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+contentType(java.lang.String) - Method in GenericGroovyTemplateView.HttpViewResponse
+
+contentType - Property in JsonRenderResult
+ The content type
+contentType(java.lang.String) - Method in JsonViewTest.TestHttpResponse
+
+contentType(java.lang.String) - Method in JsonViewUnitTest.TestHttpResponse
+
+contentType(java.lang.String) - Method in Response
+ Set the response content type
+contentType - Property in SmartViewResolver
+
+contentType - Property in TestRequestConfigurer
+
+contextPath - Property in TestRequestConfigurer
+
+controllerName - Property in GrailsView
+ Returns: The current controller name
+controllerName(java.lang.String) - Method in TestRequestConfigurer
+
+controllerNamespace - Property in GrailsView
+ Returns: The current controller namespace
+controllerNamespace(java.lang.String) - Method in TestRequestConfigurer
+
+convert(java.lang.Object, java.lang.String) - Method in DefaultJsonGenerator.ClosureConverter
+ Converts a given value.
+convert(java.lang.Object, java.lang.String) - Method in InstantJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in JsonGenerator.Converter
+ Converts a given object.
+convert(java.lang.Object, java.lang.String) - Method in LocalDateJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in LocalDateTimeJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in LocalTimeJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in OffsetDateTimeJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in OffsetTimeJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in PeriodJsonConverter
+
+convert(java.lang.Object, java.lang.String) - Method in ZonedDateTimeJsonConverter
+
+converters - Field in DefaultJsonGenerator
+
+converters - Field in JsonGenerator.Options
+
+createlinksRenderingClosure(Map<String, Object>) - Method in DefaultHalViewHelper
+
+createMarkupViewTemplate(groovy.text.Template) - Method in MarkupViewTemplateEngine
+
+createTemplate(Class<? extends Template>, java.io.File) - Method in JsonViewTemplateEngine
+
+createTemplate(Class<? extends Template>, java.io.File) - Method in MarkupViewTemplateEngine
+
+createTemplate(java.io.Reader) - Method in ResolvableGroovyTemplateEngine
+
+currentBlock - Property in HalCodeVisitorSupport
+
+curryDelegateAndGetContent(java.io.Writer, groovy.lang.Closure, java.lang.Object, boolean, grails.plugin.json.builder.JsonGenerator) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+
+
+
+
+
D
+
+
+date(java.lang.String, java.lang.String) - Method in DelegatingParameters
+
+date(java.lang.String, java.lang.String) - Method in EmptyParameters
+
+date(java.lang.String, java.lang.String) - Method in Parameters
+ Obtains the value of a parameter as a Date
+dateFormat - Field in DefaultJsonGenerator
+
+dateFormat - Field in JsonGenerator.Options
+
+dateFormat - Property in JsonViewGeneratorConfiguration
+
+dateLocale - Field in DefaultJsonGenerator
+
+dateLocale - Field in JsonGenerator.Options
+
+DEEP - Field in GrailsJsonViewHelper
+ The deep parameter
+DEFAULT_EXCLUDES - Field in DefaultJsonViewHelper
+
+DEFAULT_GENERATOR - Field in JsonOutput
+
+DEFAULT_GORM_EXCLUDES - Field in DefaultJsonViewHelper
+
+DEFAULT_TIMEZONE - Field in JsonGenerator.Options
+
+DEFAULT_TIMEZONE - Field in JsonOutput
+
+DEFAULT_VALIDATEABLE_EXCLUDES - Field in DefaultJsonViewHelper
+
+defaultEncoding - Field in GenericGroovyTemplateView
+
+DefaultGrailsJsonViewHelper - Class in grails.plugin.json.view.api.internal
+Extended version of DefaultGrailsViewHelper with methods specific to JSON view rendering
+DefaultGrailsJsonViewHelper.1 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.1() - Constructor in DefaultGrailsJsonViewHelper.1
+
+DefaultGrailsJsonViewHelper.2 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.2() - Constructor in DefaultGrailsJsonViewHelper.2
+
+DefaultGrailsJsonViewHelper.3 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.3() - Constructor in DefaultGrailsJsonViewHelper.3
+
+DefaultGrailsJsonViewHelper.4 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.4() - Constructor in DefaultGrailsJsonViewHelper.4
+
+DefaultGrailsJsonViewHelper.5 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.5() - Constructor in DefaultGrailsJsonViewHelper.5
+
+DefaultGrailsJsonViewHelper.6 - Class in grails.plugin.json.view.api.internal
+
+DefaultGrailsJsonViewHelper.6() - Constructor in DefaultGrailsJsonViewHelper.6
+
+DefaultGrailsJsonViewHelper() - Constructor in DefaultGrailsJsonViewHelper
+
+DefaultGrailsViewHelper - Class in grails.views.api.internal
+Default methods for views, additional methods can be added via traits
+DefaultGrailsViewHelper(grails.views.api.GrailsView) - Constructor in DefaultGrailsViewHelper
+
+DefaultHalViewHelper - Class in grails.plugin.json.view.api.internal
+Helps creating HAL links
+DefaultHalViewHelper.1 - Class in grails.plugin.json.view.api.internal
+
+DefaultHalViewHelper.1() - Constructor in DefaultHalViewHelper.1
+
+DefaultHalViewHelper.HalStreamingJsonDelegate - Class in grails.plugin.json.view.api.internal
+
+DefaultHalViewHelper(grails.plugin.json.view.api.JsonView, grails.plugin.json.view.api.GrailsJsonViewHelper) - Constructor in DefaultHalViewHelper
+
+DefaultJsonApiIdRenderer - Class in grails.plugin.json.view.api.jsonapi
+
+DefaultJsonApiIdRenderer() - Constructor in DefaultJsonApiIdRenderer
+
+DefaultJsonApiViewHelper - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.1 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.1() - Constructor in DefaultJsonApiViewHelper.1
+
+DefaultJsonApiViewHelper.2 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.2() - Constructor in DefaultJsonApiViewHelper.2
+
+DefaultJsonApiViewHelper.3 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.3() - Constructor in DefaultJsonApiViewHelper.3
+
+DefaultJsonApiViewHelper.4 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.4() - Constructor in DefaultJsonApiViewHelper.4
+
+DefaultJsonApiViewHelper.5 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.5() - Constructor in DefaultJsonApiViewHelper.5
+
+DefaultJsonApiViewHelper.6 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.6() - Constructor in DefaultJsonApiViewHelper.6
+
+DefaultJsonApiViewHelper.7 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonApiViewHelper.7() - Constructor in DefaultJsonApiViewHelper.7
+
+DefaultJsonApiViewHelper(grails.plugin.json.view.api.JsonView, grails.plugin.json.view.api.GrailsJsonViewHelper) - Constructor in DefaultJsonApiViewHelper
+
+DefaultJsonGenerator - Class in grails.plugin.json.builder
+Temporary fork of DefaultJsonGenerator until Groovy 2.5.0 is out.
+DefaultJsonGenerator.ClosureConverter - Class in grails.plugin.json.builder
+A converter that handles converting a given type to a JSON value
+ using a closure.
+DefaultJsonGenerator(Options) - Constructor in DefaultJsonGenerator
+
+DefaultJsonViewHelper - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonViewHelper.1 - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonViewHelper.1() - Constructor in DefaultJsonViewHelper.1
+
+DefaultJsonViewHelper() - Constructor in DefaultJsonViewHelper
+
+DefaultJsonViewIncludeExcludeSupport - Class in grails.plugin.json.view.api.internal
+
+DefaultJsonViewIncludeExcludeSupport(List<String>, List<String>) - Constructor in DefaultJsonViewIncludeExcludeSupport
+
+defaultPaginateParams(java.util.Map) - Method in DefaultJsonViewHelper
+
+defaultRenderer - Property in DefaultViewRenderer
+
+DefaultViewRenderer - Class in grails.views.mvc.renderer
+A renderer implementation that looks up a view from the ViewResolver
+DefaultViewRenderer(Class<T>, grails.web.mime.MimeType, grails.views.mvc.SmartViewResolver, grails.core.support.proxy.ProxyHandler, grails.rest.render.RendererRegistry, grails.rest.render.Renderer) - Constructor in DefaultViewRenderer
+
+delegate - Property in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+delegateInvokeMethod - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+DelegatingParameters - Class in grails.views.mvc.http
+Delegate to a GrailsParameterMap implementation
+DelegatingParameters(grails.util.TypeConvertingMap) - Constructor in DelegatingParameters
+
+description - Property in JsonViewGrailsPlugin
+
+description - Property in MarkupViewGrailsPlugin
+
+developers - Property in JsonViewGrailsPlugin
+
+developers - Property in MarkupViewGrailsPlugin
+
+DEVELOPMENT_MODE - Field in ViewsEnvironment
+
+disableUnicodeEscaping - Field in DefaultJsonGenerator
+
+disableUnicodeEscaping - Field in JsonGenerator.Options
+
+documentation - Property in JsonViewGrailsPlugin
+
+documentation - Property in MarkupViewGrailsPlugin
+
+DOT_CHAR - Field in GenericGroovyTemplateResolver
+
+DOUBLE_CLOSE_BRACKET - Field in StreamingJsonBuilder
+
+double(java.lang.String, java.lang.Double) - Method in DelegatingParameters
+
+double(java.lang.String, java.lang.Double) - Method in EmptyParameters
+
+double(java.lang.String, java.lang.Double) - Method in Parameters
+ Obtains the value of a parameter as a Double
+doWithSpring() - Method in JsonViewGrailsPlugin
+
+doWithSpring() - Method in MarkupViewGrailsPlugin
+
+doWrite(java.io.Writer) - Method in AbstractWritableScript
+ Subclasses should implement to perform the write
+doWrite(java.io.Writer) - Method in JsonViewWritableScript
+
+dynamicPrefix - Property in ViewsTransform
+
+
+
+
+
+
E
+
+
+EMBEDDED_ATTRIBUTE - Field in DefaultHalViewHelper
+
+embedded(java.lang.String, groovy.lang.Closure) - Method in DefaultHalViewHelper
+ Outputs a HAL embedded entry for the content type and closure
+embedded(java.lang.String, groovy.lang.Closure) - Method in HalViewHelper
+ Outputs a HAL embedded entry for the content type and closure
+EMBEDDED_PARAMETER - Field in DefaultHalViewHelper
+
+EMPTY_LIST_CHARS - Field in JsonOutput
+
+EMPTY_MAP_CHARS - Field in JsonOutput
+
+EMPTY_STRING_CHARS - Field in JsonOutput
+
+EmptyParameters - Class in grails.views.api.internal
+An empty parameters implementation
+EmptyParameters() - Constructor in EmptyParameters
+
+enableReloading - Property in GenericViewConfiguration
+ Whether to enable reloading
+enableReloading - Property in ResolvableGroovyTemplateEngine
+ Whether to enable reloading
+encoding(java.lang.String) - Method in GenericGroovyTemplateView.HttpViewResponse
+
+encoding - Property in GenericViewConfiguration
+ The encoding to use
+encoding(java.lang.String) - Method in JsonViewTest.TestHttpResponse
+
+encoding(java.lang.String) - Method in JsonViewUnitTest.TestHttpResponse
+
+encoding(java.lang.String) - Method in Response
+ Sets the response encoding
+encoding - Property in ViewCompileOptions
+
+ensureAbsolute(java.util.Map) - Method in DefaultGrailsViewHelper
+
+equals(java.lang.Object) - Method in DefaultJsonGenerator.ClosureConverter
+ Any two Converter instances registered for the same type are considered
+ to be equal.
+ErrorsJsonViewRenderer - Class in grails.plugin.json.renderer
+Renderer for the errors view
+ErrorsJsonViewRenderer() - Constructor in ErrorsJsonViewRenderer
+
+escapeUnicode - Property in JsonViewGeneratorConfiguration
+
+excludedFieldNames - Field in DefaultJsonGenerator
+
+excludedFieldNames - Field in JsonGenerator.Options
+
+excludedFieldTypes - Field in DefaultJsonGenerator
+
+excludedFieldTypes - Field in JsonGenerator.Options
+
+excludeFieldsByName(Iterable<? extends CharSequence>) - Method in JsonGenerator.Options
+ Excludes from the output any fields that match the specified names.
+excludeFieldsByType(Iterable<Class<?>>) - Method in JsonGenerator.Options
+ Excludes from the output any fields whose type is the same or is
+ assignable to any of the given types.
+excludeNulls - Field in DefaultJsonGenerator
+
+excludeNulls - Field in JsonGenerator.Options
+
+execute(org.gradle.work.InputChanges) - Method in AbstractGroovyTemplateCompileTask
+
+execute(org.gradle.process.JavaExecSpec) - Method in AbstractGroovyTemplateCompileTask.1
+
+EXPAND - Property in DefaultJsonViewHelper
+ The expand parameter
+extension - Property in GenericViewConfiguration
+ The file extension of the templates
+extension - Property in GenericViewUriResolver
+
+EXTENSION - Field in JsonViewWritableScript
+
+EXTENSION - Field in MarkupViewTemplate
+
+extension - Property in ResolvableGroovyTemplateEngine
+ The view uri resolver
+extension - Property in ViewsTransform
+
+
+
+
+
+
F
+
+
+field - Property in WritableScriptTemplate.FieldSetter
+
+FieldSetter(java.lang.reflect.Field) - Constructor in WritableScriptTemplate.FieldSetter
+
+fileExtension - Property in AbstractGroovyTemplatePlugin
+
+fileName - Property in ViewCompilationException
+
+findConverter(Class<?>) - Method in DefaultJsonGenerator
+ Finds a converter that can handle the given type.
+findEntity(java.lang.Object) - Method in DefaultJsonViewHelper
+
+findFirstElementCausedByScript() - Method in ViewRenderException
+
+findTraitInjectors() - Method in JsonViewsTransform
+
+findTraitInjectors() - Method in MarkupViewsTransform
+
+findTraitInjectors() - Method in ViewsTransform
+
+findUniquePackages(grails.core.GrailsClass) - Method in GenericViewConfiguration
+
+findViewConfigPropertyDescriptor() - Method in JsonViewConfiguration
+
+findViewConfigPropertyDescriptor() - Method in MarkupViewConfiguration
+
+first - Field in JsonOutput.JsonWritable
+
+first - Field in StreamingJsonBuilder.StreamingJsonDelegate
+
+float(java.lang.String, java.lang.Float) - Method in DelegatingParameters
+
+float(java.lang.String, java.lang.Float) - Method in EmptyParameters
+
+float(java.lang.String, java.lang.Float) - Method in Parameters
+ Obtains the value of a parameter as a Float
+forkOptions - Property in ViewCompileOptions
+
+fullTemplateNameForClass(Class<?>) - Method in TemplateResolverUtils
+
+
+
+
+
+
G
+
+
+generator - Property in JsonView
+ The default generator
+generator - Property in JsonViewConfiguration
+
+generator - Property in JsonViewTemplate
+
+generator - Property in JsonViewTemplateEngine
+
+generator - Field in StreamingJsonBuilder
+
+generator - Field in StreamingJsonBuilder.StreamingJsonDelegate
+
+GenericGroovyTemplateResolver - Class in grails.views.resolve
+A generic TemplateResolver for resolving Groovy templates that are compiled into classes
+GenericGroovyTemplateResolver() - Constructor in GenericGroovyTemplateResolver
+
+GenericGroovyTemplateView - Class in grails.views.mvc
+An implementation of the Spring AbstractUrlBaseView class for ResolvableGroovyTemplateEngine
+GenericGroovyTemplateView.HttpViewRequest - Class in grails.views.mvc
+
+GenericGroovyTemplateView.HttpViewResponse - Class in grails.views.mvc
+
+GenericGroovyTemplateView() - Constructor in GenericGroovyTemplateView
+
+GenericGroovyTemplateViewResolver - Class in grails.views.mvc
+A UrlBasedViewResolver for ResolvableGroovyTemplateEngine
+GenericGroovyTemplateViewResolver(grails.views.mvc.SmartViewResolver) - Constructor in GenericGroovyTemplateViewResolver
+
+GenericViewConfiguration - Trait in grails.views
+Default configuration
+GenericViewUriResolver - Class in grails.views.resolve
+Generic implementation for resolving views
+GenericViewUriResolver(java.lang.String) - Constructor in GenericViewUriResolver
+
+get(java.lang.String, java.lang.String) - Method in DelegatingParameters
+
+get(java.lang.String, java.lang.String) - Method in EmptyParameters
+
+get(java.lang.String, java.lang.String) - Method in Parameters
+ Obtains the value of a parameter
+getAbsoluteTemplateURI(java.lang.String, boolean) - Method in GenericViewUriResolver
+ Used to resolve template names that are not relative to a controller.
+getAt(java.lang.Object) - Method in DelegatingParameters
+
+getAt(java.lang.Object) - Method in EmptyParameters
+
+getAt(java.lang.Object) - Method in Parameters
+
+getAttribute(java.lang.String) - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getAttribute(java.lang.String) - Method in Request
+ Obtains the value of an attribute
+getAttribute(java.lang.String) - Method in TestRequestConfigurer
+
+getAttributeNames() - Method in Request
+ Returns: All of the attribute names
+getAttributeNames() - Method in TestRequestConfigurer
+
+getAttributes(org.grails.datastore.mapping.model.PersistentEntity) - Method in DefaultJsonApiViewHelper
+
+getBaseTemplateClass() - Method in ViewConfiguration
+ Returns: The template base class
+getBinding() - Method in MarkupViewTemplate
+
+getBinding() - Method in WritableScript
+ Returns: Obtains the binding
+getBooleanFromMap(java.lang.String, Map<?, ?>, boolean) - Method in ViewUtils
+ Retrieves a boolean value from a Map for the given key
+getBuilderClassNode() - Method in BuilderTypeCheckingExtension
+ Returns: The class node of the builder
+getBuilderClassNode() - Method in JsonTemplateTypeCheckingExtension
+
+getBuilderInvokeMethod() - Method in BuilderTypeCheckingExtension
+ Returns: The method node to invoke for an unresolved dynamic method on the main builder variable
+getBuilderInvokeMethod() - Method in JsonTemplateTypeCheckingExtension
+
+getBuilderVariableName() - Method in BuilderTypeCheckingExtension
+ Returns: The name within the view script of the main builder variable
+getBuilderVariableName() - Method in JsonTemplateTypeCheckingExtension
+
+getCachedTemplatesWithDefault(java.lang.String) - Method in ResolvableGroovyTemplateEngine
+
+getCharacterEncoding() - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getCharacterEncoding() - Method in Request
+ Returns: The request character encoding
+getCompilerConfiguration() - Method in ResolvableGroovyTemplateEngine
+
+getCompilerName() - Method in AbstractGroovyTemplateCompileTask
+
+getCompilerName() - Method in JsonViewCompilerTask
+
+getCompilerName() - Method in MarkupViewCompilerTask
+
+getContentType() - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getContentType() - Method in Request
+ Returns: The request content type
+getContextPath() - Method in DefaultGrailsViewHelper
+
+getContextPath() - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getContextPath() - Method in Request
+
+getContextPath() - Method in TestLinkGenerator
+
+getDelegateInvokeMethod() - Method in BuilderTypeCheckingExtension
+ Returns: The method node to invoke for unresolved methods within closures of the builder (implicit this)
+getDelegateInvokeMethod() - Method in JsonTemplateTypeCheckingExtension
+
+getDynamicTemplatePrefix() - Method in JsonViewTemplateEngine
+
+getDynamicTemplatePrefix() - Method in MarkupViewTemplateEngine
+
+getDynamicTemplatePrefix() - Method in ResolvableGroovyTemplateEngine
+
+getEncoding() - Method in ViewConfiguration
+ Returns: The default encoding to use to render views
+getExcludes(java.util.Map) - Method in DefaultJsonViewHelper
+
+getExpandProperties(grails.plugin.json.view.api.JsonView, java.util.Map) - Method in DefaultJsonViewHelper
+
+getExtension() - Method in ViewConfiguration
+ Returns: The file extension
+getFileExtension() - Method in AbstractGroovyTemplateCompileTask
+
+getFileExtension() - Method in JsonViewCompilerTask
+
+getFileExtension() - Method in MarkupViewCompilerTask
+
+getFileName() - Method in ViewRenderException
+
+getG() - Method in GrailsView
+ Returns: Obtain the view helper
+getG() - Method in JsonView
+ Returns: The default view helper
+getGenerator() - Method in DefaultJsonViewHelper
+
+getGenericType(java.lang.Class, java.beans.PropertyDescriptor) - Method in DefaultJsonViewHelper
+
+getHeader(java.lang.String) - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getHeader(java.lang.String) - Method in Request
+ Obtains the value of a header
+getHeader(java.lang.String) - Method in TestRequestConfigurer
+
+getHeaderNames() - Method in Request
+ Returns: The header for the request
+getHeaderNames() - Method in TestRequestConfigurer
+
+getHeaders(java.lang.String) - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getHeaders(java.lang.String) - Method in Request
+ Obtains all the values for the give header
+getHeaders(java.lang.String) - Method in TestRequestConfigurer
+
+getIdGenerator() - Method in DefaultJsonApiViewHelper
+
+getIncludes(java.util.Map) - Method in DefaultJsonViewHelper
+
+getIndent(int, Map<Integer,char[]>) - Method in JsonOutput
+ Creates new indent if it not exists in the indent cache.
+getIterableWritable(java.lang.Iterable, groovy.lang.Closure) - Method in DefaultGrailsJsonViewHelper
+
+getJsonStackTrace(java.lang.Throwable) - Method in DefaultJsonViewHelper
+
+getLastOffset(java.lang.Integer, java.lang.Integer) - Method in DefaultJsonViewHelper
+
+getLineNumber() - Method in ViewCompilationException
+
+getLinkGenerator() - Method in DefaultGrailsViewHelper
+
+getLinkGenerator() - Method in GrailsView
+ The link generator
+getLinks(java.lang.Object) - Method in DefaultHalViewHelper
+
+getMappingContext() - Method in GrailsView
+ The GORM mapping context
+getMappingContext() - Method in JsonViewUnitTest
+
+getMapWritable(java.util.Map, java.util.Map, groovy.lang.Closure, JsonWritable>) - Method in DefaultGrailsJsonViewHelper
+
+getMessageSource() - Method in GrailsView
+ The message source object
+getMethod() - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getMethod() - Method in Request
+ Returns: The request method
+getMimeUtility() - Method in GrailsView
+ The mime utility
+getModelTypes() - Method in AbstractWritableScript
+
+getNextOffset(java.lang.Integer, java.lang.Integer, java.lang.Integer) - Method in DefaultJsonViewHelper
+
+getObjectProperties(java.lang.Object) - Method in DefaultJsonGenerator
+
+getOut() - Method in AbstractWritableScript
+ Returns: The current writer
+getOut() - Method in WriterProvider
+ Returns: The current writer
+getPackageImports() - Method in ViewConfiguration
+ Returns: The packages to automatically import
+getPackageName() - Method in ViewConfiguration
+
+getPage() - Method in HttpView
+
+getPaginationLinks(java.lang.Object, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String) - Method in DefaultJsonViewHelper
+
+getParentPath() - Method in WritableScriptTemplate
+ The path to the parent directory that containers the template
+getPersistentEntity(org.grails.datastore.mapping.model.PersistentEntity, java.lang.Object) - Method in DefaultGrailsJsonViewHelper
+ Retrieves the persistent entity of the value if it exists, defaults to {
Parameters: entity}
+getPrevOffset(java.lang.Integer, java.lang.Integer) - Method in DefaultJsonViewHelper
+
+getProjectPackageNames(java.io.File) - Method in AbstractGroovyTemplateCompileTask
+
+getProperty(java.lang.String) - Method in EmptyParameters
+
+getProperty(java.lang.String) - Method in Parameters
+
+getProxyHandler() - Method in GrailsView
+ Handlers for proxies
+getRelationships(org.grails.datastore.mapping.model.PersistentEntity) - Method in DefaultJsonApiViewHelper
+
+getRenderNulls(java.util.Map) - Method in DefaultJsonViewHelper
+
+getScriptBaseName() - Method in AbstractGroovyTemplateCompileTask
+
+getScriptBaseName() - Method in JsonViewCompilerTask
+
+getScriptBaseName() - Method in MarkupViewCompilerTask
+
+getServerBaseURL() - Method in DefaultGrailsViewHelper
+
+getServerBaseURL() - Method in TestLinkGenerator
+
+getSourceFile() - Method in WritableScript
+ Obtains the source file
+getSourceUnit() - Method in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+getStaticImports() - Method in ViewConfiguration
+ Returns: The static imports to automatically import
+getStringListFromMap(java.lang.String, java.util.Map, List<String>) - Method in ViewUtils
+ Obtains a list of strings from the map for the given key
+getTemplateEngine() - Method in GrailsView
+ The template engine
+getTemplateEngine() - Method in JsonViewUnitTest
+
+getTemplatePath() - Method in ViewConfiguration
+ Returns: Path to the templates
+getText() - Method in JsonOutput.JsonUnescaped
+
+getType() - Method in WritableScriptTemplate.VariableSetter
+
+getUri() - Method in GenericGroovyTemplateView.HttpViewRequest
+
+getUri() - Method in Request
+
+getValidIdProperties(org.grails.datastore.mapping.model.PersistentEntity, java.lang.Object, List<String>, List<String>, java.lang.String) - Method in DefaultGrailsJsonViewHelper
+
+getViewCacheWithDefault(java.lang.String) - Method in SmartViewResolver
+
+getViewModuleName() - Method in JsonViewConfiguration
+
+getViewModuleName() - Method in MarkupViewConfiguration
+
+getViewModuleName() - Method in ViewConfiguration
+ Returns: The name of the views module (example json or markup)
+getWriter() - Method in StreamingJsonBuilder.StreamingJsonDelegate
+ Returns: Obtains the current writer
+GrailsJsonViewHelper - Interface in grails.plugin.json.view.api
+Additional methods specific to JSON views
+GrailsJsonViewsPlugin - Class in grails.views.gradle.json
+Concrete implementation of plugin for JSON views
+GrailsJsonViewsPlugin() - Constructor in GrailsJsonViewsPlugin
+
+GrailsMarkupViewsPlugin - Class in grails.views.gradle.markup
+A plugin for compiling markup templates
+GrailsMarkupViewsPlugin() - Constructor in GrailsMarkupViewsPlugin
+
+grailsVersion - Property in JsonViewGrailsPlugin
+
+grailsVersion - Property in MarkupViewGrailsPlugin
+
+GrailsView - Trait in grails.views.api
+A trait for all view types to extend to add methods to generate links, render other templates and so on
+GrailsViewHelper - Interface in grails.views.api
+Methods available via the 'g' namespace in views
+GrailsViewTemplate - Class in grails.views
+
+GrailsViewTemplate() - Constructor in GrailsViewTemplate
+
+
+
+
+
+
H
+
+
+hal - Property in JsonView
+ The HAL view helper
+HalCodeVisitorSupport - Class in grails.views.compiler
+
+HalCodeVisitorSupport(org.codehaus.groovy.control.CompilationUnit) - Constructor in HalCodeVisitorSupport
+
+HalStreamingJsonDelegate(java.lang.String, grails.plugin.json.view.api.internal.DefaultHalViewHelper, grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate) - Constructor in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+HalViewHelper - Interface in grails.plugin.json.view.api
+
+handles(Class<?>) - Method in DefaultJsonGenerator.ClosureConverter
+ Returns true
if this converter can handle conversions
+ of the given type.
+handles(Class<?>) - Method in InstantJsonConverter
+
+handles(Class<?>) - Method in JsonGenerator.Converter
+ Returns true
if this converter can handle conversions
+ of the given type.
+handles(Class<?>) - Method in LocalDateJsonConverter
+
+handles(Class<?>) - Method in LocalDateTimeJsonConverter
+
+handles(Class<?>) - Method in LocalTimeJsonConverter
+
+handles(Class<?>) - Method in OffsetDateTimeJsonConverter
+
+handles(Class<?>) - Method in OffsetTimeJsonConverter
+
+handles(Class<?>) - Method in PeriodJsonConverter
+
+handles(Class<?>) - Method in ZonedDateTimeJsonConverter
+
+handleValue(java.lang.Object, java.io.Writer, java.util.Map, groovy.lang.Closure, JsonWritable>, java.lang.String) - Method in DefaultGrailsJsonViewHelper
+
+hashCode() - Method in DefaultJsonGenerator.ClosureConverter
+
+header(java.lang.String, java.lang.String) - Method in GenericGroovyTemplateView.HttpViewResponse
+
+header(Map<String, String>) - Method in JsonViewTest.TestHttpResponse
+
+header(Map<String, String>) - Method in JsonViewUnitTest.TestHttpResponse
+
+header(Map<String, String>) - Method in Response
+ Set a single named value header
+header(java.lang.String, java.lang.String) - Method in TestRequestConfigurer
+
+headerNames - Property in GenericGroovyTemplateView.HttpViewRequest
+ Returns: The header for the request
+headers(Map<String, String>) - Method in GenericGroovyTemplateView.HttpViewResponse
+
+headers - Property in JsonRenderResult
+ The headers
+headers(Map<String, String>) - Method in JsonViewTest.TestHttpResponse
+
+headers(Map<String, String>) - Method in JsonViewUnitTest.TestHttpResponse
+
+headers(Map<String, String>) - Method in Response
+ Set multiple headers
+headers - Property in TestRequestConfigurer
+
+HREF_ATTRIBUTE - Field in DefaultHalViewHelper
+
+HREFLANG_ATTRIBUTE - Field in DefaultHalViewHelper
+
+httpServletResponse - Property in GenericGroovyTemplateView.HttpViewResponse
+
+HttpView - Trait in grails.views.api
+A view that is rendered in the context of an HTTP request
+HttpViewRequest(javax.servlet.http.HttpServletRequest) - Constructor in GenericGroovyTemplateView.HttpViewRequest
+
+HttpViewResponse(javax.servlet.http.HttpServletResponse) - Constructor in GenericGroovyTemplateView.HttpViewResponse
+
+
+
+
+
+
I
+
+
+includeAssociations(java.util.Map) - Method in DefaultJsonViewHelper
+
+includeExcludeSupport - Property in DefaultJsonViewHelper
+
+includes(List<String>, java.lang.String) - Method in DefaultJsonViewIncludeExcludeSupport
+
+inherits(java.util.Map) - Method in JsonView
+ Specify a template that this template inherits from
+initialize() - Method in JsonViewResolver
+
+initialize() - Method in MarkupViewResolver
+
+initializeProcessedObjects(groovy.lang.Binding) - Method in DefaultGrailsJsonViewHelper
+
+initializeTemplate(grails.views.GrailsViewTemplate, java.io.File) - Method in ResolvableGroovyTemplateEngine
+ Initialises a template instance
+initModelTypes(Class<? extends WritableScript>) - Method in ResolvableGroovyTemplateEngine.1
+
+initModelTypes(Class<? extends WritableScript>) - Method in WritableScriptTemplate
+
+inline(java.lang.Object, groovy.lang.Closure) - Method in DefaultGrailsJsonViewHelper
+
+inline(java.lang.Object, groovy.lang.Closure) - Method in DefaultHalViewHelper
+
+inline(java.lang.Object) - Method in GrailsJsonViewHelper
+ Renders the given object inline within the current JSON object instead of creating a new JSON object
+inline(java.lang.Object) - Method in HalViewHelper
+
+inline - Field in JsonOutput.JsonWritable
+
+inline - Property in JsonViewWritableScript
+
+innerEngine - Property in MarkupViewTemplateEngine
+
+insideScope - Property in BuilderTypeCheckingExtension
+
+InstantJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.Instant as json
+InstantJsonConverter() - Constructor in InstantJsonConverter
+
+int(java.lang.String, java.lang.Integer) - Method in DelegatingParameters
+
+int(java.lang.String, java.lang.Integer) - Method in EmptyParameters
+
+int(java.lang.String, java.lang.Integer) - Method in Parameters
+ Obtains the value of a parameter as an integer
+intercept(org.spockframework.runtime.extension.IMethodInvocation) - Method in JsonViewSetupSpecInterceptor
+
+invoke(grails.views.WritableScript, java.lang.Object) - Method in WritableScriptTemplate.FieldSetter
+
+invoke(grails.views.WritableScript, java.lang.Object) - Method in WritableScriptTemplate.MethodSetter
+
+invoke(grails.views.WritableScript, java.lang.Object) - Method in WritableScriptTemplate.VariableSetter
+
+invokeMethod(java.lang.String, java.lang.Object) - Method in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+invokeMethod(java.lang.String, java.lang.Object) - Method in StreamingJsonBuilder
+ A method call on the JSON builder instance will create a root object with only one key
+ whose name is the name of the method being called.
+
+invokeMethod(java.lang.String, java.lang.Object) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+invokeMethod(java.lang.String, java.lang.Object) - Method in TemplateRenderer
+
+isAllowResourceExpansion() - Method in ViewConfiguration
+ Returns: Whether to allow resource expansion
+isAttributeAssociation(org.grails.datastore.mapping.model.types.Association) - Method in DefaultJsonApiViewHelper
+
+isCache() - Method in MarkupViewConfiguration
+
+isCache() - Method in ViewConfiguration
+
+isCollectionWithClosure(java.lang.Object) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+isCompileStatic() - Method in ViewConfiguration
+ Returns: Should compile statically
+isDevelopmentMode() - Method in ViewsEnvironment
+ Returns: Whether development mode is enabled
+isEmpty() - Method in DelegatingParameters
+
+isEmpty() - Method in EmptyParameters
+
+isEmpty() - Method in Parameters
+ Returns: Whether there are any parameters
+isEnableReloading() - Method in ViewConfiguration
+ Returns: Whether reloading is enabled
+isExcludingFieldsNamed(java.lang.String) - Method in DefaultJsonGenerator
+ {@inheritDoc}
+isExcludingFieldsNamed(java.lang.String) - Method in JsonGenerator
+ Indicates whether this JsonGenerator is configured to exclude fields by
+ the given name.
+isExcludingValues(java.lang.Object) - Method in DefaultJsonGenerator
+ {@inheritDoc}
+isExcludingValues(java.lang.Object) - Method in JsonGenerator
+ Indicates whether this JsonGenerator is configured to exclude values
+ of the given object (may be null
).
+isMethodDynamic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) - Method in BuilderTypeCheckingExtension
+
+isMethodDynamic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) - Method in JsonTemplateTypeCheckingExtension
+
+isPrettyPrint() - Method in ViewConfiguration
+ Returns: Whether to pretty print
+isPropertyDynamic(org.codehaus.groovy.ast.expr.PropertyExpression) - Method in BuilderTypeCheckingExtension
+
+isPropertyDynamic(org.codehaus.groovy.ast.expr.PropertyExpression) - Method in JsonTemplateTypeCheckingExtension
+
+isSimpleType(java.lang.Class, java.lang.Object) - Method in DefaultJsonViewHelper
+
+isSimpleValue(java.lang.Object) - Method in DefaultGrailsJsonViewHelper
+
+isStringType(java.lang.Class) - Method in DefaultJsonViewHelper
+
+issueManagement - Property in JsonViewGrailsPlugin
+
+issueManagement - Property in MarkupViewGrailsPlugin
+
+isUseAbsoluteLinks() - Method in ViewConfiguration
+ Returns: Whether to use absolute links
+
+
+
+
+
J
+
+
+JSON_API_OBJECT - Property in DefaultJsonApiViewHelper
+ The jsonapiobject parameter
+JSON_BUILDER_INVOKE_METHOD - Field in JsonTemplateTypeCheckingExtension
+
+JSON_DATE_FORMAT - Field in JsonGenerator.Options
+
+JSON_DATE_FORMAT - Field in JsonOutput
+
+JSON_DATE_FORMAT_LOCALE - Field in JsonGenerator.Options
+
+JSON_DELEGATE_INVOKE_METHOD - Field in JsonTemplateTypeCheckingExtension
+
+json - Property in JsonRenderResult
+ The JSON result
+json - Property in JsonView
+ The StreamingJsonBuilder instance
+json(java.lang.Object) - Method in JsonViewWritableScript
+
+JSON_VIEW_SUFFIX - Field in JsonViewResolver
+
+jsonapi - Property in JsonView
+ The JSON API view helper
+JsonApiIdRenderStrategy - Interface in grails.plugin.json.view.api.jsonapi
+
+jsonApiIdRenderStrategy - Property in JsonView
+ The strategy to use to render identifiers in the JSON API specification
+jsonApiIdRenderStrategy - Property in JsonViewTemplate
+
+jsonApiIdRenderStrategy - Property in JsonViewTemplateEngine
+
+jsonApiIdRenderStrategy - Property in JsonViewTest
+
+JsonApiViewHelper - Interface in grails.plugin.json.view.api
+
+jsonDelegate - Field in DefaultHalViewHelper
+
+JsonGenerator - Interface in grails.plugin.json.builder
+Temporary fork of groovy JsonGenerator until Groovy 2.5.0 is out.
+JsonGenerator.Converter - Interface in grails.plugin.json.builder
+Handles converting a given type.
+JsonGenerator.Options - Class in grails.plugin.json.builder
+A builder used to construct a
JsonGenerator instance that allows
+ control over the serialized JSON output.
+JsonOutput - Class in grails.plugin.json.builder
+Temporary fork of groovy.json.JsonOutput until Groovy 2.5.0 is out.
+JsonOutput.JsonUnescaped - Class in grails.plugin.json.builder
+Represents unescaped JSON
+JsonOutput.JsonWritable - Class in grails.plugin.json.builder
+Represents unescaped JSON
+JsonRenderResult - Class in grails.plugin.json.view.test
+
+JsonRenderResult() - Constructor in JsonRenderResult
+
+JsonTemplateTypeCheckingExtension - Class in grails.plugin.json.view.internal
+A type checking extension for JSON builder
+JsonTemplateTypeCheckingExtension() - Constructor in JsonTemplateTypeCheckingExtension
+
+jsonText - Property in JsonRenderResult
+ The raw JSON text
+JsonUnescaped(java.lang.CharSequence) - Constructor in JsonOutput.JsonUnescaped
+
+JsonView - Trait in grails.plugin.json.view.api
+Extends default view API with additional methods
+jsonView - Property in TestRequestConfigurer
+
+JsonViewCompiler - Class in grails.plugin.json.view
+A compiler for JSON views
+JsonViewCompiler() - Constructor in JsonViewCompiler
+
+JsonViewCompilerTask - Class in grails.views.gradle.json
+Concrete implementation that compiles JSON templates
+JsonViewCompilerTask() - Constructor in JsonViewCompilerTask
+
+JsonViewConfiguration - Class in grails.plugin.json.view
+Default configuration for JSON views
+JsonViewConfiguration() - Constructor in JsonViewConfiguration
+
+JsonViewGeneratorConfiguration - Class in grails.plugin.json.view
+Created by jameskleeh on 11/8/16.
+JsonViewGeneratorConfiguration() - Constructor in JsonViewGeneratorConfiguration
+
+JsonViewGrailsPlugin - Class in grails.plugin.json.view
+
+JsonViewGrailsPlugin() - Constructor in JsonViewGrailsPlugin
+
+jsonViewHelper - Property in TemplateRenderer
+
+JsonViewJsonRenderer - Class in grails.plugin.json.renderer
+A renderer that will lookup a JSON view if it exists and render it, otherwise fallback to default
+JsonViewJsonRenderer(Class<T>, grails.web.mime.MimeType, grails.views.mvc.SmartViewResolver, grails.core.support.proxy.ProxyHandler, grails.rest.render.RendererRegistry, grails.rest.render.Renderer) - Constructor in JsonViewJsonRenderer
+
+JsonViewResolver - Class in grails.plugin.json.view.mvc
+
+jsonViewResolver - Property in AbstractJsonViewContainerRenderer
+
+JsonViewResolver(grails.plugin.json.view.JsonViewTemplateEngine, java.lang.String, java.lang.String) - Constructor in JsonViewResolver
+
+JsonViewSetupSpecInterceptor - Class in grails.views.json.test.spock
+
+JsonViewSetupSpecInterceptor() - Constructor in JsonViewSetupSpecInterceptor
+
+jsonViewSetupSpecInterceptor - Property in JsonViewSpockExtension
+
+JsonViewSpockExtension - Class in grails.views.json.test.spock
+
+JsonViewSpockExtension() - Constructor in JsonViewSpockExtension
+
+JsonViewsTransform - Class in grails.plugin.json.view.internal
+
+JsonViewsTransform() - Constructor in JsonViewsTransform
+
+JsonViewTemplate - Class in grails.plugin.json.view.template
+
+JsonViewTemplate() - Constructor in JsonViewTemplate
+
+JsonViewTemplateEngine - Class in grails.plugin.json.view
+A template engine for parsing JSON views
+JsonViewTemplateEngine(grails.views.ViewConfiguration, java.lang.ClassLoader) - Constructor in JsonViewTemplateEngine
+ Constructs a JsonTemplateEngine with a custom base class
+JsonViewTest - Trait in grails.plugin.json.view.test
+A trait that test classes can implement to add support for easily testing JSON views
+JsonViewTest.TestHttpResponse - Class in grails.plugin.json.view.test
+
+JsonViewUnitTest - Trait in grails.views.json.test
+
+JsonViewUnitTest.TestHttpResponse - Class in grails.views.json.test
+
+JsonViewWritableScript - Class in grails.plugin.json.view
+
+JsonViewWritableScript() - Constructor in JsonViewWritableScript
+
+
+
+
+
+
K
+
+
+keySet() - Method in DelegatingParameters
+
+keySet() - Method in EmptyParameters
+
+keySet() - Method in Parameters
+ Returns: The parameter names
+
+
+
+
+
L
+
+
+lastModified - Property in WritableScriptTemplate
+ The last modified stamp of the source file. -1 if no source file.
+length() - Method in JsonOutput.JsonWritable
+
+license - Property in JsonViewGrailsPlugin
+
+license - Property in MarkupViewGrailsPlugin
+
+lineNumber - Property in ViewRenderException
+
+link(java.util.Map, java.lang.String) - Method in DefaultGrailsViewHelper
+
+link(java.util.Map, java.lang.String) - Method in TestLinkGenerator
+
+linkGenerator - Property in GrailsViewTemplate
+ The link generator
+linkGenerator - Property in JsonViewTest
+
+linkGenerator - Field in ResolvableGroovyTemplateEngine
+
+LINKS_ATTRIBUTE - Field in DefaultHalViewHelper
+
+links(java.util.Map, java.lang.String) - Method in DefaultHalViewHelper
+
+links(java.util.Map, java.lang.Object, java.lang.Number) - Method in HalViewHelper
+ Creates HAL links for the given model and pagination object
+list(java.lang.String) - Method in DelegatingParameters
+
+list(java.lang.String) - Method in EmptyParameters
+
+list(java.lang.String) - Method in Parameters
+ Returns value of the parameter as a list of values
+LocalDateJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.LocalDate as json
+LocalDateJsonConverter() - Constructor in LocalDateJsonConverter
+
+LocalDateTimeJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.LocalDateTime as json
+LocalDateTimeJsonConverter() - Constructor in LocalDateTimeJsonConverter
+
+locale - Property in JsonViewGeneratorConfiguration
+
+locale - Property in View
+ The locale of the view
+localeResolver - Property in GenericGroovyTemplateView
+
+localeResolver - Property in SmartViewResolver
+
+LocalTimeJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.LocalTime as json
+LocalTimeJsonConverter() - Constructor in LocalTimeJsonConverter
+
+log - Field in AbstractWritableScript
+ A logger that can be used within views
+long(java.lang.String, java.lang.Long) - Method in DelegatingParameters
+
+long(java.lang.String, java.lang.Long) - Method in EmptyParameters
+
+long(java.lang.String, java.lang.Long) - Method in Parameters
+ Obtains the value of a parameter as a Long
+
+
+
+
+
M
+
+
+main(java.lang.String) - Method in JsonViewCompiler
+
+main(java.lang.String) - Method in MarkupViewCompiler
+
+make(java.util.Map) - Method in JsonViewTemplate
+
+make(java.util.Map) - Method in MarkupViewWritableScriptTemplate
+
+make(java.util.Map) - Method in ResolvableGroovyTemplateEngine.1
+
+make(java.util.Map) - Method in WritableScriptTemplate
+
+mappingContext - Property in GrailsViewTemplate
+ The GORM mapping context
+mappingContext - Property in JsonViewTest
+
+mappingContext - Field in ResolvableGroovyTemplateEngine
+
+mappingContext - Property in TestLinkGenerator
+
+MARKUP_VIEW_SUFFIX - Field in MarkupViewResolver
+
+MarkupView - Trait in grails.plugin.markup.view.api
+Extra methods added to markup views
+MarkupViewCompiler - Class in grails.plugin.markup.view
+A compiler for markup templates
+MarkupViewCompiler() - Constructor in MarkupViewCompiler
+
+MarkupViewCompilerTask - Class in grails.views.gradle.markup
+MarkupView compiler task for Gradle
+MarkupViewCompilerTask() - Constructor in MarkupViewCompilerTask
+
+MarkupViewConfiguration - Class in grails.plugin.markup.view
+
+MarkupViewConfiguration() - Constructor in MarkupViewConfiguration
+
+MarkupViewGrailsPlugin - Class in grails.plugin.markup.view
+Plugin class for markup views
+MarkupViewGrailsPlugin() - Constructor in MarkupViewGrailsPlugin
+
+MarkupViewResolver - Class in grails.plugin.markup.view.mvc
+
+MarkupViewResolver(grails.plugin.markup.view.MarkupViewTemplateEngine, java.lang.String, java.lang.String) - Constructor in MarkupViewResolver
+
+MarkupViewsTransform - Class in grails.plugin.markup.view.internal
+
+MarkupViewsTransform() - Constructor in MarkupViewsTransform
+
+MarkupViewTemplate - Class in grails.plugin.markup.view
+Base class for markup engine templates
+MarkupViewTemplate(groovy.text.markup.MarkupTemplateEngine, java.util.Map, Map<String, String>, groovy.text.markup.TemplateConfiguration) - Constructor in MarkupViewTemplate
+
+MarkupViewTemplateEngine - Class in grails.plugin.markup.view
+A ResolvableGroovyTemplateEngine that uses Groovy's groovy.text.markup.MarkupTemplateEngine internally
+MarkupViewTemplateEngine.1 - Class in grails.plugin.markup.view
+
+MarkupViewTemplateEngine.1() - Constructor in MarkupViewTemplateEngine.1
+
+MarkupViewTemplateEngine(grails.plugin.markup.view.MarkupViewConfiguration, java.lang.ClassLoader) - Constructor in MarkupViewTemplateEngine
+
+MarkupViewWritableScriptTemplate - Class in grails.plugin.markup.view
+
+MarkupViewWritableScriptTemplate(Class<? extends GrailsView>, java.io.File, groovy.text.markup.MarkupTemplateEngine, grails.plugin.markup.view.MarkupViewConfiguration) - Constructor in MarkupViewWritableScriptTemplate
+
+MarkupViewXmlRenderer - Class in grails.plugin.markup.view.renderer
+Integration with the Grails renderer framework
+MarkupViewXmlRenderer(Class<T>, grails.web.mime.MimeType, grails.views.mvc.SmartViewResolver, grails.core.support.proxy.ProxyHandler, grails.rest.render.RendererRegistry, grails.rest.render.Renderer) - Constructor in MarkupViewXmlRenderer
+
+message(java.util.Map) - Method in DefaultGrailsViewHelper
+
+message(java.util.Map) - Method in GrailsViewHelper
+ Obtains a i18n message
+message - Property in JsonRenderResult
+ The HTTP response message
+messageSource - Property in GrailsViewTemplate
+ The message source object
+messageSource - Property in JsonViewTest
+
+messageSource - Field in ResolvableGroovyTemplateEngine
+
+META - Property in DefaultJsonApiViewHelper
+ The meta parameter
+method - Property in TestRequestConfigurer
+
+method - Property in WritableScriptTemplate.MethodSetter
+
+MethodSetter(java.lang.Class, java.lang.reflect.Method) - Constructor in WritableScriptTemplate.MethodSetter
+
+mimeTypes - Property in JsonViewConfiguration
+
+mimeTypes - Property in MarkupViewConfiguration
+
+mimeUtility - Property in GrailsViewTemplate
+ The mime utility
+mimeUtility - Property in JsonViewTest
+
+mimeUtility - Field in ResolvableGroovyTemplateEngine
+
+model(java.lang.String, Class<T>) - Method in DefaultGrailsJsonViewHelper
+ Obtains a model value for the given name and type
+model(groovy.lang.Closure) - Method in GrailsView
+ Defines the model
+MODEL_OBJECT - Field in DefaultViewRenderer
+
+MODEL_TYPES_FIELD - Field in Views
+ Field used to hold the model types
+MODEL_TYPES - Field in Views
+ The identifier used for model types
+MODEL - Field in Views
+ The identifier used for model types
+modelSetters - Field in WritableScriptTemplate
+
+modelTypes - Property in AbstractWritableScript
+
+modelTypes - Property in ViewsTransform.ModelTypesVisitor
+
+ModelTypesVisitor(org.codehaus.groovy.control.SourceUnit) - Constructor in ViewsTransform.ModelTypesVisitor
+
+MODULE_NAME - Field in JsonViewConfiguration
+
+MODULE_NAME - Field in MarkupViewConfiguration
+
+
+
+
+
+
N
+
+
+NAME - Enum Constant in StreamingJsonBuilder.StreamingJsonDelegate.State
+
+NEW_LINE - Field in JsonOutput
+
+newStatements - Property in HalCodeVisitorSupport
+
+newViewsTransform() - Method in AbstractGroovyTemplateCompiler
+
+newViewsTransform() - Method in JsonViewCompiler
+
+newViewsTransform() - Method in JsonViewTemplateEngine
+
+newViewsTransform() - Method in MarkupViewCompiler
+
+newViewsTransform() - Method in MarkupViewTemplateEngine
+
+newViewsTransform() - Method in ResolvableGroovyTemplateEngine
+
+NOOP_OUTPUT - Field in DefaultJsonApiViewHelper
+
+notCircular(grails.plugin.json.view.template.JsonViewTemplate) - Method in DefaultGrailsJsonViewHelper
+
+NULL_ENTRY - Field in ResolvableGroovyTemplateEngine
+
+NULL_OUTPUT - Field in DefaultJsonViewHelper
+
+NULL_VALUE - Field in JsonOutput
+
+
+
+
+
+
O
+
+
+OBJECT_TEMPLATE_NAME - Field in SmartViewResolver
+
+objectHasErrors(java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+objectView - Property in SmartViewResolver
+
+OffsetDateTimeJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.OffsetDateTime as json
+OffsetDateTimeJsonConverter() - Constructor in OffsetDateTimeJsonConverter
+
+OffsetTimeJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.OffsetTime as json
+OffsetTimeJsonConverter() - Constructor in OffsetTimeJsonConverter
+
+OPEN_BRACE - Field in JsonOutput
+
+OPEN_BRACKET - Field in JsonOutput
+
+Options() - Constructor in JsonGenerator.Options
+
+organization - Property in JsonViewGrailsPlugin
+
+organization - Property in MarkupViewGrailsPlugin
+
+out - Property in AbstractWritableScript
+
+out - Property in View
+ The output stream
+
+
+
+
+
P
+
+
+packageImports - Property in GenericViewConfiguration
+ The default package imports
+packageName - Property in AbstractGroovyTemplateCompiler
+
+packageName - Property in AbstractGroovyTemplateCompileTask
+
+packageName - Property in GenericGroovyTemplateResolver
+ The base package to load templates as classes in production mode
+packageName - Property in GenericViewConfiguration
+ The package name to use
+paginate(java.lang.Object, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String) - Method in DefaultHalViewHelper
+
+paginate(java.lang.Object, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String) - Method in HalViewHelper
+ Pagination support which outputs hal links to the resulting pages
+PAGINATION - Property in DefaultJsonApiViewHelper
+ The pagination parameter
+PAGINATION_MAX - Field in DefaultJsonViewHelper
+
+PAGINATION_OFFSET - Field in DefaultJsonViewHelper
+
+PAGINATION_ORDER - Field in DefaultJsonViewHelper
+
+PAGINATION_RESROUCE - Field in DefaultJsonViewHelper
+
+PAGINATION_SORT - Field in DefaultJsonViewHelper
+
+PAGINATION_TOTAL - Field in DefaultJsonViewHelper
+
+paramCount - Field in DefaultJsonGenerator.ClosureConverter
+
+parameterMap - Property in DelegatingParameters
+
+Parameters - Interface in grails.views.api.http
+Represents HTTP parameters
+PARAMETERS - Field in JsonTemplateTypeCheckingExtension
+
+params - Property in HttpView
+ The parameters
+params(java.util.Map) - Method in TestRequestConfigurer
+
+paramsWithOffset(Map<String, Object>, java.lang.Integer) - Method in DefaultJsonViewHelper
+ Creates a new Parameter map with the new offset
+ Note: necessary to avoid clone until Groovy 2.5.x https://issues.apache.org/jira/browse/GROOVY-7325
+parentData - Property in JsonView
+
+ParentInfo - Class in grails.plugin.json.view.api.internal
+
+ParentInfo() - Constructor in ParentInfo
+
+parentModel - Property in ParentInfo
+ The parent model, if any
+parentTemplate - Property in ParentInfo
+ The parent template if any
+pathToSource - Property in AbstractGroovyTemplatePlugin
+
+PeriodJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.Period as json
+PeriodJsonConverter() - Constructor in PeriodJsonConverter
+
+PluginAwareTemplateResolver - Class in grails.views.resolve
+A template resolver capable of looking through the installed Grails plugins and finding a template within the scope of the plugin
+PluginAwareTemplateResolver(grails.views.ViewConfiguration) - Constructor in PluginAwareTemplateResolver
+
+pluginManager - Property in PluginAwareTemplateResolver
+
+populateModelWithViewState(java.util.Map) - Method in DefaultGrailsJsonViewHelper
+
+populatePackages(java.io.File, Collection<String>, java.lang.String) - Method in AbstractGroovyTemplateCompileTask
+
+prepareArguments(List<String>) - Method in AbstractGroovyTemplateCompileTask
+
+prepareCustomizers(org.codehaus.groovy.control.CompilerConfiguration) - Method in JsonViewTemplateEngine
+
+prepareCustomizers(org.codehaus.groovy.control.CompilerConfiguration) - Method in MarkupViewTemplateEngine
+
+prepareCustomizers(org.codehaus.groovy.control.CompilerConfiguration) - Method in ResolvableGroovyTemplateEngine
+
+prepareParentWritable(grails.views.GrailsViewTemplate, java.util.Map) - Method in JsonViewWritableScript
+
+prepareWritable(groovy.text.Template, java.util.Map) - Method in DefaultGrailsJsonViewHelper
+
+prepareWritable(groovy.lang.Writable, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.Locale) - Method in GenericGroovyTemplateView
+
+preProcessedOutput(java.lang.Object, JsonWritable>) - Method in DefaultGrailsJsonViewHelper
+
+prettyPrint - Property in GenericViewConfiguration
+ Whether to pretty print
+prettyPrint - Property in GrailsView
+ Whether to pretty print
+prettyPrint(java.lang.String) - Method in JsonOutput
+ Pretty print a JSON payload.
+prettyPrint - Property in WritableScriptTemplate
+ Whether to pretty print the template
+process(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate, org.grails.datastore.mapping.model.PersistentEntity, java.lang.Object, JsonWritable>, List<String>, List<String>, java.lang.String, boolean, boolean, List<String>, boolean, groovy.lang.Closure) - Method in DefaultGrailsJsonViewHelper
+
+PROCESSED_OBJECT_VARIABLE - Field in DefaultGrailsJsonViewHelper
+
+processSimple(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate, java.lang.Object, JsonWritable>, List<String>, List<String>, java.lang.String, java.lang.Boolean, groovy.lang.Closure) - Method in DefaultGrailsJsonViewHelper
+
+processSimpleProperty(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate, org.grails.datastore.mapping.model.PersistentProperty, java.lang.String, java.lang.Object) - Method in DefaultGrailsJsonViewHelper
+
+produceResult(groovy.text.Template, java.util.Map, groovy.lang.Closure) - Method in JsonViewTest
+
+produceResult(groovy.text.Template, java.util.Map, groovy.lang.Closure) - Method in JsonViewUnitTest
+
+profiles - Property in JsonViewGrailsPlugin
+
+profiles - Property in MarkupViewGrailsPlugin
+
+proxyHandler - Property in DefaultViewRenderer
+
+proxyHandler - Property in GrailsViewTemplate
+ Handlers for proxies
+proxyHandler - Property in JsonViewResolver
+
+proxyHandler - Property in MarkupViewResolver
+
+proxyHandler - Field in ResolvableGroovyTemplateEngine
+
+
+
+
+
+
Q
+
+
+QUOTE - Field in JsonOutput
+
+
+
+
+
+
R
+
+
+readConfiguration(grails.config.ConfigMap) - Method in GenericViewConfiguration
+
+render(T, grails.rest.render.RenderContext) - Method in AbstractJsonViewContainerRenderer
+
+render(java.util.Map) - Method in DefaultGrailsJsonViewHelper
+
+render(java.lang.Object) - Method in DefaultHalViewHelper
+
+render(java.lang.Object, org.grails.datastore.mapping.model.PersistentProperty) - Method in DefaultJsonApiIdRenderer
+
+render(java.lang.Object, java.util.Map) - Method in DefaultJsonApiViewHelper
+
+render(T, grails.rest.render.RenderContext) - Method in DefaultViewRenderer
+
+render(java.lang.Object, groovy.lang.Closure) - Method in GrailsJsonViewHelper
+ Renders the given object to JSON, typically a domain class, ignoring lazy and internal properties
+render(java.lang.Object) - Method in HalViewHelper
+
+render(java.lang.Object, org.grails.datastore.mapping.model.PersistentProperty) - Method in JsonApiIdRenderStrategy
+ Parameters: object
- The instance of the domain class
+render(java.lang.Object, java.util.Map) - Method in JsonApiViewHelper
+
+render(java.util.Map, groovy.lang.Closure) - Method in JsonViewTest
+ Render one of the GSON views in the grails-app/views directory for the given arguments
+render(java.util.Map, groovy.lang.Closure) - Method in JsonViewUnitTest
+ Render one of the GSON views in the grails-app/views directory for the given arguments
+renderChildTemplate(groovy.text.Template, java.lang.Class, java.lang.Object) - Method in DefaultGrailsJsonViewHelper
+
+renderData(java.lang.Object, java.util.Map) - Method in DefaultJsonApiViewHelper
+
+renderDefault(java.lang.Object, java.util.Map, groovy.lang.Closure, JsonWritable>, java.lang.String) - Method in DefaultGrailsJsonViewHelper
+
+renderEmbeddedEntity(java.lang.Object, org.grails.datastore.mapping.model.types.Association, java.io.Writer, java.lang.String, List<String>, List<String>) - Method in DefaultJsonApiViewHelper
+
+renderEntityId(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate, JsonWritable>, List<String>, List<String>, java.lang.String, boolean, boolean, List<String>, Map<PersistentProperty, Object>) - Method in DefaultGrailsJsonViewHelper
+
+renderEntityProperties(org.grails.datastore.mapping.model.PersistentEntity, java.lang.Object, org.grails.datastore.mapping.reflect.EntityReflector, grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate) - Method in DefaultHalViewHelper
+
+rendererRegistry - Property in DefaultViewRenderer
+
+rendererRegistry - Property in JsonViewResolver
+
+rendererRegistry - Property in MarkupViewResolver
+
+renderErrors(java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+renderException(java.io.Writer, java.lang.Throwable) - Method in DefaultJsonApiViewHelper
+
+renderIncluded(java.lang.Object, java.util.Map) - Method in DefaultJsonApiViewHelper
+
+renderJsonApiMember(java.io.Writer, java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+renderLinks(java.lang.Object, java.util.Map) - Method in DefaultJsonApiViewHelper
+
+renderMergedOutputModel(Map<String, Object>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) - Method in GenericGroovyTemplateView
+
+renderMetaObject(java.io.Writer, java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+renderProperty(java.lang.Object, org.grails.datastore.mapping.model.PersistentProperty, org.grails.datastore.mapping.reflect.EntityReflector, grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate) - Method in DefaultHalViewHelper
+
+renderRelationshipLinks(java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+renderResource(java.lang.Object, java.io.Writer, java.util.Map, java.lang.String) - Method in DefaultJsonApiViewHelper
+
+renderTemplate(java.lang.Object, java.lang.String) - Method in DefaultGrailsJsonViewHelper
+
+renderTemplateOrDefault(java.lang.Object, java.util.Map, groovy.lang.Closure, JsonWritable>, java.lang.String) - Method in DefaultGrailsJsonViewHelper
+
+Request - Interface in grails.views.api.http
+Allows access to request properties
+request - Property in GenericGroovyTemplateView.HttpViewRequest
+
+request - Property in HttpView
+ Returns: The request object
+resetProcessedObjects() - Method in JsonViewWritableScript
+
+ResolvableGroovyTemplateEngine - Class in grails.views
+A TemplateEngine that can resolve templates using the configured TemplateResolver
+ResolvableGroovyTemplateEngine.1 - Class in grails.views
+
+ResolvableGroovyTemplateEngine.1() - Constructor in ResolvableGroovyTemplateEngine.1
+
+ResolvableGroovyTemplateEngine(grails.views.ViewConfiguration, java.lang.ClassLoader) - Constructor in ResolvableGroovyTemplateEngine
+ Creates a ResolvableGroovyTemplateEngine for the given base class name and file extension
+resolveCache - Field in ResolvableGroovyTemplateEngine
+
+resolveClassesDirs(org.gradle.api.tasks.SourceSetOutput, org.gradle.api.Project) - Method in AbstractGroovyTemplatePlugin
+
+resolveModelName() - Method in AbstractJsonViewContainerRenderer
+
+resolveTemplate(java.lang.String) - Method in GenericGroovyTemplateResolver
+
+resolveTemplate(java.lang.String) - Method in MarkupViewTemplateEngine.1
+
+resolveTemplate(java.lang.String) - Method in PluginAwareTemplateResolver
+
+resolveTemplate(java.lang.String, java.util.Locale, java.lang.String) - Method in ResolvableGroovyTemplateEngine
+ Resolves a template for the given path
+resolveTemplate(java.lang.String, java.util.Locale, java.lang.String) - Method in SmartViewResolver
+
+resolveTemplate(java.lang.String) - Method in TemplateResolver
+ Resolves the URL to a template using the given path
+resolveTemplateClass(java.lang.String, java.lang.String) - Method in GenericGroovyTemplateResolver
+
+resolveTemplateClass(java.lang.String) - Method in PluginAwareTemplateResolver
+
+resolveTemplateClass(java.lang.String, java.lang.String) - Method in TemplateResolver
+ Resolves a template class for the path
+resolveTemplateName(java.lang.String, java.lang.String) - Method in GenericGroovyTemplateResolver
+
+resolveTemplateUri(java.lang.String, java.lang.String, java.lang.String, boolean) - Method in GenericViewUriResolver
+
+resolveTemplateUri(java.lang.String, java.lang.String, java.lang.String) - Method in ViewUriResolver
+ Resolves a template URI for the given path
+resolveView(java.lang.Class, java.util.Locale) - Method in SmartViewResolver
+
+resolveViewName(java.lang.String, java.util.Locale) - Method in GenericGroovyTemplateViewResolver
+
+resolveViewWithController(java.lang.String, java.lang.String, org.grails.web.servlet.mvc.GrailsWebRequest) - Method in GenericGroovyTemplateViewResolver
+
+resource(java.util.Map) - Method in DefaultGrailsViewHelper
+
+resource(java.util.Map) - Method in TestLinkGenerator
+
+Response - Interface in grails.views.api.http
+Allows control over the page response (headers, content type, status)
+response - Property in HttpView
+
+result - Property in JsonViewTest.TestHttpResponse
+
+result - Property in JsonViewUnitTest.TestHttpResponse
+
+root - Property in JsonViewWritableScript
+
+run(java.lang.String, Class<? extends GenericViewConfiguration>, Class<? extends AbstractGroovyTemplateCompiler>) - Method in AbstractGroovyTemplateCompiler
+
+run() - Method in BuilderTypeCheckingExtension
+
+run() - Method in WritableScript
+ Runs the script and returns the result
+
+
+
+
+
S
+
+
+scm - Property in JsonViewGrailsPlugin
+
+scm - Property in MarkupViewGrailsPlugin
+
+SELF_ATTRIBUTE - Field in DefaultHalViewHelper
+
+serialVersionUID - Field in ViewCompileOptions
+
+setActionName(java.lang.String) - Method in TestRequestConfigurer
+
+setBinding(groovy.lang.Binding) - Method in MarkupViewTemplate
+
+setBinding(groovy.lang.Binding) - Method in WritableScript
+ Sets the binding
+setCache(boolean) - Method in MarkupViewConfiguration
+
+setConfig(grails.config.Config) - Method in TestRequestConfigurer
+
+setControllerName(java.lang.String) - Method in TestRequestConfigurer
+
+setControllerNamespace(java.lang.String) - Method in TestRequestConfigurer
+
+setDelegate(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate) - Method in DefaultHalViewHelper
+
+setDelegate(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate) - Method in HalViewHelper
+
+setEncoding(java.lang.String) - Method in MarkupViewConfiguration
+
+setFirst(boolean) - Method in JsonOutput.JsonWritable
+
+setFirst(boolean) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+setGrailsApplication(grails.core.GrailsApplication) - Method in GenericViewConfiguration
+
+setGrailsApplication(grails.core.GrailsApplication) - Method in JsonViewTest
+
+setInline(boolean) - Method in JsonOutput.JsonWritable
+
+setLinkGenerator(grails.web.mapping.LinkGenerator) - Method in ResolvableGroovyTemplateEngine
+
+setLinkGenerator(grails.web.mapping.LinkGenerator) - Method in SmartViewResolver
+
+setLocaleResolver(org.springframework.web.servlet.LocaleResolver) - Method in GenericGroovyTemplateView
+
+setMappingContext(org.grails.datastore.mapping.model.MappingContext) - Method in ResolvableGroovyTemplateEngine
+
+setMessageSource(org.springframework.context.MessageSource) - Method in ResolvableGroovyTemplateEngine
+
+setMimeUtility(grails.web.mime.MimeUtility) - Method in ResolvableGroovyTemplateEngine
+
+setModelTypes(Map<String, Class>) - Method in AbstractWritableScript
+
+setPluginManager(grails.plugins.GrailsPluginManager) - Method in PluginAwareTemplateResolver
+
+setPrettyPrint(boolean) - Method in MarkupViewConfiguration
+
+setProxyHandler(grails.core.support.proxy.ProxyHandler) - Method in ResolvableGroovyTemplateEngine
+
+setSource(java.lang.Object) - Method in AbstractGroovyTemplateCompileTask
+
+setSourceFile(java.io.File) - Method in WritableScript
+ Parameters: file
- Sets the source file
+setTemplateEngine(grails.views.ResolvableGroovyTemplateEngine) - Method in GenericGroovyTemplateView
+
+setTemplateResolver(grails.views.TemplateResolver) - Method in SmartViewResolver
+
+setup(grails.views.json.test.JsonViewUnitTest) - Method in JsonViewSetupSpecInterceptor
+
+short(java.lang.String, java.lang.Integer) - Method in DelegatingParameters
+
+short(java.lang.String, java.lang.Integer) - Method in EmptyParameters
+
+short(java.lang.String, java.lang.Integer) - Method in Parameters
+ Obtains the value of a parameter as a character
+shortTemplateNameForClass(Class<?>) - Method in TemplateResolverUtils
+
+shouldCache - Property in ResolvableGroovyTemplateEngine
+
+shouldExcludeType(Class<?>) - Method in DefaultJsonGenerator
+ Indicates whether the given type should be excluded from the generated output.
+shouldInclude(List<String>, java.util.List, java.lang.String) - Method in DefaultJsonViewIncludeExcludeSupport
+
+simpleIncludeExcludeSupport - Property in DefaultJsonViewHelper
+
+SLASH_CHAR - Field in GenericGroovyTemplateResolver
+ The base directory to load templates in development mode
+SLASH - Field in GenericViewUriResolver
+
+SLASH_STR - Field in GenericViewUriResolver
+
+SLASH_UNDR - Field in GenericViewUriResolver
+
+SmartViewResolver - Class in grails.views.mvc
+Spring's default view resolving mechanism only accepts the view name and locale, this forces you to code around its limitations when you want to add intelligent features such as
+ version and mime type awareness.
+smartViewResolver - Property in GenericGroovyTemplateViewResolver
+
+SmartViewResolver(grails.views.ResolvableGroovyTemplateEngine, java.lang.String, java.lang.String) - Constructor in SmartViewResolver
+
+sourceDir - Property in AbstractGroovyTemplateCompiler
+
+sourceFile - Property in AbstractWritableScript
+ The source file
+sourceFile - Property in MarkupViewTemplate
+
+sourceFile - Property in ViewRenderException
+
+sourceFile - Property in WritableScript
+
+sourceFile - Property in WritableScriptTemplate
+ The source file of the template.
+sourceUnit - Property in ViewsTransform.ModelTypesVisitor
+
+SPACE - Field in JsonOutput
+
+srcDir - Property in AbstractGroovyTemplateCompileTask
+
+state - Field in StreamingJsonBuilder.StreamingJsonDelegate
+
+staticImports - Property in GenericViewConfiguration
+ The default static imports
+status(org.springframework.http.HttpStatus, java.lang.String) - Method in GenericGroovyTemplateView.HttpViewResponse
+
+status - Property in JsonRenderResult
+ The status
+status(org.springframework.http.HttpStatus, java.lang.String) - Method in JsonViewTest.TestHttpResponse
+
+status(org.springframework.http.HttpStatus, java.lang.String) - Method in JsonViewUnitTest.TestHttpResponse
+
+status(org.springframework.http.HttpStatus, java.lang.String) - Method in Response
+ Sets the response status
+StreamingJsonBuilder - Class in grails.plugin.json.builder
+Temporary fork of groovy.json.StreamingJsonBuilder until Groovy 2.4.5 is out.
+StreamingJsonBuilder.StreamingJsonDelegate - Class in grails.plugin.json.builder
+The delegate used when invoking closures
+StreamingJsonBuilder.StreamingJsonDelegate.State - Enum in grails.plugin.json.builder
+
+StreamingJsonBuilder(java.io.Writer, java.lang.Object, grails.plugin.json.builder.JsonGenerator) - Constructor in StreamingJsonBuilder
+ Instantiates a JSON builder, possibly with some existing data structure and
+ the given generator.
+StreamingJsonDelegate(java.io.Writer, boolean, grails.plugin.json.builder.JsonGenerator) - Constructor in StreamingJsonBuilder.StreamingJsonDelegate
+
+subSequence(int, int) - Method in JsonOutput.JsonWritable
+
+suffix - Property in SmartViewResolver
+
+
+
+
+
+
T
+
+
+taskClass - Property in AbstractGroovyTemplatePlugin
+
+TEMPLATE_NAMESPACE_INVOKE_METHOD - Field in JsonTemplateTypeCheckingExtension
+
+TEMPLATE_NAMESPACE - Field in JsonTemplateTypeCheckingExtension
+
+templateByPath(java.lang.String) - Method in ResolvableGroovyTemplateEngine
+
+templateClass - Property in WritableScriptTemplate
+ The class of the template
+templateCounter - Field in ResolvableGroovyTemplateEngine
+
+templateEngine - Property in GenericGroovyTemplateView
+
+templateEngine - Property in GrailsViewTemplate
+ The template engine
+templateEngine - Property in JsonViewTest
+
+templateEngine - Property in MarkupViewWritableScriptTemplate
+
+templateEngine - Property in SmartViewResolver
+
+templateNameForClass(Class<?>) - Method in DefaultViewRenderer
+
+templatePath - Property in GenericViewConfiguration
+ The path to the templates
+templatePath - Property in WritableScriptTemplate
+ The resolved template path
+TemplateRenderer - Class in grails.plugin.json.view.api.internal
+Handles the template namespace
+TemplateRenderer(grails.plugin.json.view.api.GrailsJsonViewHelper) - Constructor in TemplateRenderer
+
+TemplateResolver - Interface in grails.views
+Interface for resolving templates
+templateResolver - Property in ResolvableGroovyTemplateEngine
+ The TemplateResolver to use
+TemplateResolverUtils - Class in grails.views.resolve
+Utility methods for resolving template names
+TemplateResolverUtils() - Constructor in TemplateResolverUtils
+
+TestHttpResponse(grails.plugin.json.view.test.JsonRenderResult) - Constructor in JsonViewTest.TestHttpResponse
+
+TestHttpResponse(grails.plugin.json.view.test.JsonRenderResult) - Constructor in JsonViewUnitTest.TestHttpResponse
+
+TestLinkGenerator - Class in grails.plugin.json.view.test
+A test link generator
+TestLinkGenerator(org.grails.datastore.mapping.model.MappingContext) - Constructor in TestLinkGenerator
+
+TestRequestConfigurer - Class in grails.plugin.json.view.test
+Allows configuring the JSON view rendering for request state
+TestRequestConfigurer(grails.plugin.json.view.api.JsonView) - Constructor in TestRequestConfigurer
+
+text - Field in JsonOutput.JsonUnescaped
+
+timezone - Field in DefaultJsonGenerator
+
+timezone - Field in JsonGenerator.Options
+
+timeZone - Property in JsonViewGeneratorConfiguration
+
+title - Property in JsonViewGrailsPlugin
+
+title - Property in MarkupViewGrailsPlugin
+
+tmpl - Property in JsonView
+ The template namespace
+TO_STRING_TYPES - Field in DefaultJsonViewHelper
+
+toJson(java.lang.Object) - Method in DefaultJsonGenerator
+ {@inheritDoc}
+toJson(java.lang.Object) - Method in JsonGenerator
+ Converts an object to its JSON representation.
+toJson(java.util.Map) - Method in JsonOutput
+ Parameters: m
- a java.util.Map to format to JSON string
+toString() - Method in DefaultJsonGenerator.ClosureConverter
+
+toString() - Method in JsonOutput.JsonUnescaped
+
+toString() - Method in JsonOutput.JsonWritable
+
+transform(org.codehaus.groovy.ast.expr.Expression) - Method in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+transformDynamicMethods(org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.ast.MethodNode, java.util.Set) - Method in BuilderTypeCheckingExtension
+
+transformDynamicMethods(org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.ast.MethodNode, java.util.Set) - Method in JsonTemplateTypeCheckingExtension
+
+TYPE_ATTRIBUTE - Field in DefaultHalViewHelper
+
+type(java.lang.String) - Method in DefaultHalViewHelper
+ Parameters: name
- Sets the HAL response type
+type - Field in DefaultJsonGenerator.ClosureConverter
+
+type(java.lang.String) - Method in HalViewHelper
+ Parameters: name
- Sets the HAL response type
+TYPE - Field in JsonViewWritableScript
+
+TYPE - Field in MarkupViewTemplate
+
+TYPE - Field in Views
+ The artefact type identifier for Grails
+type - Property in WritableScriptTemplate.FieldSetter
+
+type - Property in WritableScriptTemplate.MethodSetter
+
+
+
+
+
+
U
+
+
+UNDERSCORE_CHAR - Field in GenericGroovyTemplateResolver
+
+UNDERSCORE - Field in GenericViewUriResolver
+
+unescaped(java.lang.CharSequence) - Method in JsonOutput
+ Obtains JSON unescaped text for the given text
+unit - Field in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+unit - Property in HalCodeVisitorSupport
+
+uri - Property in TestRequestConfigurer
+
+useAbsoluteLinks - Property in GenericViewConfiguration
+ Whether to use absolute links
+useAbsoluteLinks - Property in GrailsViewTemplate
+ Whether to use absolute links
+
+
+
+
+
V
+
+
+validateableIncludeExcludeSupport - Property in DefaultJsonViewHelper
+
+VALUE - Enum Constant in StreamingJsonBuilder.StreamingJsonDelegate.State
+
+verifyValue() - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+View - Trait in grails.views.api
+
+VIEW_BASE_CLASS - Field in MarkupViewTemplateEngine
+
+view - Property in DefaultGrailsViewHelper
+
+view - Property in ViewRenderException
+
+viewCache - Field in SmartViewResolver
+
+viewCacheWithPath(java.lang.String) - Method in SmartViewResolver
+
+viewClass - Property in SmartViewResolver
+
+ViewCompilationException - Class in grails.views
+Exception when views fail to compile
+ViewCompilationException(org.codehaus.groovy.control.CompilationFailedException, java.lang.String) - Constructor in ViewCompilationException
+
+ViewCompileOptions - Class in grails.views.gradle
+
+ViewCompileOptions() - Constructor in ViewCompileOptions
+
+ViewConfiguration - Interface in grails.views
+Interface for view configurations
+viewConfiguration - Property in AbstractGroovyTemplateCompiler
+
+viewConfiguration - Property in JsonViewResolver
+
+viewConfiguration - Property in JsonViewTest
+
+viewConfiguration - Property in MarkupViewResolver
+
+viewConfiguration - Property in ResolvableGroovyTemplateEngine
+ The view config
+ViewException - Class in grails.views
+Thrown when an exception occurs rendering a view
+ViewException() - Constructor in ViewException
+
+viewHelper - Property in DefaultHalViewHelper
+
+viewHelper - Property in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+viewHelper - Property in DefaultJsonApiViewHelper
+
+viewHelper - Field in GrailsView
+
+viewHelper - Field in JsonView
+ Overrides the default helper with new methods specific to JSON building
+ViewRenderException - Class in grails.views
+Thrown when a view rendering exception occurs
+ViewRenderException(java.lang.String, java.lang.Throwable, grails.views.WritableScript) - Constructor in ViewRenderException
+
+viewResolver - Property in DefaultViewRenderer
+
+Views - Interface in grails.views
+Settings and constants for the Groovy view infrastructure
+ViewsEnvironment - Class in grails.views
+Environment helper methods
+ViewsEnvironment() - Constructor in ViewsEnvironment
+
+ViewsTransform - Class in grails.views.compiler
+Enhances view scripts with Trait behavior
+ViewsTransform.ModelTypesVisitor - Class in grails.views.compiler
+
+ViewsTransform(java.lang.String, java.lang.String) - Constructor in ViewsTransform
+
+viewTemplate - Property in GrailsView
+ The view template
+ViewUriResolver - Interface in grails.views
+A ViewUriResolver is response for response template and view URIs using Grails' conventions.
+viewUriResolver - Property in ResolvableGroovyTemplateEngine
+ The configuration to use for compilation
+ViewUtils - Class in grails.views.utils
+Utility methods for the views project
+ViewUtils() - Constructor in ViewUtils
+
+visit(org.codehaus.groovy.ast.ASTNode, org.codehaus.groovy.control.SourceUnit) - Method in ViewsTransform
+
+visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement) - Method in HalCodeVisitorSupport
+
+visitClass(org.codehaus.groovy.ast.ClassNode) - Method in ViewsTransform.ModelTypesVisitor
+
+visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression) - Method in BuilderTypeCheckingExtension.BuilderMethodReplacer
+
+visitField(org.codehaus.groovy.ast.FieldNode) - Method in ViewsTransform.ModelTypesVisitor
+
+visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression) - Method in ViewsTransform.ModelTypesVisitor
+
+visitSpec(org.spockframework.runtime.model.SpecInfo) - Method in JsonViewSpockExtension
+
+visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression) - Method in HalCodeVisitorSupport
+
+
+
+
+
+
W
+
+
+wasModified() - Method in WritableScriptTemplate
+ Returns: Whether the template has been modified
+WritableScript - Interface in grails.views
+Interface for scripts that are writable
+WritableScriptTemplate - Class in grails.views
+A base template class that all Grails view templates should extend from
+WritableScriptTemplate.FieldSetter - Class in grails.views
+
+WritableScriptTemplate.MethodSetter - Class in grails.views
+
+WritableScriptTemplate.VariableSetter - Interface in grails.views
+
+WritableScriptTemplate(Class<? extends GrailsView>, java.io.File) - Constructor in WritableScriptTemplate
+
+writeArray(Class<?>, java.lang.Object, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes array and writes it into specified buffer.
+writeArray(List<Object>) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+writeCharSequence(java.lang.CharSequence, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes any char sequence and writes it into specified buffer.
+writeCollectionWithClosure(java.io.Writer, java.lang.Iterable, groovy.lang.Closure, grails.plugin.json.builder.JsonGenerator) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+writeDate(java.util.Date, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes date and writes it into specified buffer.
+writeError(java.io.Writer, org.springframework.validation.ObjectError) - Method in DefaultJsonApiViewHelper.4
+
+writeIterator(Iterator<?>, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes iterator and writes it into specified buffer.
+writeKey(java.io.Writer, java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+writeKeyValue(java.io.Writer, java.lang.Object, java.lang.Object) - Method in DefaultJsonApiViewHelper
+
+writeLinks(grails.plugin.json.builder.StreamingJsonBuilder.StreamingJsonDelegate, java.lang.Object, java.lang.String) - Method in DefaultHalViewHelper
+
+writeMap(Map<?,?>, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes map and writes it into specified buffer.
+writeMapEntry(java.lang.String, java.lang.Object, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes a map entry and writes it into specified buffer.
+writeName(java.lang.String) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+writeNumber(Class<?>, java.lang.Number, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes Number value and writes it into specified buffer.
+writeObject(java.lang.Object, groovy.lang.Closure) - Method in DefaultHalViewHelper.HalStreamingJsonDelegate
+
+writeObject(java.lang.String, java.lang.Object, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes object and writes it into specified buffer.
+writeObject(java.io.Writer, java.lang.Object, groovy.lang.Closure, grails.plugin.json.builder.JsonGenerator) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+writeObjects(java.lang.Iterable, groovy.lang.Closure) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+writer - Field in StreamingJsonBuilder
+
+writer - Field in StreamingJsonBuilder.StreamingJsonDelegate
+
+writeRaw(java.lang.CharSequence, org.apache.groovy.json.internal.CharBuf) - Method in DefaultJsonGenerator
+ Serializes any char sequence and writes it into specified buffer
+ without performing any manipulation of the given text.
+WriterProvider - Interface in grails.views
+Interface for views that provider a writer
+writeTo(java.io.Writer) - Method in AbstractWritableScript
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.1
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.2
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.3
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.4
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.5
+
+writeTo(java.io.Writer) - Method in DefaultGrailsJsonViewHelper.6
+
+writeTo(java.io.Writer) - Method in DefaultHalViewHelper.1
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.1
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.2
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.3
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.4
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.5
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.6
+
+writeTo(java.io.Writer) - Method in DefaultJsonApiViewHelper.7
+
+writeTo(java.io.Writer) - Method in DefaultJsonViewHelper.1
+
+writeValue(java.lang.Object) - Method in StreamingJsonBuilder.StreamingJsonDelegate
+
+
+
+
+
+
X
+
+
+
+
+
+
+
Y
+
+
+
+
+
+
+
Z
+
+
+ZonedDateTimeJsonConverter - Class in grails.plugin.json.converters
+A class to render a java.time.ZonedDateTime as json
+ZonedDateTimeJsonConverter() - Constructor in ZonedDateTimeJsonConverter
+
+
+
+
+
+
_
+
+
+_mappingContext - Field in JsonViewUnitTest
+
+_templateEngine - Field in JsonViewUnitTest
+
+
+
+
+
+
+
+A
+
+B
+
+C
+
+D
+
+E
+
+F
+
+G
+
+H
+
+I
+
+J
+
+K
+
+L
+
+M
+
+N
+
+O
+
+P
+
+Q
+
+R
+
+S
+
+T
+
+U
+
+V
+
+W
+
+X
+
+Y
+
+Z
+
+_
+
+
+
+
+
+
+
Groovy Documentation
+
+
+
+
+
+
diff --git a/3.2.3/api/index.html b/3.2.3/api/index.html
new file mode 100644
index 000000000..5fdec3aa7
--- /dev/null
+++ b/3.2.3/api/index.html
@@ -0,0 +1,90 @@
+
+
+
+
+Index (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+ Frame Alert
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to Non-frame version .
+
+
diff --git a/3.2.3/api/inherit.gif b/3.2.3/api/inherit.gif
new file mode 100644
index 000000000..c814867a1
Binary files /dev/null and b/3.2.3/api/inherit.gif differ
diff --git a/3.2.3/api/overview-frame.html b/3.2.3/api/overview-frame.html
new file mode 100644
index 000000000..ea2ed5c68
--- /dev/null
+++ b/3.2.3/api/overview-frame.html
@@ -0,0 +1,135 @@
+
+
+
+
+Overview (Grails Views 3.2.3)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/overview-summary.html b/3.2.3/api/overview-summary.html
new file mode 100644
index 000000000..141df0bde
--- /dev/null
+++ b/3.2.3/api/overview-summary.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+Overview (Groovy Documentation)
+
+
+
+
+
+
+
+
+
+ JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.2.3/api/package-list b/3.2.3/api/package-list
new file mode 100644
index 000000000..a42b9af7a
--- /dev/null
+++ b/3.2.3/api/package-list
@@ -0,0 +1,31 @@
+grails.plugin.json.builder
+grails.plugin.json.converters
+grails.plugin.json.renderer
+grails.plugin.json.view
+grails.plugin.json.view.api
+grails.plugin.json.view.api.internal
+grails.plugin.json.view.api.jsonapi
+grails.plugin.json.view.internal
+grails.plugin.json.view.mvc
+grails.plugin.json.view.template
+grails.plugin.json.view.test
+grails.plugin.markup.view
+grails.plugin.markup.view.api
+grails.plugin.markup.view.internal
+grails.plugin.markup.view.mvc
+grails.plugin.markup.view.renderer
+grails.views
+grails.views.api
+grails.views.api.http
+grails.views.api.internal
+grails.views.compiler
+grails.views.gradle
+grails.views.gradle.json
+grails.views.gradle.markup
+grails.views.json.test
+grails.views.json.test.spock
+grails.views.mvc
+grails.views.mvc.http
+grails.views.mvc.renderer
+grails.views.resolve
+grails.views.utils
diff --git a/3.2.3/api/stylesheet.css b/3.2.3/api/stylesheet.css
new file mode 100644
index 000000000..06eb31a18
--- /dev/null
+++ b/3.2.3/api/stylesheet.css
@@ -0,0 +1,2306 @@
+@charset "UTF-8";
+
+/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+ display: block
+}
+
+audio, canvas, video {
+ display: inline-block
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0
+}
+
+[hidden] {
+ display: none
+}
+
+html {
+ font-family: sans-serif;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%
+}
+
+body {
+ margin: 0
+}
+
+a:focus {
+ outline: thin dotted
+}
+
+a:active, a:hover {
+ outline: 0
+}
+
+h1 {
+ font-size: 2em;
+ margin: .67em 0
+}
+
+abbr[title] {
+ border-bottom: 1px dotted
+}
+
+b, strong {
+ font-weight: bold
+}
+
+dfn {
+ font-style: italic
+}
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0
+}
+
+mark {
+ background: #ff0;
+ color: #000
+}
+
+code, kbd, pre, samp {
+ font-family: monospace, serif;
+ font-size: 1em
+}
+
+pre {
+ white-space: pre-wrap
+}
+
+q {
+ quotes: "C" "D" "8" "9"
+}
+
+small {
+ font-size: 80%
+}
+
+sub, sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sup {
+ top: -0.5em
+}
+
+sub {
+ bottom: -0.25em
+}
+
+img {
+ border: 0
+}
+
+svg:not(:root) {
+ overflow: hidden
+}
+
+figure {
+ margin: 0
+}
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: .35em .625em .75em
+}
+
+legend {
+ border: 0;
+ padding: 0
+}
+
+button, input, select, textarea {
+ font-family: inherit;
+ font-size: 100%;
+ margin: 0
+}
+
+button, input {
+ line-height: normal
+}
+
+button, select {
+ text-transform: none
+}
+
+button, html input[type="button"], input[type="reset"], input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer
+}
+
+button[disabled], html input[disabled] {
+ cursor: default
+}
+
+input[type="checkbox"], input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0
+}
+
+input[type="search"] {
+ -webkit-appearance: textfield;
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box
+}
+
+input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+ border: 0;
+ padding: 0
+}
+
+textarea {
+ overflow: auto;
+ vertical-align: top
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+@-ms-viewport {
+ width: device-width
+}
+
+@media screen and (max-width: 400px) {
+ @-ms-viewport {
+ width: 320px
+ }
+}
+
+.hidden {
+ display: none !important;
+ visibility: hidden !important
+}
+
+.visible-xs {
+ display: none !important
+}
+
+tr.visible-xs {
+ display: none !important
+}
+
+th.visible-xs, td.visible-xs {
+ display: none !important
+}
+
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important
+ }
+
+ tr.visible-xs {
+ display: table-row !important
+ }
+
+ th.visible-xs, td.visible-xs {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-xs.visible-sm {
+ display: block !important
+ }
+
+ tr.visible-xs.visible-sm {
+ display: table-row !important
+ }
+
+ th.visible-xs.visible-sm, td.visible-xs.visible-sm {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-xs.visible-md {
+ display: block !important
+ }
+
+ tr.visible-xs.visible-md {
+ display: table-row !important
+ }
+
+ th.visible-xs.visible-md, td.visible-xs.visible-md {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-xs.visible-lg {
+ display: block !important
+ }
+
+ tr.visible-xs.visible-lg {
+ display: table-row !important
+ }
+
+ th.visible-xs.visible-lg, td.visible-xs.visible-lg {
+ display: table-cell !important
+ }
+}
+
+.visible-sm {
+ display: none !important
+}
+
+tr.visible-sm {
+ display: none !important
+}
+
+th.visible-sm, td.visible-sm {
+ display: none !important
+}
+
+@media (max-width: 767px) {
+ .visible-sm.visible-xs {
+ display: block !important
+ }
+
+ tr.visible-sm.visible-xs {
+ display: table-row !important
+ }
+
+ th.visible-sm.visible-xs, td.visible-sm.visible-xs {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important
+ }
+
+ tr.visible-sm {
+ display: table-row !important
+ }
+
+ th.visible-sm, td.visible-sm {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-sm.visible-md {
+ display: block !important
+ }
+
+ tr.visible-sm.visible-md {
+ display: table-row !important
+ }
+
+ th.visible-sm.visible-md, td.visible-sm.visible-md {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-sm.visible-lg {
+ display: block !important
+ }
+
+ tr.visible-sm.visible-lg {
+ display: table-row !important
+ }
+
+ th.visible-sm.visible-lg, td.visible-sm.visible-lg {
+ display: table-cell !important
+ }
+}
+
+.visible-md {
+ display: none !important
+}
+
+tr.visible-md {
+ display: none !important
+}
+
+th.visible-md, td.visible-md {
+ display: none !important
+}
+
+@media (max-width: 767px) {
+ .visible-md.visible-xs {
+ display: block !important
+ }
+
+ tr.visible-md.visible-xs {
+ display: table-row !important
+ }
+
+ th.visible-md.visible-xs, td.visible-md.visible-xs {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-md.visible-sm {
+ display: block !important
+ }
+
+ tr.visible-md.visible-sm {
+ display: table-row !important
+ }
+
+ th.visible-md.visible-sm, td.visible-md.visible-sm {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important
+ }
+
+ tr.visible-md {
+ display: table-row !important
+ }
+
+ th.visible-md, td.visible-md {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-md.visible-lg {
+ display: block !important
+ }
+
+ tr.visible-md.visible-lg {
+ display: table-row !important
+ }
+
+ th.visible-md.visible-lg, td.visible-md.visible-lg {
+ display: table-cell !important
+ }
+}
+
+.visible-lg {
+ display: none !important
+}
+
+tr.visible-lg {
+ display: none !important
+}
+
+th.visible-lg, td.visible-lg {
+ display: none !important
+}
+
+@media (max-width: 767px) {
+ .visible-lg.visible-xs {
+ display: block !important
+ }
+
+ tr.visible-lg.visible-xs {
+ display: table-row !important
+ }
+
+ th.visible-lg.visible-xs, td.visible-lg.visible-xs {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-lg.visible-sm {
+ display: block !important
+ }
+
+ tr.visible-lg.visible-sm {
+ display: table-row !important
+ }
+
+ th.visible-lg.visible-sm, td.visible-lg.visible-sm {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-lg.visible-md {
+ display: block !important
+ }
+
+ tr.visible-lg.visible-md {
+ display: table-row !important
+ }
+
+ th.visible-lg.visible-md, td.visible-lg.visible-md {
+ display: table-cell !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important
+ }
+
+ tr.visible-lg {
+ display: table-row !important
+ }
+
+ th.visible-lg, td.visible-lg {
+ display: table-cell !important
+ }
+}
+
+.hidden-xs {
+ display: block !important
+}
+
+tr.hidden-xs {
+ display: table-row !important
+}
+
+th.hidden-xs, td.hidden-xs {
+ display: table-cell !important
+}
+
+@media (max-width: 767px) {
+ .hidden-xs {
+ display: none !important
+ }
+
+ tr.hidden-xs {
+ display: none !important
+ }
+
+ th.hidden-xs, td.hidden-xs {
+ display: none !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-xs.hidden-sm {
+ display: none !important
+ }
+
+ tr.hidden-xs.hidden-sm {
+ display: none !important
+ }
+
+ th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm {
+ display: none !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-xs.hidden-md {
+ display: none !important
+ }
+
+ tr.hidden-xs.hidden-md {
+ display: none !important
+ }
+
+ th.hidden-xs.hidden-md, td.hidden-xs.hidden-md {
+ display: none !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-xs.hidden-lg {
+ display: none !important
+ }
+
+ tr.hidden-xs.hidden-lg {
+ display: none !important
+ }
+
+ th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg {
+ display: none !important
+ }
+}
+
+.hidden-sm {
+ display: block !important
+}
+
+tr.hidden-sm {
+ display: table-row !important
+}
+
+th.hidden-sm, td.hidden-sm {
+ display: table-cell !important
+}
+
+@media (max-width: 767px) {
+ .hidden-sm.hidden-xs {
+ display: none !important
+ }
+
+ tr.hidden-sm.hidden-xs {
+ display: none !important
+ }
+
+ th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs {
+ display: none !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm {
+ display: none !important
+ }
+
+ tr.hidden-sm {
+ display: none !important
+ }
+
+ th.hidden-sm, td.hidden-sm {
+ display: none !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-sm.hidden-md {
+ display: none !important
+ }
+
+ tr.hidden-sm.hidden-md {
+ display: none !important
+ }
+
+ th.hidden-sm.hidden-md, td.hidden-sm.hidden-md {
+ display: none !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-sm.hidden-lg {
+ display: none !important
+ }
+
+ tr.hidden-sm.hidden-lg {
+ display: none !important
+ }
+
+ th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg {
+ display: none !important
+ }
+}
+
+.hidden-md {
+ display: block !important
+}
+
+tr.hidden-md {
+ display: table-row !important
+}
+
+th.hidden-md, td.hidden-md {
+ display: table-cell !important
+}
+
+@media (max-width: 767px) {
+ .hidden-md.hidden-xs {
+ display: none !important
+ }
+
+ tr.hidden-md.hidden-xs {
+ display: none !important
+ }
+
+ th.hidden-md.hidden-xs, td.hidden-md.hidden-xs {
+ display: none !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-md.hidden-sm {
+ display: none !important
+ }
+
+ tr.hidden-md.hidden-sm {
+ display: none !important
+ }
+
+ th.hidden-md.hidden-sm, td.hidden-md.hidden-sm {
+ display: none !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md {
+ display: none !important
+ }
+
+ tr.hidden-md {
+ display: none !important
+ }
+
+ th.hidden-md, td.hidden-md {
+ display: none !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-md.hidden-lg {
+ display: none !important
+ }
+
+ tr.hidden-md.hidden-lg {
+ display: none !important
+ }
+
+ th.hidden-md.hidden-lg, td.hidden-md.hidden-lg {
+ display: none !important
+ }
+}
+
+.hidden-lg {
+ display: block !important
+}
+
+tr.hidden-lg {
+ display: table-row !important
+}
+
+th.hidden-lg, td.hidden-lg {
+ display: table-cell !important
+}
+
+@media (max-width: 767px) {
+ .hidden-lg.hidden-xs {
+ display: none !important
+ }
+
+ tr.hidden-lg.hidden-xs {
+ display: none !important
+ }
+
+ th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs {
+ display: none !important
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-lg.hidden-sm {
+ display: none !important
+ }
+
+ tr.hidden-lg.hidden-sm {
+ display: none !important
+ }
+
+ th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm {
+ display: none !important
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-lg.hidden-md {
+ display: none !important
+ }
+
+ tr.hidden-lg.hidden-md {
+ display: none !important
+ }
+
+ th.hidden-lg.hidden-md, td.hidden-lg.hidden-md {
+ display: none !important
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-lg {
+ display: none !important
+ }
+
+ tr.hidden-lg {
+ display: none !important
+ }
+
+ th.hidden-lg, td.hidden-lg {
+ display: none !important
+ }
+}
+
+.visible-print {
+ display: none !important
+}
+
+tr.visible-print {
+ display: none !important
+}
+
+th.visible-print, td.visible-print {
+ display: none !important
+}
+
+@media print {
+ .visible-print {
+ display: block !important
+ }
+
+ tr.visible-print {
+ display: table-row !important
+ }
+
+ th.visible-print, td.visible-print {
+ display: table-cell !important
+ }
+
+ .hidden-print {
+ display: none !important
+ }
+
+ tr.hidden-print {
+ display: none !important
+ }
+
+ th.hidden-print, td.hidden-print {
+ display: none !important
+ }
+}
+
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ padding-left: 15px;
+ padding-right: 15px
+}
+
+.container:before, .container:after {
+ content: " ";
+ display: table
+}
+
+.container:after {
+ clear: both
+}
+
+.row-fluid {
+ margin-left: -15px;
+ margin-right: -15px
+}
+
+.row-fluid:before, .row-fluid:after {
+ content: " ";
+ display: table
+}
+
+.row-fluid:after {
+ clear: both
+}
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-left: 15px;
+ padding-right: 15px
+}
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 {
+ float: left
+}
+
+.col-xs-1 {
+ width: 8.333333333333332%
+}
+
+.col-xs-2 {
+ width: 16.666666666666664%
+}
+
+.col-xs-3 {
+ width: 25%
+}
+
+.col-xs-4 {
+ width: 33.33333333333333%
+}
+
+.col-xs-5 {
+ width: 41.66666666666667%
+}
+
+.col-xs-6 {
+ width: 50%
+}
+
+.col-xs-7 {
+ width: 58.333333333333336%
+}
+
+.col-xs-8 {
+ width: 66.66666666666666%
+}
+
+.col-xs-9 {
+ width: 75%
+}
+
+.col-xs-10 {
+ width: 83.33333333333334%
+}
+
+.col-xs-11 {
+ width: 91.66666666666666%
+}
+
+.col-xs-12 {
+ width: 100%
+}
+
+@media (min-width: 768px) {
+ .container {
+ max-width: 750px
+ }
+
+ .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 {
+ float: left
+ }
+
+ .col-sm-1 {
+ width: 8.333333333333332%
+ }
+
+ .col-sm-2 {
+ width: 16.666666666666664%
+ }
+
+ .col-sm-3 {
+ width: 25%
+ }
+
+ .col-sm-4 {
+ width: 33.33333333333333%
+ }
+
+ .col-sm-5 {
+ width: 41.66666666666667%
+ }
+
+ .col-sm-6 {
+ width: 50%
+ }
+
+ .col-sm-7 {
+ width: 58.333333333333336%
+ }
+
+ .col-sm-8 {
+ width: 66.66666666666666%
+ }
+
+ .col-sm-9 {
+ width: 75%
+ }
+
+ .col-sm-10 {
+ width: 83.33333333333334%
+ }
+
+ .col-sm-11 {
+ width: 91.66666666666666%
+ }
+
+ .col-sm-12 {
+ width: 100%
+ }
+
+ .col-sm-push-1 {
+ left: 8.333333333333332%
+ }
+
+ .col-sm-push-2 {
+ left: 16.666666666666664%
+ }
+
+ .col-sm-push-3 {
+ left: 25%
+ }
+
+ .col-sm-push-4 {
+ left: 33.33333333333333%
+ }
+
+ .col-sm-push-5 {
+ left: 41.66666666666667%
+ }
+
+ .col-sm-push-6 {
+ left: 50%
+ }
+
+ .col-sm-push-7 {
+ left: 58.333333333333336%
+ }
+
+ .col-sm-push-8 {
+ left: 66.66666666666666%
+ }
+
+ .col-sm-push-9 {
+ left: 75%
+ }
+
+ .col-sm-push-10 {
+ left: 83.33333333333334%
+ }
+
+ .col-sm-push-11 {
+ left: 91.66666666666666%
+ }
+
+ .col-sm-pull-1 {
+ right: 8.333333333333332%
+ }
+
+ .col-sm-pull-2 {
+ right: 16.666666666666664%
+ }
+
+ .col-sm-pull-3 {
+ right: 25%
+ }
+
+ .col-sm-pull-4 {
+ right: 33.33333333333333%
+ }
+
+ .col-sm-pull-5 {
+ right: 41.66666666666667%
+ }
+
+ .col-sm-pull-6 {
+ right: 50%
+ }
+
+ .col-sm-pull-7 {
+ right: 58.333333333333336%
+ }
+
+ .col-sm-pull-8 {
+ right: 66.66666666666666%
+ }
+
+ .col-sm-pull-9 {
+ right: 75%
+ }
+
+ .col-sm-pull-10 {
+ right: 83.33333333333334%
+ }
+
+ .col-sm-pull-11 {
+ right: 91.66666666666666%
+ }
+
+ .col-sm-offset-1 {
+ margin-left: 8.333333333333332%
+ }
+
+ .col-sm-offset-2 {
+ margin-left: 16.666666666666664%
+ }
+
+ .col-sm-offset-3 {
+ margin-left: 25%
+ }
+
+ .col-sm-offset-4 {
+ margin-left: 33.33333333333333%
+ }
+
+ .col-sm-offset-5 {
+ margin-left: 41.66666666666667%
+ }
+
+ .col-sm-offset-6 {
+ margin-left: 50%
+ }
+
+ .col-sm-offset-7 {
+ margin-left: 58.333333333333336%
+ }
+
+ .col-sm-offset-8 {
+ margin-left: 66.66666666666666%
+ }
+
+ .col-sm-offset-9 {
+ margin-left: 75%
+ }
+
+ .col-sm-offset-10 {
+ margin-left: 83.33333333333334%
+ }
+
+ .col-sm-offset-11 {
+ margin-left: 91.66666666666666%
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ max-width: 970px
+ }
+
+ .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 {
+ float: left
+ }
+
+ .col-md-1 {
+ width: 8.333333333333332%
+ }
+
+ .col-md-2 {
+ width: 16.666666666666664%
+ }
+
+ .col-md-3 {
+ width: 25%
+ }
+
+ .col-md-4 {
+ width: 33.33333333333333%
+ }
+
+ .col-md-5 {
+ width: 41.66666666666667%
+ }
+
+ .col-md-6 {
+ width: 50%
+ }
+
+ .col-md-7 {
+ width: 58.333333333333336%
+ }
+
+ .col-md-8 {
+ width: 66.66666666666666%
+ }
+
+ .col-md-9 {
+ width: 75%
+ }
+
+ .col-md-10 {
+ width: 83.33333333333334%
+ }
+
+ .col-md-11 {
+ width: 91.66666666666666%
+ }
+
+ .col-md-12 {
+ width: 100%
+ }
+
+ .col-md-push-0 {
+ left: auto
+ }
+
+ .col-md-push-1 {
+ left: 8.333333333333332%
+ }
+
+ .col-md-push-2 {
+ left: 16.666666666666664%
+ }
+
+ .col-md-push-3 {
+ left: 25%
+ }
+
+ .col-md-push-4 {
+ left: 33.33333333333333%
+ }
+
+ .col-md-push-5 {
+ left: 41.66666666666667%
+ }
+
+ .col-md-push-6 {
+ left: 50%
+ }
+
+ .col-md-push-7 {
+ left: 58.333333333333336%
+ }
+
+ .col-md-push-8 {
+ left: 66.66666666666666%
+ }
+
+ .col-md-push-9 {
+ left: 75%
+ }
+
+ .col-md-push-10 {
+ left: 83.33333333333334%
+ }
+
+ .col-md-push-11 {
+ left: 91.66666666666666%
+ }
+
+ .col-md-pull-0 {
+ right: auto
+ }
+
+ .col-md-pull-1 {
+ right: 8.333333333333332%
+ }
+
+ .col-md-pull-2 {
+ right: 16.666666666666664%
+ }
+
+ .col-md-pull-3 {
+ right: 25%
+ }
+
+ .col-md-pull-4 {
+ right: 33.33333333333333%
+ }
+
+ .col-md-pull-5 {
+ right: 41.66666666666667%
+ }
+
+ .col-md-pull-6 {
+ right: 50%
+ }
+
+ .col-md-pull-7 {
+ right: 58.333333333333336%
+ }
+
+ .col-md-pull-8 {
+ right: 66.66666666666666%
+ }
+
+ .col-md-pull-9 {
+ right: 75%
+ }
+
+ .col-md-pull-10 {
+ right: 83.33333333333334%
+ }
+
+ .col-md-pull-11 {
+ right: 91.66666666666666%
+ }
+
+ .col-md-offset-0 {
+ margin-left: 0
+ }
+
+ .col-md-offset-1 {
+ margin-left: 8.333333333333332%
+ }
+
+ .col-md-offset-2 {
+ margin-left: 16.666666666666664%
+ }
+
+ .col-md-offset-3 {
+ margin-left: 25%
+ }
+
+ .col-md-offset-4 {
+ margin-left: 33.33333333333333%
+ }
+
+ .col-md-offset-5 {
+ margin-left: 41.66666666666667%
+ }
+
+ .col-md-offset-6 {
+ margin-left: 50%
+ }
+
+ .col-md-offset-7 {
+ margin-left: 58.333333333333336%
+ }
+
+ .col-md-offset-8 {
+ margin-left: 66.66666666666666%
+ }
+
+ .col-md-offset-9 {
+ margin-left: 75%
+ }
+
+ .col-md-offset-10 {
+ margin-left: 83.33333333333334%
+ }
+
+ .col-md-offset-11 {
+ margin-left: 91.66666666666666%
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ max-width: 1170px
+ }
+
+ .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 {
+ float: left
+ }
+
+ .col-lg-1 {
+ width: 8.333333333333332%
+ }
+
+ .col-lg-2 {
+ width: 16.666666666666664%
+ }
+
+ .col-lg-3 {
+ width: 25%
+ }
+
+ .col-lg-4 {
+ width: 33.33333333333333%
+ }
+
+ .col-lg-5 {
+ width: 41.66666666666667%
+ }
+
+ .col-lg-6 {
+ width: 50%
+ }
+
+ .col-lg-7 {
+ width: 58.333333333333336%
+ }
+
+ .col-lg-8 {
+ width: 66.66666666666666%
+ }
+
+ .col-lg-9 {
+ width: 75%
+ }
+
+ .col-lg-10 {
+ width: 83.33333333333334%
+ }
+
+ .col-lg-11 {
+ width: 91.66666666666666%
+ }
+
+ .col-lg-12 {
+ width: 100%
+ }
+
+ .col-lg-push-0 {
+ left: auto
+ }
+
+ .col-lg-push-1 {
+ left: 8.333333333333332%
+ }
+
+ .col-lg-push-2 {
+ left: 16.666666666666664%
+ }
+
+ .col-lg-push-3 {
+ left: 25%
+ }
+
+ .col-lg-push-4 {
+ left: 33.33333333333333%
+ }
+
+ .col-lg-push-5 {
+ left: 41.66666666666667%
+ }
+
+ .col-lg-push-6 {
+ left: 50%
+ }
+
+ .col-lg-push-7 {
+ left: 58.333333333333336%
+ }
+
+ .col-lg-push-8 {
+ left: 66.66666666666666%
+ }
+
+ .col-lg-push-9 {
+ left: 75%
+ }
+
+ .col-lg-push-10 {
+ left: 83.33333333333334%
+ }
+
+ .col-lg-push-11 {
+ left: 91.66666666666666%
+ }
+
+ .col-lg-pull-0 {
+ right: auto
+ }
+
+ .col-lg-pull-1 {
+ right: 8.333333333333332%
+ }
+
+ .col-lg-pull-2 {
+ right: 16.666666666666664%
+ }
+
+ .col-lg-pull-3 {
+ right: 25%
+ }
+
+ .col-lg-pull-4 {
+ right: 33.33333333333333%
+ }
+
+ .col-lg-pull-5 {
+ right: 41.66666666666667%
+ }
+
+ .col-lg-pull-6 {
+ right: 50%
+ }
+
+ .col-lg-pull-7 {
+ right: 58.333333333333336%
+ }
+
+ .col-lg-pull-8 {
+ right: 66.66666666666666%
+ }
+
+ .col-lg-pull-9 {
+ right: 75%
+ }
+
+ .col-lg-pull-10 {
+ right: 83.33333333333334%
+ }
+
+ .col-lg-pull-11 {
+ right: 91.66666666666666%
+ }
+
+ .col-lg-offset-0 {
+ margin-left: 0
+ }
+
+ .col-lg-offset-1 {
+ margin-left: 8.333333333333332%
+ }
+
+ .col-lg-offset-2 {
+ margin-left: 16.666666666666664%
+ }
+
+ .col-lg-offset-3 {
+ margin-left: 25%
+ }
+
+ .col-lg-offset-4 {
+ margin-left: 33.33333333333333%
+ }
+
+ .col-lg-offset-5 {
+ margin-left: 41.66666666666667%
+ }
+
+ .col-lg-offset-6 {
+ margin-left: 50%
+ }
+
+ .col-lg-offset-7 {
+ margin-left: 58.333333333333336%
+ }
+
+ .col-lg-offset-8 {
+ margin-left: 66.66666666666666%
+ }
+
+ .col-lg-offset-9 {
+ margin-left: 75%
+ }
+
+ .col-lg-offset-10 {
+ margin-left: 83.33333333333334%
+ }
+
+ .col-lg-offset-11 {
+ margin-left: 91.66666666666666%
+ }
+}
+
+.btn {
+ display: inline-block;
+ padding: 6px 12px;
+ margin-bottom: 0;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.428571429;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ border: 1px solid transparent;
+ border-radius: 0;
+ white-space: nowrap;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none
+}
+
+.btn:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px
+}
+
+.btn:hover, .btn:focus {
+ color: #333;
+ text-decoration: none
+}
+
+.btn:active, .btn.active {
+ outline: 0;
+ background-image: none
+}
+
+.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
+ cursor: not-allowed;
+ pointer-events: none;
+ opacity: .65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none
+}
+
+.btn-default {
+ color: #333;
+ background-color: #fff;
+ border-color: #ccc
+}
+
+.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
+ color: #333;
+ background-color: #ebebeb;
+ border-color: #adadad
+}
+
+.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
+ background-image: none
+}
+
+.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active {
+ background-color: #fff;
+ border-color: #ccc
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #428bca;
+ border-color: #357ebd
+}
+
+.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
+ color: #fff;
+ background-color: #3276b1;
+ border-color: #285e8e
+}
+
+.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
+ background-image: none
+}
+
+.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
+ background-color: #428bca;
+ border-color: #357ebd
+}
+
+.btn-warning {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #eea236
+}
+
+.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
+ color: #fff;
+ background-color: #ed9c28;
+ border-color: #d58512
+}
+
+.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
+ background-image: none
+}
+
+.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active {
+ background-color: #f0ad4e;
+ border-color: #eea236
+}
+
+.btn-danger {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d43f3a
+}
+
+.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
+ color: #fff;
+ background-color: #d2322d;
+ border-color: #ac2925
+}
+
+.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
+ background-image: none
+}
+
+.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active {
+ background-color: #d9534f;
+ border-color: #d43f3a
+}
+
+.btn-success {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #4cae4c
+}
+
+.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
+ color: #fff;
+ background-color: #47a447;
+ border-color: #398439
+}
+
+.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
+ background-image: none
+}
+
+.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active {
+ background-color: #5cb85c;
+ border-color: #4cae4c
+}
+
+.btn-info {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #46b8da
+}
+
+.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
+ color: #fff;
+ background-color: #39b3d7;
+ border-color: #269abc
+}
+
+.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
+ background-image: none
+}
+
+.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
+ background-color: #5bc0de;
+ border-color: #46b8da
+}
+
+.btn-link {
+ color: #428bca;
+ font-weight: normal;
+ cursor: pointer;
+ border-radius: 0
+}
+
+.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none
+}
+
+.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
+ border-color: transparent
+}
+
+.btn-link:hover, .btn-link:focus {
+ color: #2a6496;
+ text-decoration: underline;
+ background-color: transparent
+}
+
+.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus {
+ color: #999;
+ text-decoration: none
+}
+
+.btn-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px
+}
+
+.btn-sm, .btn-xs {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px
+}
+
+.btn-xs {
+ padding: 1px 5px
+}
+
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0
+}
+
+.btn-block + .btn-block {
+ margin-top: 5px
+}
+
+input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
+ width: 100%
+}
+
+.btn-default .caret {
+ border-top-color: #333
+}
+
+.btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret {
+ border-top-color: #fff
+}
+
+.dropup .btn-default .caret {
+ border-bottom-color: #333
+}
+
+.dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret {
+ border-bottom-color: #fff
+}
+
+.btn-group, .btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle
+}
+
+.btn-group > .btn, .btn-group-vertical > .btn {
+ position: relative;
+ float: left
+}
+
+.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active {
+ z-index: 2
+}
+
+.btn-group > .btn:focus, .btn-group-vertical > .btn:focus {
+ outline: 0
+}
+
+.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
+ margin-left: -1px
+}
+
+.btn-toolbar:before, .btn-toolbar:after {
+ content: " ";
+ display: table
+}
+
+.btn-toolbar:after {
+ clear: both
+}
+
+.btn-toolbar .btn-group {
+ float: left
+}
+
+.btn-toolbar > .btn + .btn, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn-group {
+ margin-left: 5px
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0
+}
+
+.btn-group > .btn:first-child {
+ margin-left: 0
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0
+}
+
+.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0
+}
+
+.btn-group > .btn-group {
+ float: left
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0
+}
+
+.btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0
+}
+
+.btn-group > .btn-group:last-child > .btn:first-child {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0
+}
+
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+ outline: 0
+}
+
+.btn-group-xs > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+ padding: 1px 5px
+}
+
+.btn-group-sm > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px
+}
+
+.btn-group-lg > .btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px
+}
+
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px
+}
+
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px
+}
+
+.btn-group.open .dropdown-toggle {
+ background: #f2f2f2
+}
+
+.btn .caret {
+ margin-left: 0
+}
+
+.btn-lg .caret {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0
+}
+
+.dropup .btn-lg .caret {
+ border-width: 0 5px 5px
+}
+
+.btn-group-vertical > .btn, .btn-group-vertical > .btn-group {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%
+}
+
+.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
+ content: " ";
+ display: table
+}
+
+.btn-group-vertical > .btn-group:after {
+ clear: both
+}
+
+.btn-group-vertical > .btn-group > .btn {
+ float: none
+}
+
+.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0
+}
+
+.btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0
+}
+
+.btn-group-vertical > .btn-group:last-child > .btn:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0
+}
+
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate
+}
+
+.btn-group-justified .btn {
+ float: none;
+ display: table-cell;
+ width: 1%
+}
+
+[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] {
+ display: none
+}
+
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px solid #000;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+ border-bottom: 0 dotted;
+ content: ""
+}
+
+.dropdown {
+ position: relative
+}
+
+.dropdown-toggle:focus {
+ outline: 0
+}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ list-style: none;
+ font-size: 14px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0;
+ background-clip: padding-box
+}
+
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto
+}
+
+.dropdown-menu .divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5
+}
+
+.dropdown-menu > li > a {
+ font-size: 14px;
+ text-decoration: none;
+ display: block;
+ padding: 5px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.428571429;
+ color: #333;
+ white-space: nowrap
+}
+
+.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
+ text-decoration: none;
+ color: #fff;
+ background-color: #428bca
+}
+
+.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ background-color: #428bca
+}
+
+.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+ color: #999
+}
+
+.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ cursor: not-allowed
+}
+
+.open > .dropdown-menu {
+ display: block
+}
+
+.open > a {
+ outline: 0
+}
+
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.428571429;
+ color: #999
+}
+
+.dropdown-backdrop {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: 990
+}
+
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto
+}
+
+.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
+ border-top: 0 dotted;
+ border-bottom: 4px solid #000;
+ content: ""
+}
+
+.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px
+}
+
+@media (min-width: 768px) {
+ .navbar-right .dropdown-menu {
+ right: 0;
+ left: auto
+ }
+}
+
+body, html {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ margin: 0;
+ background: #ededed;
+ color: #343437;
+ line-height: 2em;
+ font-weight: 300;
+ font-size: .95em
+}
+
+h1 {
+ font-size: 2.5em;
+ margin: .8em 0
+}
+
+body.center {
+ padding: 0 30px;
+ background: #FFF;
+ font-size: 1em
+}
+
+ul li {
+ list-style-type: disc
+}
+
+a {
+ color: #4290ad;
+ text-decoration: none;
+ font-weight: normal
+}
+
+a:hover {
+ text-decoration: underline
+}
+
+h1, h2, h3 {
+ font-weight: 300;
+ line-height: 1.2em
+}
+
+.topNav, .bottomNav {
+ background: #f2f2f2;
+ margin: 0 -30px;
+ margin-bottom: 20px
+}
+
+.topNav:before, .bottomNav:before, .topNav:after, .bottomNav:after {
+ content: " ";
+ display: table
+}
+
+.topNav:after, .bottomNav:after {
+ clear: both
+}
+
+.topNav ul.navList, .bottomNav ul.navList {
+ padding: 10px 20px;
+ margin: 0;
+ list-style-type: none
+}
+
+.topNav ul.navList li, .bottomNav ul.navList li {
+ display: inline;
+ padding: 0 10px
+}
+
+.topNav ul.navList li.navBarCell1Rev, .bottomNav ul.navList li.navBarCell1Rev {
+ font-weight: bold
+}
+
+.bottomNav {
+ margin-top: 30px;
+ margin-bottom: 0
+}
+
+.aboutLanguage {
+ color: #BBB;
+ background: white;
+ text-align: center;
+ padding: 20px 0
+}
+
+.subNav {
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+ border-bottom: 1px solid #EEE
+}
+
+.subNav:before, .subNav:after {
+ content: " ";
+ display: table
+}
+
+.subNav:after {
+ clear: both
+}
+
+.subNav div:before, .subNav div:after {
+ content: " ";
+ display: table
+}
+
+.subNav div:after {
+ clear: both
+}
+
+.subNav ul.navList, .subNav ul {
+ font-size: .9em;
+ margin: 0;
+ padding: 00;
+ float: left;
+ list-style-type: none
+}
+
+.subNav ul.navList li, .subNav ul li {
+ padding: 0 5px;
+ display: inline
+}
+
+table.overviewSummary, .contentContainer ul li table {
+ width: 100%;
+ margin: 20px 0
+}
+
+table.overviewSummary caption, .contentContainer ul li table caption {
+ text-align: left;
+ font-weight: 100;
+ font-size: 1em;
+ float: left;
+ padding: 0 10px;
+ margin-top: 10px;
+ background: #db4800;
+ color: white
+}
+
+table.overviewSummary tr th, .contentContainer ul li table tr th {
+ padding: 10px;
+ font-weight: bold;
+ font-size: 1em;
+ text-align: left
+}
+
+table.overviewSummary tr td, .contentContainer ul li table tr td {
+ vertical-align: top;
+ font-size: .9em;
+ padding: 5px 10px;
+ border-top: 1px solid #EEE
+}
+
+table.overviewSummary tbody > tr:nth-child(odd) > td, .contentContainer ul li table tbody > tr:nth-child(odd) > td {
+ background-color: #f9f9f9
+}
+
+body.left {
+ padding-top: 10px
+}
+
+body.left h1, body.left h2 {
+ display: inline;
+ text-align: left;
+ font-weight: 100;
+ font-size: 1em;
+ margin: 0 10px;
+ padding: 3px 10px;
+ margin-top: 10px;
+ background: #db4800;
+ color: white;
+ line-height: 40px
+}
+
+body.left .indexHeader {
+ margin: 0;
+ padding: 0 15px;
+ font-size: .9em
+}
+
+body.left ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0
+}
+
+body.left ul li {
+ margin: 0;
+ padding: 0
+}
+
+body.left ul li a {
+ display: block;
+ padding: 0 15px;
+ text-decoration: none
+}
+
+body.left ul li a:hover {
+ text-decoration: underline
+}
+
+.contentContainer .header ul, .contentContainer ul.blockList {
+ padding: 0
+}
+
+.contentContainer .header ul > li, .contentContainer ul.blockList > li {
+ list-style-type: none
+}
+
+.contentContainer ul.inheritance {
+ margin-left: 0;
+ padding-left: 0
+}
+
+.contentContainer ul.inheritance li {
+ list-style-type: none
+}
+
+.contentContainer ul.inheritance ul.inheritance {
+ padding-left: 20px
+}
+
+.contentContainer hr {
+ border: 0 none;
+ border-top: 1px solid #EEE;
+ margin-top: 30px;
+ margin-botom: 0
+}
+
+ul.blockList ul.blockList, ul.blockList ul.blockListLast {
+ border: 1px solid #EEE;
+ margin: 20px 0;
+ padding: 0 20px
+}
+
+ul.blockList ul.blockList h4, ul.blockList ul.blockListLast h4, ul.blockList ul.blockList h3, ul.blockList ul.blockListLast h3 {
+ font-size: 1em;
+ font-weight: bold;
+ line-height: 2em;
+ text-indent: 10px;
+ border-bottom: 1px solid #EEE;
+ margin: 0 -20px;
+ padding: 5px 0;
+ background: #f2f2f2
+}
+
+ul.blockList ul.blockList li, ul.blockList ul.blockListLast li {
+ list-style-type: none
+}
+
+ul.horizontal {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+ font-size: .9em
+}
+
+ul.horizontal li {
+ display: inline
+}
+
+span.strong {
+ font-weight: bold
+}
+
+a span.strong {
+ font-weight: normal
+}
\ No newline at end of file
diff --git a/3.2.3/index.html b/3.2.3/index.html
new file mode 100644
index 000000000..af46d0d9d
--- /dev/null
+++ b/3.2.3/index.html
@@ -0,0 +1,3192 @@
+
+
+
+
+
+
+
+Grails Views
+
+
+
+
+
+
+
+
+
1. Introduction
+
+
+
The Grails Views project provides additional view technologies to the Grails framework, including JSON and Markup views.
+
+
+
+
+
However, the core of the project is extensible for potentially any kind of view implementation that is based on a Groovy DSL. The following sections cover usage of Groovy JSON views.
+
+
+
+
+
2. JSON Views
+
+
+
2.1. Introduction
+
+
JSON views are written in Groovy, end with the file extension gson
and reside in the grails-app/views
directory. They provide a DSL for producing output in the JSON format. A hello world example can be seen below:
+
+
+
grails-app/views/hello.gson
+
+
json.message {
+ hello "world"
+}
+
+
+
+
The above JSON view results in the output:
+
+
+
+
{"message":{ "hello":"world"}}
+
+
+
+
+
+
+
json(1,2,3) == "[1,2,3]"
+json { name "Bob" } == '{"name":"Bob"}'
+json([1,2,3]) { n it } == '[{"n":1},{"n":2},{"n":3}]'
+
+
+
+
You can specify a model to view in one of two ways. Either with a model
block:
+
+
+
grails-app/views/hello.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Or with the @Field
transformation provided by Groovy:
+
+
+
grails-app/views/hello.gson
+
+
import groovy.transform.Field
+@Field String message
+json.message {
+ hello message
+}
+
+
+
+
+
2.2. Version History
+
+
The current release is 3.2.3. Below is a version history.
+
+
+
+
+
+
+
+
+
+
+Grails 4, Gradle 5.
+
+
+Support for render embedded types with "includes".
+
+
+Fixed StackOverflow when rendering bidirectional associations.
+
+
+Allow augmenting model in JSON view.
+
+
+Fixed bugs related to exclude version and error properties from a Map model.
+
+
+
+
+
+
+
+The includes
support has changed in a way that may break existing use cases. Having includes: ['captain', 'captain.name']]
previously excluded all other fields except for captain.name
. The captain
in the list was necessary for captain.name
to function as expected. Now the captain
entry will cause all fields in captain
to be rendered. To restore the previous behavior, simply remove the captain
entry. includes: ['captain', 'captain.name']
→ includes: ['captain.name]
.
+
+
+
+
+
+
+
+JSON API support
+
+
+Ability to register custom converters
+
+
+New configuration options for date formatting and unicode escaping
+
+
+New testing trait that integrates with the testing-support framework (1.2.5)
+
+
+
+
+
+
+
+Global template support
+
+
+Template inheritance
+
+
+Global templates for GORM for MongoDB / GeoJSON
+
+
+Support for easily testing JSON views with JsonViewTest
+
+
+Pagination support in HAL
+
+
+Better Embedded support in HAL
+
+
+Ability to access HTTP parameters and headers
+
+
+Resource expansion with the expand
parameter
+
+
+Controller namespace support
+
+
+Support for a default /object/_object.gson
template
+
+
+
+
+
+
+
+Initial 1.0.0 GA Release
+
+
+
+
+
+
2.3. Installation
+
+
To activate JSON views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-json:3.2.3"
+
+
+
+
If you are also using MongoDB you may want to add the views-json-templates
dependency too which includes support for GeoJSON:
+
+
+
+
compile "org.grails.plugins:views-json-templates:3.2.3"
+
+
+
+
To enable Gradle compilation of JSON views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-json
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-json"
+
+
+
+
This will add a compileGsonViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
2.4. Templates
+
+
2.4.1. Template Basics
+
+
You can define templates starting with underscore _
. For example given the following template called _person.gson
:
+
+
+
grails-app/views/person/_person.gson
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
You can render the template with the g.render
method:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"person", model:[person:person])
+
+
+
+
The above assumes the view is in the same directory as the template. If this is not the case you may need to use a relative URI to the template:
+
+
+
grails-app/views/family/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"/person/person", model:[person:person])
+
+
+
+
+
2.4.2. Template Namespace
+
+
The previous example can be simplified using the template namespace:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(person)
+
+
+
+
In this example, the name of the method call (person
in this case) is used to dictate which template to render.
+
+
+
The argument to the template becomes the model. The name of the model variable is the same as the template name. If you wish to alter this you can pass a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(individual:person)
+
+
+
+
In the above example the model variable passed to the _person.gson
template is called individual
.
+
+
+
This technique may also be used when you want to render a template using a relative path:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.'/person/person'(person:person)
+
+
+
+
The template namespace even accepts a collection (or any Iterable
object):
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people)
+
+
+
+
In this case the output is a JSON array. For example:
+
+
+
+
[{"name":"Fred",age:10},{"name":"Bob",age:12}]
+
+
+
+
When rendering an Iterable
, you can also specify the model name:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person("owner", people)
+
+
+
+
The person
template would have a field defined: Person owner
+
+
+
If you need additional data that will be static over each iteration of the template, you can also pass in a model:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people, [relationship: "Father"])
+
+
+
+
The person
template could have a field defined: String relationship
+
+
+
By passing in a collection the plugin will iterate over each element on the collection and render the template as a JSON array. If you do not want this to happen then use the variation of the method that takes a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people:people)
+
+
+
+
+
2.4.3. More Ways to Render Templates
+
+
The g.render
method is flexible, you can render templates in many forms:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild g.render(template:"person", model:[person: family.children.max { Person p -> p.age } ])
+ children g.render(template:"person", collection: family.children, var:'person')
+}
+
+
+
+
However, most of these use cases are more concise with the template namespace:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild tmpl.person( family.children.max { Person p -> p.age } ] )
+ children tmpl.person( family.children )
+}
+
+
+
+
+
2.4.4. Template Inheritance
+
+
JSON templates can inherit from a parent template. For example consider the following parent template:
+
+
+
grails-app/views/_parent.gson
+
+
model {
+ Object object
+}
+json {
+ hal.links(object)
+ version "1.0"
+}
+
+
+
+
A child template can inherit from the above template by using the inherits
method:
+
+
+
grails-app/views/_person.gson
+
+
inherits template:"parent"
+model {
+ Person person
+}
+json {
+ name person.name
+}
+
+
+
+
The JSON from the parent and the child template will be combined so that the output is:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/person/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "version": "1.0",
+ "name": "Fred"
+ }
+
+
+
+
The parent template’s model will be formulated from the child templates model and the super class name. For example if the model is Person person
where Person
extends from Object
then the final model passed to the parent template will look like:
+
+
+
+
[person:person, object:person]
+
+
+
+
If the Person
class extended from a class called Mammal
then the model passed to the parent would be:
+
+
+
+
[person:person, mammal:person]
+
+
+
+
This allows you to design your templates around object inheritance.
+
+
+
You can customize the model passed to the parent template using the model
argument:
+
+
+
+
inherits template:"parent", model:[person:person]
+
+
+
+
+
+
2.5. Rendering Domain Classes
+
+
2.5.1. Basics of Domain Class Rendering
+
+
Typically your model may involve one or many domain instances. JSON views provide a render
method for rendering these.
+
+
+
For example given the following domain class:
+
+
+
+
class Book {
+ String title
+}
+
+
+
+
And the following template:
+
+
+
+
model {
+ Book book
+}
+json g.render(book)
+
+
+
+
The resulting output is:
+
+
+
+
{"id":1,"title":"The Stand"}
+
+
+
+
You can customize the rendering by including or excluding properties:
+
+
+
+
json g.render(book, [includes:['title']])
+
+
+
+
Or by providing a closure to provide additional JSON output:
+
+
+
+
json g.render(book) {
+ pages 1000
+}
+
+
+
+
Or combine the two approaches:
+
+
+
+
json g.render(book, [includes:['title']]) {
+ pages 1000
+}
+
+
+
+
+
2.5.2. Deep Rendering of Domain Classes
+
+
Typically the g.render(..)
method will only render objects one level deep. In other words if you have a domain class such as:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
The resulting output will be something like:
+
+
+
+
{"id":1,"title":"The Stand","author":{id:1}}
+
+
+
+
If you wish for the author
to be included as part of the rendering, there are two requirements, first you must make sure the association is initialized.
+
+
+
If the render
method encounters a proxy, it will not traverse into the relationship to avoid N+1 query performance problems.
+
+
+
+
+
+
+
+
+The same applies to one-to-many collection associations. If the association has not been initialized the render
method will not traverse through the collection!
+
+
+
+
+
+
So you must make sure your query uses a join:
+
+
+
+
Book.findByTitle("The Stand", [fetch:[author:"join"]])
+
+
+
+
Secondly when calling the render
method you should pass the deep
argument:
+
+
+
+
json g.render(book, [deep:true])
+
+
+
+
Alternatively, to only expand a single association you can use the expand
argument:
+
+
+
+
json g.render(book, [expand:['author']])
+
+
+
+
+
+
+
+
+
+request parameters can also be used to expand associations (eg. ?expand=author
), if you do not want to allow this, then use includes
or excludes
to include only the properties you want.
+
+
+
+
+
+
Finally, if you prefer to handle the rendering yourself you can do by excluding the property:
+
+
+
+
json g.render(book, [excludes:['author']]) {
+ author {
+ name book.author.name
+ }
+}
+
+
+
+
+
2.5.3. Domain Class Rendering and Templates
+
+
An alternative to the default behaviour of the render
method is to rely on templates.
+
+
+
In other words if you create a /author/_author.gson
template and then use the g.render
method on an instance of book
:
+
+
+
+
Whenever the author
association is encountered the g.render
method will automatically render the /author/_author.gson
template instead.
+
+
+
+
+
2.6. JSON View API
+
+
+
The JsonViewTemplate
superclass implements the JsonView trait which in turn extends the the GrailsView trait.
+
+
+
Thanks to these traits several methods and properties are available to JSON views that can be used to accomplish different tasks.
+
+
+
2.6.1. Creating Links
+
+
Links can be generated using the g.link(..)
method:
+
+
+
+
json.person {
+ name "bob"
+ homepage g.link(controller:"person", id:"bob")
+}
+
+
+
+
The g.link
method is similar to the equivalent tag in GSP and allows you to easily create links to other controllers.
+
+
+
+
+
+
To customize content types and headers use the response
object defined by the HttpView trait:
+
+
+
+
response.contentType "application/hal+json"
+response.header "Token", "foo"
+json.person {
+ name "bob"
+}
+
+
+
+
The HttpView
trait defines a variety of methods for inspecting the request and altering the response.
+
+
+
+
+
+
+
+
+The methods available are only a subset of the methods available via the HttpServletRequest
and HttpServletResponse
objects, this is by design as view logic should be limited and logic performed in the controller instead.
+
+
+
+
+
+
+
2.6.3. Accessing the Request
+
+
Various aspects of the request can be accessed by the request
object defined by the HttpView trait:
+
+
+
+
json.person {
+ name "bob"
+ userAgent request.getHeader('User-Agent')
+}
+
+
+
+
Parameters can be accessed via the params
object which is an instance of Parameters :
+
+
+
+
json.person {
+ name "bob"
+ first params.int('offset', 0)
+ sort params.get('sort', 'name')
+}
+
+
+
+
+
2.6.4. Default Static Imports
+
+
The following classes' static properties are imported by default:
+
+
+
+
+org.springframework.http.HttpStatus
+
+
+org.springframework.http.HttpMethod
+
+
+grails.web.http.HttpHeaders
+
+
+
+
+
This means that you can use the response
object to set the status using these constants, instead of hard coded numbers:
+
+
+
+
response.status NOT_FOUND
+
+
+
+
Or generate links using the appropriate HTTP method:
+
+
+
+
g.link(resource:"books", method:POST)
+
+
+
+
+
2.6.5. I18n & Locale Integration
+
+
You can lookup i18n messages use the g.message
method:
+
+
+
+
json.error {
+ description g.message(code:'default.error.message')
+}
+
+
+
+
You can also create locale specific views by appending the locale to view name. For example person_de.gson
for German or person.gson
for the default.
+
+
+
+
+
+
+
+
+For more complex message lookups the messageSource
property is an instance of the Spring MessageSource class.
+
+
+
+
+
+
+
2.6.6. Accessing Configuration
+
+
The application configuration is injected automatically into your json views. To access it, simply reference config
.
+
+
+
+
json {
+ foo config.getProperty("bar", String, null)
+}
+
+
+
+
+
2.6.7. Miscellaneous Properties
+
+
Other properties are also available:
+
+
+
+
+
+
+
+
+controllerName
+The name of the current controller
+
+
+actionName
+The name of the current controller action
+
+
+controllerNamespace
+The namespace of the current controller
+
+
+
+
+
+
+
2.7. Model Naming
+
+
Grails Framework supports a convention for the model names in your JSON views. If the convention does not meet your needs, model variables can be explicitly defined.
+
+
+
+
+
+
+
+
+Some model names are reserved since there are properties of the same name injected into the view:
+locale
, response
, request
, page
, controllerNamespace
, controllerName
, actionName
, config
, generator
, json
+
+
+
+
+
+
2.7.1. Explicit Model Naming
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Then the controller has to specify the name to be used in the view:
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(message: "Hello World")
+ //or [message: "Hello World"]
+}
+
+
+
+
When using a template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
In the view you can use the tmpl
namespace:
+
+
+
+
json {
+ message tmpl.msg([message: message])
+ // or g.render(template:'msg', model:[message: message])
+ // or g.render(template:'msg', model: message, var:'message')
+}
+
+
+
+
+
+
model {
+ List<String> messages
+}
+json {
+ messages tmpl.msg('message', messages)
+ // or g.render(template:'msg', collection: messages, var: 'message')
+}
+
+
+
+
+
2.7.2. Model By Convention
+
+
Property Type
+
+
When rendering a non iterable object, the property name of the type is used when a name is not specified.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond("Hello World")
+}
+
+
+
+
This also applies when rendering templates with tmpl
.
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String someString
+}
+json tmpl.msg(someString)
+
+
+
+
If a collection is rendered, the property name of the component type is appended with the property name of the collection type. The component type is based on the first item in the list.
+
+
+
List<String>
→ stringList
+
+
+
Set<String>
→ stringSet
+
+
+
Bag<String>
→ stringCollection
+
+
+
If the collection is empty, emptyCollection
will be used as the default model name. This is due to not being able to inspect the first object’s type.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String stringList
+}
+json {
+ strings stringList
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(["Hello", "World"])
+}
+
+
+
+
+
+
+
+
+
+The component+collection convention does not apply when rendering collections with tmpl
inside a view.
+
+
+
+
+
+
+
Template Name
+
+
When using a template, unless specified, the model name is based on the template name.
+
+
+
Given the following template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String msg // or String string
+}
+json.message {
+ hello msg
+}
+
+
+
+
To render a single message from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
json.message tmpl.msg(message)
+
+
+
+
To render a collection of messages from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ List<String> stringList
+}
+json {
+ messages tmpl.msg(stringList)
+}
+
+
+
+
In both cases the convention of the variable name matching the template name is used.
+
+
+
+
+
+
2.8. Content Negotiation
+
+
GSON views integrate with Grails' content negotiation infrastructure. For example if you create two views called grails-app/views/book/show/show.gsp
(for HTML) and grails-app/views/book/show/show.gson
(for JSON), you can then define the following action:
+
+
+
grails-app/controllers/myapp/BookController.groovy
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
The result is that if you send a request to /book/show
it will render show.gsp
but if you send a request to /book/show.json
it will render show.gson
.
+
+
+
In addition, if the client sends a request with the Accept
header containing application/json
the show.gson
view will be rendered.
+
+
+
2.8.1. Content Negotiation and Domain Classes
+
+
Content negotiation also works nicely with domain classes, for example if you want to define a template to render any instance of the Book
domain class you can create a gson
file that matches the class name.
+
+
+
For example given a class called demo.Book
you can create grails-app/views/book/_book.gson
and whenever respond
is called with an instance of Book
Grails will render _book.gson
.
+
+
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
If you define an index
action that responds with a list of books:
+
+
+
+
def index() {
+ respond Book.list()
+}
+
+
+
+
Then you can create a corresponding grails-app/views/book/index.gson
file that renders each book:
+
+
+
grails-app/views/book/index.gson
+
+
@Field List<Book> bookList
+
+json tmpl.book(bookList)
+
+
+
+
+
+
+
+
+
+When responding with a list of objects Grails automatically appends the suffix "List" to the model name, so in this case the model name is bookList
+
+
+
+
+
+
By calling the tmpl.book(..)
method with the list of books the grails-app/views/book/_book.gson
template will be rendered for each one and a JSON array returned.
+
+
+
+
2.8.2. Global Default Template
+
+
You can also define a /object/_object
template that is rendered by default if no other template is found during content negotiation. To do this create a file called /grails-app/views/object/_object.gson
where the name of the model is object
, for example:
+
+
+
+
model {
+ Object object
+}
+json g.render(object)
+
+
+
+
+
2.8.3. Content Negotiation and Versioned APIs
+
+
A typical use case when building REST APIs is the requirement to support different versions of the API. GSON views can be versioned by including the version in the name of the view.
+
+
+
Grails will then use the ACCEPT-VERSION
header when resolving the view.
+
+
+
For example given a view called /book/show.gson
if you wish to deprecate your previous API and create a version 2.0 API, you can rename the previous view /book/show_v1.0.gson
and create a new /book/show.gson
representing the new version of the API.
+
+
+
Then when the client sends a request with the ACCEPT-VERSION
header containing v1.0
the /book/show_v1.0.gson
view will be rendered instead of /book/show.gson
.
+
+
+
+
2.8.4. Content Negotiation and View Resolving Strategy
+
+
Grails Framework takes into account a number of factors when attempting to resolve the view including the content type, version and locale.
+
+
+
The paths searched are following:
+
+
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_de_hal_v1.0.gson)
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE].gson (Example: show_de_hal.gson)
+
+
+view_name[_LOCALE][_ACCEPT-VERSION].gson (Example: show_de_v1.0.gson)
+
+
+view_name[_LOCALE].gson (Example: show_de.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_hal_v1.0.gson)
+
+
+view_name[_ACCEPT-VERSION][_ACCEPT_CONTENT_TYPE].gson (Example: show_v1.0_hal.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE].gson (Example: show_hal.gson)
+
+
+view_name[_ACCEPT-VERSION].gson (Example: show_v1.0.gson)
+
+
+view_name.gson (Example: show.gson)
+
+
+
+
+
The content type (defined by either the ACCEPT
header or file extension in the URI) is taken into account to allow different formats for the same view.
+
+
+
+
2.8.5. Content Negotiation and Custom Mime Types
+
+
Some REST APIs use the notion of custom mime types to represent resources. Within Grails you can for example define custom mime types in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+ bookList: "application/vnd.books.org.booklist+json"
+
+
+
+
Once these custom mime types have been defined you can then define a view such as show.book.gson
for that particular mime type.
+
+
+
+
+
2.9. HAL Support
+
+
HAL is a standard format for representing JSON that has gained traction for its ability to represent links between resources and provide navigable APIs.
+
+
+
The JSON views plugin for Grails provides HAL support out-of-the-box. All JSON views have access to the hal
instance which implements HalViewHelper .
+
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(book)
+ hal.embedded {
+ author( book.authors.first() ) { Author author ->
+ name author.name
+ }
+ }
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+The call to hal.links()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
This produces the HAL output:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "_embedded": {
+ "author": {
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/author/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "name": "Stephen King"
+ }
+ },
+ "title": "The Stand"
+}
+
+
+
+
2.9.1. Generating HAL Links
+
+
The above example uses the hal.links(..)
method to render links for a domain resource and the hal.embedded(..)
method to define any embedded objects that form part of the HAL response.
+
+
+
The hal.links(..)
method will by default create a link to the resource, but you can define additional links by annotating the domain class with either grails.rest.Linkable
or grails.rest.Resource
and using the link
method on the object:
+
+
+
+
book.link(rel:"publisher", href:"http://foo.com/books")
+
+
+
+
The link will then be included in the HAL output.
+
+
+
If you wish to be specific about which links to include you can do so by passing a map of objects to link to:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self:book, author: book.author)
+ ...
+}
+
+
+
+
Alternatively, if you prefer to define the HAL links yourself then you can do so by passing a closure to the hal.links
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links {
+ self {
+ href '...'
+ hreflang 'en'
+ type "application/hal+json"
+ }
+ }
+ ...
+}
+
+
+
+
+
2.9.2. Rendering Domain Classes as HAL
+
+
If you prefer to let the plugin handle the rendering of your object you can use the hal.render(..)
method:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book)
+
+
+
+
The hal.render
method works the same as the g.render
method, accepting the same arguments, the difference being it will output HAL links for the object via hal.links
and also output associations fetched via a join query for hal.embedded
.
+
+
+
For example you can also customize the content of the generated HAL with a closure:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book) {
+ pages 1000
+}
+
+
+
+
+
2.9.3. Embedded Association and HAL
+
+
Generally, when using the hal.render(..)
method, _embedded
associations are only rendered for associations that have been initialized and eagerly fetched. This means that the following query will not render the book.authors
association:
+
+
+
+
However, this query will render the book.authors
association:
+
+
+
+
Book.get(params.id, [fetch:[authors:'eager']])
+
+
+
+
This is by design and to prevent unexpected performance degradation due to N+1 query loading. If you wish to force the render
method to render _embedded
associations for HAL you can do see using the deep
argument:
+
+
+
+
json hal.render(book, [deep:true])
+
+
+
+
You can prevent HAL _embedded
associations from being rendering using the embedded:false
parameter:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book, [embedded:false])
+
+
+
+
You can also render embedded associations without using the hal.render(..)
method, by using the hal.embedded(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(book)
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+Like the hal.links(..)
method, the hal.embedded(..)
method should come first, before any other attributes, in your JSON output
+
+
+
+
+
+
You can also control which associations should be embedded by using a map argument instead:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ title book.title
+}
+
+
+
+
And you can inline the contents of the book without any associations using the hal.inline(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book)
+}
+
+
+
+
To customize the contents of the inlined JSON output use a closure:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
+
+
+
+
+You cannot include additional content after the call to hal.inline(..)
as this will produce invalid JSON
+
+
+
+
+
+
You can combine hal.embeddded(..)
and hal.links(..)
to obtain exactly the links and the embedded content you want:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self: book )
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
2.9.4. Specifying the HAL Content Type
+
+
The default HAL response content type is application/hal+json
, however as discussed in the section on Custom Mime Type you can define your own response content types to represent your resources.
+
+
+
For example given the following configuration in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+
+
+
+
You can set the HAL content type to an explicit content type or one of the named content types defined in grails.mime.types
in application.yml
:
+
+
+
+
model {
+ Book book
+}
+hal.type("book")
+json {
+ ...
+}
+
+
+
+
+
+
+
The JSON views plugin for Grails provides navigable pagination support.
+Like the GSP <g:paginate>
tag, the parameters include: total
, max
, offset
, sort
and order
.
+
+
+
+
+
model {
+ Iterable<Book> bookList
+ Integer bookCount
+ Integer max // optional, defaults to 10
+ Integer offset // optional, defaults to 0
+ String sort // optional
+ String order // optional
+}
+json {
+ hal.paginate(Book, bookCount, max, offset, sort, order)
+ ...
+}
+
+
+
+
+
+
+
+
+
+Similar to hal.links()
the hal.paginate()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
When accessing http://localhost:8080/book?offset=10
this produces the navigable output like:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/index?offset=10&max=10",
+ "hreflang": "en_US",
+ "type": "application/hal+json"
+ },
+ "first": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "prev": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "next": {
+ "href": "http://localhost:8080/book/index?offset=20&max=10",
+ "hreflang": "en_US"
+ },
+ "last": {
+ "href": "http://localhost:8080/book/index?offset=40&max=10",
+ "hreflang": "en_US"
+ }
+ },
+ ...
+}
+
+
+
+
+
+
+
+
+
+If there aren’t enough results to paginate the navigation links will not appear, Likewise, the prev
and next
links are only present when there is a previous or next page.
+
+
+
+
+
+
If you have other links that you want to include along with the pagination links then you can use the hal.links(..)
method with pagination arguments:
+
+
+
+
model {
+ Author author
+ Iterable<Book> bookList
+ Integer bookCount
+}
+json {
+ // the model, type to paginate, and the total count
+ hal.links([author:author], Book, bookCount)
+ ...
+}
+
+
+
+
+
+
2.10. JSON API Support
+
+
JSON API is a standard format for representing JSON.
+
+
+
The JSON views plugin for Grails provides JSON API support out-of-the-box. All JSON views have access to the jsonapi
instance which implements JsonApiViewHelper .
+
+
+
Grails views makes a best effort to conform to the JSON API standard, however that only applies to the format of the data. The specification makes many assertions about response codes, url conventions, and other server related concepts that are overreaching.
+
+
+
The JSON API support in Grails also only applies to domain classes. Because the specification relies on concepts of relationships and identifiers, there is no clear way to determine how those concepts would apply to conventional Groovy classes. As a result, normal Groovy classes are not supported.
+
+
+
The simplest example of using JSON API simply passes a domain class to the render
method of the jsonapi
object.
+
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book)
+
+
+
+
In the example where Book
looks like the following:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
This is what an example Book
instance rendered with JSON API might look like.
+
+
+
+
{
+ "data": {
+ "type": "book",
+ "id": "3",
+ "attributes": {
+ "title": "The Return of the King"
+ },
+ "relationships": {
+ "author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+ }
+ }
+ },
+ "links": {
+ "self": "http://localhost:8080/book/3"
+ }
+}
+
+
+
+
2.10.1. JSON API Object
+
+
To include the JSON API Object in the response, include a jsonApiObject
argument to the render
method.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [jsonApiObject: true])
+
+
+
+
The response will contain "jsonapi":{"version":"1.0"}
as the first key in the resulting object.
+
+
+
+
+
+
To add metadata to your response, the meta
argument can be passed to render with the value being the object that should be rendered. If this functionality is used in addition to jsonApiObject: true
, the metadata will be rendered as the "meta" property of the "jsonapi" object.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [meta: [name: "Metadata Information"]])
+
+
+
+
The response will contain "meta":{"name":"Metadata Information"}
as the first key in the resulting object.
+
+
+
+
2.10.3. Rendering Errors
+
+
+
Exceptions
+
+
If an exception is passed to the render
method, it will be rendered within the specification.
+
+
+
In the example of an exception new RuntimeException("oops!")
, the following will be rendered:
+
+
+
+
{
+ "errors": [
+ {
+ "status": 500,
+ "title": "java.lang.RuntimeException",
+ "detail": "oops!",
+ "source": {
+ "stacktrace": [
+ //An array of information relating to the stacktrace
+ ]
+ }
+ }
+ ]
+}
+
+
+
+
+
Validation Errors
+
+
In the case of validation errors, the response will look like the following when a name
property fails the blank constraint:
+
+
+
+
{
+ "errors": [
+ {
+ "code": "blank",
+ "detail": "Property [name] of class [class com.foo.Bar] cannot be blank",
+ "source": {
+ "object": "com.foo.Bar",
+ "field": "name",
+ "rejectedValue": "",
+ "bindingError": false
+ }
+ }
+ ]
+}
+
+
+
+
+
+
2.10.4. Links
+
+
In general, links for relationships will be provided when the relationship has a value.
+
+
+
Example output for a has one relationship where the value is null:
+
+
+
+
"captain": {
+ "data": null
+}
+
+
+
+
And when the value is not null:
+
+
+
+
"author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+}
+
+
+
+
Currently links are not supported in the case of to many relationships.
+
+
+
+
+
+
The JSON API specification has a section which explains pagination . The Grails implementation follows that specification as it is written.
+
+
+
To enable pagination links in your output you must be rendering a collection and also include some arguments in addition to the collection being rendered. There are two required arguments: total and resource. The default offset is 0 and max is 10.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book]])
+
+
+
+
Example links output if bookTotal == 20
:
+
+
+
+
"links": {
+ "self": "/books",
+ "first": "http://localhost:8080/books?offset=0&max=10",
+ "next": "http://localhost:8080/books?offset=10&max=10",
+ "last": "http://localhost:8080/books?offset=10&max=10"
+}
+
+
+
+
By default the values for offset
, sort
, max
, and order
will come from the parameters with the same names. You can override their values by passing the corresponding argument in the pagination Map.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book, max: 20, sort: params.myCustomSortArgument]])
+
+
+
+
+
2.10.6. Associations
+
+
The JSON API specification details how relationships should be rendered. The first way is through a relationships object described here . By default that is now relationships will be rendered in json views.
+
+
+
If you do not wish to render the relationships at all, the associations
argument can be passed to render
with the value of false.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [associations: false])
+
+
+
+
The specification also has a section that describes compound documents . If you want one or more of your relationships to be rendered in that manner, you can include the expand
argument.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [expand: "author"]) //can also be a list of strings
+
+
+
+
+
2.10.7. Includes / Excludes
+
+
The JSON API implementation in Grails supports the same includes and excludes support as normal json views. Please see the section on rendering for details.
+
+
+
+
2.10.8. Identifier Rendering
+
+
Grails provides a way to customize the rendering of your domain class identifiers. To override the default behavior, register a bean that implements JsonApiIdRenderStrategy .
+
+
+
grails-app/conf/spring/resources.groovy
+
+
beans = {
+ jsonApiIdRenderStrategy(MyCustomImplementation)
+}
+
+
+
+
+
+
2.11. The JsonTemplateEngine
+
+
+
This class is a regular Groovy TemplateEngine , and you can use the engine to render JSON views outside the scope of an HTTP request.
+
+
+
+
+
@Autowired
+JsonViewTemplateEngine templateEngine
+void myMethod() {
+ Template t = templateEngine.resolveTemplate('/book/show')
+ def writable = t.make(book: new Book(title:"The Stand"))
+ def sw = new StringWriter()
+ writable.writeTo( sw )
+ ...
+}
+
+
+
+
+
2.12. Static Compilation
+
+
JSON views are statically compiled. You can disable static compilation if you prefer by setting grails.views.json.compileStatic
:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: false
+
+
+
+
+
+
+
+
+
+If you disable static compilation rendering performance will suffer.
+
+
+
+
+
+
For model variables you need to declare the types otherwise you will get a compilation error:
+
+
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
+
2.13. Testing
+
+
Although generally testing can be done using functional tests via an HTTP client, the JSON views plugin also provides a trait which helps in writing either unit or integration tests.
+
+
+
To use the trait import the grails.plugin.json.view.test.JsonViewTest
class and apply it to any Spock or JUnit test:
+
+
+
+
import grails.plugin.json.view.test.*
+import spock.lang.Specification
+class MySpec extends Specification implements JsonViewTest {
+ ...
+}
+
+
+
+
The trait provides a number of different render
method implementations that can either render a JSON view found in grails-app/views
or render an inline String. For example to render an inline template:
+
+
+
+
void "Test render a raw GSON view"() {
+ when:"A gson view is rendered"
+ JsonRenderResult result = render '''
+ model {
+ String person
+ }
+ json.person {
+ name person
+ }
+''', [person:"bob"] (1)
+
+ then:"The json is correct"
+ result.json.person.name == 'bob' (2)
+}
+
+
+
+
+
+1
+Use the render
method to return a JsonRenderResult
passing in a String that is the inline template and a map that is the model
+
+
+2
+Assert the parsed JSON, represented by the json
property, is correct
+
+
+
+
+
To render an existing view or template use named arguments to specify an absolute path to either a template or a view:
+
+
+
+
when:"A gson view is rendered"
+def result = render(template: "/path/to/template", model:[age:10])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
If you are writing a unit test, and the model involves a domain class, you may need to add the domain class to the mappingContext
object in order for it to be rendered correctly:
+
+
+
+
when:"A gson view is rendered for a domain class"
+mappingContext.addPersistentEntity(MyDomain)
+def result = render(template: "/path/to/template", model:[myDomain:MyDomain])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
+
+
+
+
+
+Links generated by json views in a unit test may not match what they would normally generate in the standard environment. To fully test links, use a functional test.
+
+
+
+
+
+
2.13.1. New Testing Framework
+
+
Since the release of json views, a new testing framework was released for Grails. A new trait has been developed that works with the new testing framework that is designed to replace the existing trait. The existing trait will be left as is for backwards compatibility.
+
+
+
The new trait works exactly the same way as the old one, however since the new trait is designed to work with the new framework, there are several benefits you can take advantage of. The first is configuration. In the old trait the application configuration was not included in the template engine, which had the potential to produce incorrect results. Other benefits include extensibility and features like @OnceBefore
.
+
+
+
To get started, add the org.grails:views-json-testing-support:{version}
dependency to your project and implement the JsonViewUnitTest trait in your test instead of JsonViewTest
.
+
+
+
+
+
+
+
+
+The new testing trait, like the testing framework, requires Spock.
+
+
+
+
+
+
+
+
2.14. Plugin Support
+
+
Grails plugins as well as standard Gradle Java/Groovy projects can provide json views to your application.
+
+
+
2.14.1. Grails Plugins
+
+
Since JSON views are compiled all of a plugin’s views and templates are available for use in your applications.
+
+
+
The view resolution will look through all of the application’s configured plugins for views that match a particular name. By default, the views a plugin supplies should be stored in grails-app/views
, just like applications.
+
+
+
+
2.14.2. Basic Libraries
+
+
The most common use case to provide views in a standard library is to provide global templates. Global templates are templates designed to render a given class as JSON. In order to provide views in a standard Gradle project, you should configure your own view compilation task.
+
+
+
Below is an example Gradle build that adds a compileViews
task for templates located into src/main/gson
:
+
+
+
+
buildscript {
+ repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+ }
+ dependencies {
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+import grails.views.gradle.json.*
+
+apply plugin:"java"
+
+repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+}
+
+dependencies {
+ compile "org.grails.plugins:views-json:3.2.3"
+ compileOnly "org.grails:grails-plugin-rest:3.1.7"
+ compileOnly "javax.servlet:javax.servlet-api:4.0.1"
+}
+
+task( compileViews, type:JsonViewCompilerTask ) {
+ source = project.file('src/main/gson')
+ destinationDir = project.file('build/classes/main')
+ packageName = ""
+ classpath = configurations.compileClasspath + configurations.runtimeClasspath
+}
+classes.dependsOn compileViews
+
+
+
+
Once this is in place any applications that includes this library will have access to the templates provided.
+
+
+
For example if you want to render all instances of type foo.bar.Birthday
create a template called src/main/gson/foo/bar/_birthday.gson
then compile the template and place the JAR on the classpath of your application.
+
+
+
+
+
+
+
+
+See the GeoJSON templates for MongoDB for example of how it provides global templates for Mongo specific classes.
+
+
+
+
+
+
+
2.14.3. Customizing the Compile Task
+
+
Unless otherwise configured, the project name of the plugin (the gradle project.name
) is used as the packageName
when compiling JSON views.
+
+
+
In Gradle project.name
is generally calculated from the current directory. That means that if there is mismatch between the current directory and your plugin name view resolution from a plugin could fail.
+
+
+
For example consider a plugin named FooBarGrailsPlugin
, in this case Grails will search for views that match the plugin name foo-bar
. However, if the directory where the plugin is located is called fooBar
instead of foo-bar
then view resolution will fail and the view will not be found when the plugin is installed into an application.
+
+
+
To resolve this issue you can customize the compileGsonViews
task in the plugin’s build.gradle
+
+
+
+
compileGsonViews {
+ packageName = "foo-bar"
+}
+
+
+
+
By setting the packageName
property to correctly match the convention of the plugin named (FooBarGrailsPlugin
maps to foo-bar
) view resolution will succeed.
+
+
+
+
+
2.15. Configuration
+
+
JSON views configuration can be altered within grails-app/conf/application.yml
. Any of the properties within the JsonViewConfiguration interface can be set. The json view configuration extends GenericViewConfiguration , therefore any properties in that interface can be set as well.
+
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ cache: true
+ ...
+
+
+
+
Alternatively you can register a new JsonViewConfiguration
bean using the bean name jsonViewConfiguration
in grails-app/conf/resources.groovy
.
+
+
+
The same settings in grails-app/conf/application.yml
will also be used by the Gradle plugin for production compilation.
+
+
+
The Gradle plugin compiles views using a forked compiler. You can configure the forked compilation task in Gradle as follows:
+
+
+
+
compileGsonViews {
+ compileOptions.forkOptions.memoryMaximumSize = '512mb'
+}
+
+
+
+
+
2.15.1. Changing the view base class
+
+
+
You can however change the subclass (which should be a subclass of JsonViewTemplate
) using configuration:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ baseTemplateClass: com.example.MyCustomJsonViewTemplate
+
+
+
+
+
2.15.2. Adding New Helper Methods via Traits
+
+
Alternatively, rather than modifying the base class, you can instead just add new methods via traits.
+
+
+
For example the HttpView uses the Enhances
annotation to add the page
object to all views:
+
+
+
+
import grails.artefact.Enhances
+import grails.views.Views
+
+@Enhances(Views.TYPE)
+trait HttpView {
+
+ /**
+ * @return The response object
+ */
+ Response response
+ ...
+}
+
+
+
+
The result is all JSON views have a response
object that can be used to control the HTTP response:
+
+
+
+
response.header "Token", "foo"
+
+
+
+
+
+
+
+
+
+The trait cannot be defined in the same project as you are compilation as it needs to be on the classpath of the project you are compiling. You will need to create a Grails plugin and use a multi-project build in this scenario.
+
+
+
+
+
+
+
2.15.3. Default Mime Types
+
+
The mime types that will be accepted by default for JSON view rendering is configurable.
+
+
+
+
grails:
+ views:
+ json:
+ mimeTypes:
+ - application/json
+ - application/hal+json
+
+
+
+
+
2.15.4. Unicode Escaping
+
+
By default, unicode characters will not be escaped. If you would like unicode characters to be escaped in your output, set the following configuration.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ escapeUnicode: true
+
+
+
+
+
+
+
The default format for java.util.Date
can be configured.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ dateFormat: "yyyy-MM-dd'T'HH:mm:ss'Z'"
+
+
+
+
In addition, the default locale can also be specified.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ locale: "en/US"
+
+
+
+
+
2.15.6. Default Time Zone
+
+
The default time zone can be configured. The value here will be passed to TimeZone.getTimeZone(...)
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ timeZone: "GMT"
+
+
+
+
+
+
2.16. Custom Converters
+
+
It is possible to register custom converters to change how a given class is rendered with json views. To do so, create a class that implements Converter . Then you must register the class in src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
.
+
+
+
+
package foo
+
+class MyConverter implements JsonGenerator.Converter {
+
+ @Override
+ boolean handles(Class<?> type) {
+ CustomClass.isAssignableFrom(type)
+ }
+
+ @Override
+ Object convert(Object value, String key) {
+ ((CustomClass)value).name
+ }
+}
+
+
+class CustomClass {
+ String name
+}
+
+
+
+
Because plugins could potentially provide converters, you can also determine the order by implementing the Ordered interface in your converter.
+
+
+
src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
+
+
+
+
+
+
+
+
+
+If you have multiple classes to register, put each one on it’s own line
+
+
+
+
+
+
+
2.17. IntelliJ Support
+
+
When opening .gson
files in Intellij they should be opened with the regular Groovy editor.
+
+
+
The plugin includes an IntelliJ GDSL file that provides code completion when using IntelliJ IDEA.
+
+
+
Intellij GDSL is a way to describe the available methods and properties so that code completion is available to the developer when opening .gson
files.
+
+
+
The GDSL file is generally kept up-to-date with the codebase, however if any variation is spotted please raise an issue .
+
+
+
+
2.18. Debugging Views
+
+
Generally views should be kept simple and if you arrive to the point where you need to debug a view you probably have too much logic in the view that would be better off handled by the controller prior to supplying the model.
+
+
+
Nevertheless here are a few view debugging tips to help identify problems in the view.
+
+
+
2.18.1. Introspecting the Model
+
+
Every JSON view is a Groovy script and like any Groovy script the model is defined in a binding
variable. Therefore you can easily find out the model at any time by either logging or printing the binding variables:
+
+
+
+
model {
+ Book book
+}
+// use the log variable
+log.debug "Model is $binding.variables"
+// use system out
+System.out.println "Model is $binding.variables"
+json g.render(book)
+
+
+
+
+
+
+
+
+
+If you using the log
variable then you will need to enabling logging for the grails.views
package in grails-app/conf/logback.groovy
+
+
+
+
+
+
+
2.18.2. Connecting a Debugger
+
+
Some IDEs like Intellij IDE allow you to set break points and step debug within the view itself. As mentioned previously you shouldn’t arrive to this point and if you do you have too much logic in your view, but if you do need it the feature is there.
+
+
+
+
+
+
+
3. Markup Views
+
+
+
3.1. Introduction
+
+
Markup Views are written in Groovy, end with the file extension gml
and reside in the grails-app/views
directory.
+
+
+
+
+
+
model {
+ Iterable<Map> cars
+}
+xmlDeclaration()
+cars {
+ cars.each {
+ car(make: it.make, model: it.model)
+ }
+}
+
+
+
+
This produces the following output given a model such as [cars:[[make:"Audi", model:"A5"]]]
:
+
+
+
+
<?xml version='1.0'?>
+<cars><car make='Audi' model='A5'/></cars>
+
+
+
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
+
3.2. Installation
+
+
To activate Markup views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-markup:3.2.3"
+
+
+
+
To enable Gradle compilation of Markup views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-markup
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-markup"
+
+
+
+
This will add a compileMarkupViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
3.3. Markup View API
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
Much of the API is shared between JSON and Markup views. However, one difference compared to JSON views is that you must use this
as a prefix when refering to properties from the parent class. For example to generate links this will produce a compilation error:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: g.link(controller:'car'))
+ }
+}
+
+
+
+
However, the following works fine:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: this.g.link(controller:'car'))
+ }
+}
+
+
+
+
Notice the this
prefix when refering to this.g.link(..)
.
+
+
+
+
3.4. Configuration
+
+
+
+
+
grails:
+ views:
+ markup:
+ compileStatic: true
+ cacheTemplates: true
+ autoIndent: true
+ ...
+
+
+
+
Alternatively you can register a new MarkupViewConfiguration
bean using the bean name markupViewConfiguration
in grails-app/conf/spring/resources.groovy
.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/introduction.html b/3.2.3/introduction.html
new file mode 100644
index 000000000..46dda78e7
--- /dev/null
+++ b/3.2.3/introduction.html
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
The Grails Views project provides additional view technologies to the Grails framework, including JSON and Markup views.
+
+
+
+
+
However, the core of the project is extensible for potentially any kind of view implementation that is based on a Groovy DSL. The following sections cover usage of Groovy JSON views.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/configuration.html b/3.2.3/json/configuration.html
new file mode 100644
index 000000000..cedf7ec9c
--- /dev/null
+++ b/3.2.3/json/configuration.html
@@ -0,0 +1,656 @@
+
+
+
+
+
+
+
+Configuration
+
+
+
+
+
+
+
+
+
+
+
JSON views configuration can be altered within grails-app/conf/application.yml
. Any of the properties within the JsonViewConfiguration interface can be set. The json view configuration extends GenericViewConfiguration , therefore any properties in that interface can be set as well.
+
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ cache: true
+ ...
+
+
+
+
Alternatively you can register a new JsonViewConfiguration
bean using the bean name jsonViewConfiguration
in grails-app/conf/resources.groovy
.
+
+
+
The same settings in grails-app/conf/application.yml
will also be used by the Gradle plugin for production compilation.
+
+
+
The Gradle plugin compiles views using a forked compiler. You can configure the forked compilation task in Gradle as follows:
+
+
+
+
compileGsonViews {
+ compileOptions.forkOptions.memoryMaximumSize = '512mb'
+}
+
+
+
+
+
+
+
Changing the view base class
+
+
+
+
You can however change the subclass (which should be a subclass of JsonViewTemplate
) using configuration:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ baseTemplateClass: com.example.MyCustomJsonViewTemplate
+
+
+
+
+
+
Adding New Helper Methods via Traits
+
+
+
Alternatively, rather than modifying the base class, you can instead just add new methods via traits.
+
+
+
For example the HttpView uses the Enhances
annotation to add the page
object to all views:
+
+
+
+
import grails.artefact.Enhances
+import grails.views.Views
+
+@Enhances(Views.TYPE)
+trait HttpView {
+
+ /**
+ * @return The response object
+ */
+ Response response
+ ...
+}
+
+
+
+
The result is all JSON views have a response
object that can be used to control the HTTP response:
+
+
+
+
response.header "Token", "foo"
+
+
+
+
+
+
+
+
+
+The trait cannot be defined in the same project as you are compilation as it needs to be on the classpath of the project you are compiling. You will need to create a Grails plugin and use a multi-project build in this scenario.
+
+
+
+
+
+
+
+
Default Mime Types
+
+
+
The mime types that will be accepted by default for JSON view rendering is configurable.
+
+
+
+
grails:
+ views:
+ json:
+ mimeTypes:
+ - application/json
+ - application/hal+json
+
+
+
+
+
+
Unicode Escaping
+
+
+
By default, unicode characters will not be escaped. If you would like unicode characters to be escaped in your output, set the following configuration.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ escapeUnicode: true
+
+
+
+
+
+
+
+
+
The default format for java.util.Date
can be configured.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ dateFormat: "yyyy-MM-dd'T'HH:mm:ss'Z'"
+
+
+
+
In addition, the default locale can also be specified.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ locale: "en/US"
+
+
+
+
+
+
Default Time Zone
+
+
+
The default time zone can be configured. The value here will be passed to TimeZone.getTimeZone(...)
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ timeZone: "GMT"
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/contentNegotiation.html b/3.2.3/json/contentNegotiation.html
new file mode 100644
index 000000000..708106302
--- /dev/null
+++ b/3.2.3/json/contentNegotiation.html
@@ -0,0 +1,640 @@
+
+
+
+
+
+
+
+Content Negotiation
+
+
+
+
+
+
+
+
+
+
+
GSON views integrate with Grails' content negotiation infrastructure. For example if you create two views called grails-app/views/book/show/show.gsp
(for HTML) and grails-app/views/book/show/show.gson
(for JSON), you can then define the following action:
+
+
+
grails-app/controllers/myapp/BookController.groovy
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
The result is that if you send a request to /book/show
it will render show.gsp
but if you send a request to /book/show.json
it will render show.gson
.
+
+
+
In addition, if the client sends a request with the Accept
header containing application/json
the show.gson
view will be rendered.
+
+
+
+
+
Content Negotiation and Domain Classes
+
+
+
Content negotiation also works nicely with domain classes, for example if you want to define a template to render any instance of the Book
domain class you can create a gson
file that matches the class name.
+
+
+
For example given a class called demo.Book
you can create grails-app/views/book/_book.gson
and whenever respond
is called with an instance of Book
Grails will render _book.gson
.
+
+
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
If you define an index
action that responds with a list of books:
+
+
+
+
def index() {
+ respond Book.list()
+}
+
+
+
+
Then you can create a corresponding grails-app/views/book/index.gson
file that renders each book:
+
+
+
grails-app/views/book/index.gson
+
+
@Field List<Book> bookList
+
+json tmpl.book(bookList)
+
+
+
+
+
+
+
+
+
+When responding with a list of objects Grails automatically appends the suffix "List" to the model name, so in this case the model name is bookList
+
+
+
+
+
+
By calling the tmpl.book(..)
method with the list of books the grails-app/views/book/_book.gson
template will be rendered for each one and a JSON array returned.
+
+
+
+
+
Global Default Template
+
+
+
You can also define a /object/_object
template that is rendered by default if no other template is found during content negotiation. To do this create a file called /grails-app/views/object/_object.gson
where the name of the model is object
, for example:
+
+
+
+
model {
+ Object object
+}
+json g.render(object)
+
+
+
+
+
+
Content Negotiation and Versioned APIs
+
+
+
A typical use case when building REST APIs is the requirement to support different versions of the API. GSON views can be versioned by including the version in the name of the view.
+
+
+
Grails will then use the ACCEPT-VERSION
header when resolving the view.
+
+
+
For example given a view called /book/show.gson
if you wish to deprecate your previous API and create a version 2.0 API, you can rename the previous view /book/show_v1.0.gson
and create a new /book/show.gson
representing the new version of the API.
+
+
+
Then when the client sends a request with the ACCEPT-VERSION
header containing v1.0
the /book/show_v1.0.gson
view will be rendered instead of /book/show.gson
.
+
+
+
+
+
Content Negotiation and View Resolving Strategy
+
+
+
Grails Framework takes into account a number of factors when attempting to resolve the view including the content type, version and locale.
+
+
+
The paths searched are following:
+
+
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_de_hal_v1.0.gson)
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE].gson (Example: show_de_hal.gson)
+
+
+view_name[_LOCALE][_ACCEPT-VERSION].gson (Example: show_de_v1.0.gson)
+
+
+view_name[_LOCALE].gson (Example: show_de.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_hal_v1.0.gson)
+
+
+view_name[_ACCEPT-VERSION][_ACCEPT_CONTENT_TYPE].gson (Example: show_v1.0_hal.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE].gson (Example: show_hal.gson)
+
+
+view_name[_ACCEPT-VERSION].gson (Example: show_v1.0.gson)
+
+
+view_name.gson (Example: show.gson)
+
+
+
+
+
The content type (defined by either the ACCEPT
header or file extension in the URI) is taken into account to allow different formats for the same view.
+
+
+
+
+
Content Negotiation and Custom Mime Types
+
+
+
Some REST APIs use the notion of custom mime types to represent resources. Within Grails you can for example define custom mime types in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+ bookList: "application/vnd.books.org.booklist+json"
+
+
+
+
Once these custom mime types have been defined you can then define a view such as show.book.gson
for that particular mime type.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/converters.html b/3.2.3/json/converters.html
new file mode 100644
index 000000000..a360b230f
--- /dev/null
+++ b/3.2.3/json/converters.html
@@ -0,0 +1,503 @@
+
+
+
+
+
+
+
+Custom Converters
+
+
+
+
+
+
+
+
+
It is possible to register custom converters to change how a given class is rendered with json views. To do so, create a class that implements Converter . Then you must register the class in src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
.
+
+
+
+
package foo
+
+class MyConverter implements JsonGenerator.Converter {
+
+ @Override
+ boolean handles(Class<?> type) {
+ CustomClass.isAssignableFrom(type)
+ }
+
+ @Override
+ Object convert(Object value, String key) {
+ ((CustomClass)value).name
+ }
+}
+
+
+class CustomClass {
+ String name
+}
+
+
+
+
Because plugins could potentially provide converters, you can also determine the order by implementing the Ordered interface in your converter.
+
+
+
src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
+
+
+
+
+
+
+
+
+
+If you have multiple classes to register, put each one on it’s own line
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/debugging.html b/3.2.3/json/debugging.html
new file mode 100644
index 000000000..16416dfb3
--- /dev/null
+++ b/3.2.3/json/debugging.html
@@ -0,0 +1,513 @@
+
+
+
+
+
+
+
+Debugging Views
+
+
+
+
+
+
+
+
+
+
+
Generally views should be kept simple and if you arrive to the point where you need to debug a view you probably have too much logic in the view that would be better off handled by the controller prior to supplying the model.
+
+
+
Nevertheless here are a few view debugging tips to help identify problems in the view.
+
+
+
+
+
Introspecting the Model
+
+
+
Every JSON view is a Groovy script and like any Groovy script the model is defined in a binding
variable. Therefore you can easily find out the model at any time by either logging or printing the binding variables:
+
+
+
+
model {
+ Book book
+}
+// use the log variable
+log.debug "Model is $binding.variables"
+// use system out
+System.out.println "Model is $binding.variables"
+json g.render(book)
+
+
+
+
+
+
+
+
+
+If you using the log
variable then you will need to enabling logging for the grails.views
package in grails-app/conf/logback.groovy
+
+
+
+
+
+
+
+
Connecting a Debugger
+
+
+
Some IDEs like Intellij IDE allow you to set break points and step debug within the view itself. As mentioned previously you shouldn’t arrive to this point and if you do you have too much logic in your view, but if you do need it the feature is there.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/hal.html b/3.2.3/json/hal.html
new file mode 100644
index 000000000..e2f581c5d
--- /dev/null
+++ b/3.2.3/json/hal.html
@@ -0,0 +1,896 @@
+
+
+
+
+
+
+
+HAL Support
+
+
+
+
+
+
+
+
+
+
+
HAL is a standard format for representing JSON that has gained traction for its ability to represent links between resources and provide navigable APIs.
+
+
+
The JSON views plugin for Grails provides HAL support out-of-the-box. All JSON views have access to the hal
instance which implements HalViewHelper .
+
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(book)
+ hal.embedded {
+ author( book.authors.first() ) { Author author ->
+ name author.name
+ }
+ }
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+The call to hal.links()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
This produces the HAL output:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "_embedded": {
+ "author": {
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/author/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "name": "Stephen King"
+ }
+ },
+ "title": "The Stand"
+}
+
+
+
+
+
+
Generating HAL Links
+
+
+
The above example uses the hal.links(..)
method to render links for a domain resource and the hal.embedded(..)
method to define any embedded objects that form part of the HAL response.
+
+
+
The hal.links(..)
method will by default create a link to the resource, but you can define additional links by annotating the domain class with either grails.rest.Linkable
or grails.rest.Resource
and using the link
method on the object:
+
+
+
+
book.link(rel:"publisher", href:"http://foo.com/books")
+
+
+
+
The link will then be included in the HAL output.
+
+
+
If you wish to be specific about which links to include you can do so by passing a map of objects to link to:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self:book, author: book.author)
+ ...
+}
+
+
+
+
Alternatively, if you prefer to define the HAL links yourself then you can do so by passing a closure to the hal.links
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links {
+ self {
+ href '...'
+ hreflang 'en'
+ type "application/hal+json"
+ }
+ }
+ ...
+}
+
+
+
+
+
+
Rendering Domain Classes as HAL
+
+
+
If you prefer to let the plugin handle the rendering of your object you can use the hal.render(..)
method:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book)
+
+
+
+
The hal.render
method works the same as the g.render
method, accepting the same arguments, the difference being it will output HAL links for the object via hal.links
and also output associations fetched via a join query for hal.embedded
.
+
+
+
For example you can also customize the content of the generated HAL with a closure:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book) {
+ pages 1000
+}
+
+
+
+
+
+
Embedded Association and HAL
+
+
+
Generally, when using the hal.render(..)
method, _embedded
associations are only rendered for associations that have been initialized and eagerly fetched. This means that the following query will not render the book.authors
association:
+
+
+
+
However, this query will render the book.authors
association:
+
+
+
+
Book.get(params.id, [fetch:[authors:'eager']])
+
+
+
+
This is by design and to prevent unexpected performance degradation due to N+1 query loading. If you wish to force the render
method to render _embedded
associations for HAL you can do see using the deep
argument:
+
+
+
+
json hal.render(book, [deep:true])
+
+
+
+
You can prevent HAL _embedded
associations from being rendering using the embedded:false
parameter:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book, [embedded:false])
+
+
+
+
You can also render embedded associations without using the hal.render(..)
method, by using the hal.embedded(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(book)
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+Like the hal.links(..)
method, the hal.embedded(..)
method should come first, before any other attributes, in your JSON output
+
+
+
+
+
+
You can also control which associations should be embedded by using a map argument instead:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ title book.title
+}
+
+
+
+
And you can inline the contents of the book without any associations using the hal.inline(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book)
+}
+
+
+
+
To customize the contents of the inlined JSON output use a closure:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
+
+
+
+
+You cannot include additional content after the call to hal.inline(..)
as this will produce invalid JSON
+
+
+
+
+
+
You can combine hal.embeddded(..)
and hal.links(..)
to obtain exactly the links and the embedded content you want:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self: book )
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
+
Specifying the HAL Content Type
+
+
+
The default HAL response content type is application/hal+json
, however as discussed in the section on Custom Mime Type you can define your own response content types to represent your resources.
+
+
+
For example given the following configuration in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+
+
+
+
You can set the HAL content type to an explicit content type or one of the named content types defined in grails.mime.types
in application.yml
:
+
+
+
+
model {
+ Book book
+}
+hal.type("book")
+json {
+ ...
+}
+
+
+
+
+
+
+
+
+
The JSON views plugin for Grails provides navigable pagination support.
+Like the GSP <g:paginate>
tag, the parameters include: total
, max
, offset
, sort
and order
.
+
+
+
+
+
model {
+ Iterable<Book> bookList
+ Integer bookCount
+ Integer max // optional, defaults to 10
+ Integer offset // optional, defaults to 0
+ String sort // optional
+ String order // optional
+}
+json {
+ hal.paginate(Book, bookCount, max, offset, sort, order)
+ ...
+}
+
+
+
+
+
+
+
+
+
+Similar to hal.links()
the hal.paginate()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
When accessing http://localhost:8080/book?offset=10
this produces the navigable output like:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/index?offset=10&max=10",
+ "hreflang": "en_US",
+ "type": "application/hal+json"
+ },
+ "first": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "prev": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "next": {
+ "href": "http://localhost:8080/book/index?offset=20&max=10",
+ "hreflang": "en_US"
+ },
+ "last": {
+ "href": "http://localhost:8080/book/index?offset=40&max=10",
+ "hreflang": "en_US"
+ }
+ },
+ ...
+}
+
+
+
+
+
+
+
+
+
+If there aren’t enough results to paginate the navigation links will not appear, Likewise, the prev
and next
links are only present when there is a previous or next page.
+
+
+
+
+
+
If you have other links that you want to include along with the pagination links then you can use the hal.links(..)
method with pagination arguments:
+
+
+
+
model {
+ Author author
+ Iterable<Book> bookList
+ Integer bookCount
+}
+json {
+ // the model, type to paginate, and the total count
+ hal.links([author:author], Book, bookCount)
+ ...
+}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/history.html b/3.2.3/json/history.html
new file mode 100644
index 000000000..18ff6b581
--- /dev/null
+++ b/3.2.3/json/history.html
@@ -0,0 +1,583 @@
+
+
+
+
+
+
+
+Version History
+
+
+
+
+
+
+
+
+
The current release is 3.2.3. Below is a version history.
+
+
+
+
+
+
+
+
+
+
+Grails 4, Gradle 5.
+
+
+Support for render embedded types with "includes".
+
+
+Fixed StackOverflow when rendering bidirectional associations.
+
+
+Allow augmenting model in JSON view.
+
+
+Fixed bugs related to exclude version and error properties from a Map model.
+
+
+
+
+
+
+
+The includes
support has changed in a way that may break existing use cases. Having includes: ['captain', 'captain.name']]
previously excluded all other fields except for captain.name
. The captain
in the list was necessary for captain.name
to function as expected. Now the captain
entry will cause all fields in captain
to be rendered. To restore the previous behavior, simply remove the captain
entry. includes: ['captain', 'captain.name']
→ includes: ['captain.name]
.
+
+
+
+
+
+
+
+JSON API support
+
+
+Ability to register custom converters
+
+
+New configuration options for date formatting and unicode escaping
+
+
+New testing trait that integrates with the testing-support framework (1.2.5)
+
+
+
+
+
+
+
+Global template support
+
+
+Template inheritance
+
+
+Global templates for GORM for MongoDB / GeoJSON
+
+
+Support for easily testing JSON views with JsonViewTest
+
+
+Pagination support in HAL
+
+
+Better Embedded support in HAL
+
+
+Ability to access HTTP parameters and headers
+
+
+Resource expansion with the expand
parameter
+
+
+Controller namespace support
+
+
+Support for a default /object/_object.gson
template
+
+
+
+
+
+
+
+Initial 1.0.0 GA Release
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/index.html b/3.2.3/json/index.html
new file mode 100644
index 000000000..400302e7f
--- /dev/null
+++ b/3.2.3/json/index.html
@@ -0,0 +1,3127 @@
+
+
+
+
+
+
+
+JSON Views
+
+
+
+
+
+
+
+
+
Introduction
+
+
+
JSON views are written in Groovy, end with the file extension gson
and reside in the grails-app/views
directory. They provide a DSL for producing output in the JSON format. A hello world example can be seen below:
+
+
+
grails-app/views/hello.gson
+
+
json.message {
+ hello "world"
+}
+
+
+
+
The above JSON view results in the output:
+
+
+
+
{"message":{ "hello":"world"}}
+
+
+
+
+
+
+
json(1,2,3) == "[1,2,3]"
+json { name "Bob" } == '{"name":"Bob"}'
+json([1,2,3]) { n it } == '[{"n":1},{"n":2},{"n":3}]'
+
+
+
+
You can specify a model to view in one of two ways. Either with a model
block:
+
+
+
grails-app/views/hello.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Or with the @Field
transformation provided by Groovy:
+
+
+
grails-app/views/hello.gson
+
+
import groovy.transform.Field
+@Field String message
+json.message {
+ hello message
+}
+
+
+
+
+
+
Version History
+
+
+
The current release is 3.2.3. Below is a version history.
+
+
+
+
+
+
+
+
+
+
+Grails 4, Gradle 5.
+
+
+Support for render embedded types with "includes".
+
+
+Fixed StackOverflow when rendering bidirectional associations.
+
+
+Allow augmenting model in JSON view.
+
+
+Fixed bugs related to exclude version and error properties from a Map model.
+
+
+
+
+
+
+
+The includes
support has changed in a way that may break existing use cases. Having includes: ['captain', 'captain.name']]
previously excluded all other fields except for captain.name
. The captain
in the list was necessary for captain.name
to function as expected. Now the captain
entry will cause all fields in captain
to be rendered. To restore the previous behavior, simply remove the captain
entry. includes: ['captain', 'captain.name']
→ includes: ['captain.name]
.
+
+
+
+
+
+
+
+JSON API support
+
+
+Ability to register custom converters
+
+
+New configuration options for date formatting and unicode escaping
+
+
+New testing trait that integrates with the testing-support framework (1.2.5)
+
+
+
+
+
+
+
+Global template support
+
+
+Template inheritance
+
+
+Global templates for GORM for MongoDB / GeoJSON
+
+
+Support for easily testing JSON views with JsonViewTest
+
+
+Pagination support in HAL
+
+
+Better Embedded support in HAL
+
+
+Ability to access HTTP parameters and headers
+
+
+Resource expansion with the expand
parameter
+
+
+Controller namespace support
+
+
+Support for a default /object/_object.gson
template
+
+
+
+
+
+
+
+Initial 1.0.0 GA Release
+
+
+
+
+
+
+
Installation
+
+
+
To activate JSON views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-json:3.2.3"
+
+
+
+
If you are also using MongoDB you may want to add the views-json-templates
dependency too which includes support for GeoJSON:
+
+
+
+
compile "org.grails.plugins:views-json-templates:3.2.3"
+
+
+
+
To enable Gradle compilation of JSON views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-json
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-json"
+
+
+
+
This will add a compileGsonViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
+
Templates
+
+
+
Template Basics
+
+
You can define templates starting with underscore _
. For example given the following template called _person.gson
:
+
+
+
grails-app/views/person/_person.gson
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
You can render the template with the g.render
method:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"person", model:[person:person])
+
+
+
+
The above assumes the view is in the same directory as the template. If this is not the case you may need to use a relative URI to the template:
+
+
+
grails-app/views/family/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"/person/person", model:[person:person])
+
+
+
+
+
Template Namespace
+
+
The previous example can be simplified using the template namespace:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(person)
+
+
+
+
In this example, the name of the method call (person
in this case) is used to dictate which template to render.
+
+
+
The argument to the template becomes the model. The name of the model variable is the same as the template name. If you wish to alter this you can pass a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(individual:person)
+
+
+
+
In the above example the model variable passed to the _person.gson
template is called individual
.
+
+
+
This technique may also be used when you want to render a template using a relative path:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.'/person/person'(person:person)
+
+
+
+
The template namespace even accepts a collection (or any Iterable
object):
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people)
+
+
+
+
In this case the output is a JSON array. For example:
+
+
+
+
[{"name":"Fred",age:10},{"name":"Bob",age:12}]
+
+
+
+
When rendering an Iterable
, you can also specify the model name:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person("owner", people)
+
+
+
+
The person
template would have a field defined: Person owner
+
+
+
If you need additional data that will be static over each iteration of the template, you can also pass in a model:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people, [relationship: "Father"])
+
+
+
+
The person
template could have a field defined: String relationship
+
+
+
By passing in a collection the plugin will iterate over each element on the collection and render the template as a JSON array. If you do not want this to happen then use the variation of the method that takes a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people:people)
+
+
+
+
+
More Ways to Render Templates
+
+
The g.render
method is flexible, you can render templates in many forms:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild g.render(template:"person", model:[person: family.children.max { Person p -> p.age } ])
+ children g.render(template:"person", collection: family.children, var:'person')
+}
+
+
+
+
However, most of these use cases are more concise with the template namespace:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild tmpl.person( family.children.max { Person p -> p.age } ] )
+ children tmpl.person( family.children )
+}
+
+
+
+
+
Template Inheritance
+
+
JSON templates can inherit from a parent template. For example consider the following parent template:
+
+
+
grails-app/views/_parent.gson
+
+
model {
+ Object object
+}
+json {
+ hal.links(object)
+ version "1.0"
+}
+
+
+
+
A child template can inherit from the above template by using the inherits
method:
+
+
+
grails-app/views/_person.gson
+
+
inherits template:"parent"
+model {
+ Person person
+}
+json {
+ name person.name
+}
+
+
+
+
The JSON from the parent and the child template will be combined so that the output is:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/person/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "version": "1.0",
+ "name": "Fred"
+ }
+
+
+
+
The parent template’s model will be formulated from the child templates model and the super class name. For example if the model is Person person
where Person
extends from Object
then the final model passed to the parent template will look like:
+
+
+
+
[person:person, object:person]
+
+
+
+
If the Person
class extended from a class called Mammal
then the model passed to the parent would be:
+
+
+
+
[person:person, mammal:person]
+
+
+
+
This allows you to design your templates around object inheritance.
+
+
+
You can customize the model passed to the parent template using the model
argument:
+
+
+
+
inherits template:"parent", model:[person:person]
+
+
+
+
+
+
+
Rendering Domain Classes
+
+
+
Basics of Domain Class Rendering
+
+
Typically your model may involve one or many domain instances. JSON views provide a render
method for rendering these.
+
+
+
For example given the following domain class:
+
+
+
+
class Book {
+ String title
+}
+
+
+
+
And the following template:
+
+
+
+
model {
+ Book book
+}
+json g.render(book)
+
+
+
+
The resulting output is:
+
+
+
+
{"id":1,"title":"The Stand"}
+
+
+
+
You can customize the rendering by including or excluding properties:
+
+
+
+
json g.render(book, [includes:['title']])
+
+
+
+
Or by providing a closure to provide additional JSON output:
+
+
+
+
json g.render(book) {
+ pages 1000
+}
+
+
+
+
Or combine the two approaches:
+
+
+
+
json g.render(book, [includes:['title']]) {
+ pages 1000
+}
+
+
+
+
+
Deep Rendering of Domain Classes
+
+
Typically the g.render(..)
method will only render objects one level deep. In other words if you have a domain class such as:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
The resulting output will be something like:
+
+
+
+
{"id":1,"title":"The Stand","author":{id:1}}
+
+
+
+
If you wish for the author
to be included as part of the rendering, there are two requirements, first you must make sure the association is initialized.
+
+
+
If the render
method encounters a proxy, it will not traverse into the relationship to avoid N+1 query performance problems.
+
+
+
+
+
+
+
+
+The same applies to one-to-many collection associations. If the association has not been initialized the render
method will not traverse through the collection!
+
+
+
+
+
+
So you must make sure your query uses a join:
+
+
+
+
Book.findByTitle("The Stand", [fetch:[author:"join"]])
+
+
+
+
Secondly when calling the render
method you should pass the deep
argument:
+
+
+
+
json g.render(book, [deep:true])
+
+
+
+
Alternatively, to only expand a single association you can use the expand
argument:
+
+
+
+
json g.render(book, [expand:['author']])
+
+
+
+
+
+
+
+
+
+request parameters can also be used to expand associations (eg. ?expand=author
), if you do not want to allow this, then use includes
or excludes
to include only the properties you want.
+
+
+
+
+
+
Finally, if you prefer to handle the rendering yourself you can do by excluding the property:
+
+
+
+
json g.render(book, [excludes:['author']]) {
+ author {
+ name book.author.name
+ }
+}
+
+
+
+
+
Domain Class Rendering and Templates
+
+
An alternative to the default behaviour of the render
method is to rely on templates.
+
+
+
In other words if you create a /author/_author.gson
template and then use the g.render
method on an instance of book
:
+
+
+
+
Whenever the author
association is encountered the g.render
method will automatically render the /author/_author.gson
template instead.
+
+
+
+
+
+
JSON View API
+
+
+
+
The JsonViewTemplate
superclass implements the JsonView trait which in turn extends the the GrailsView trait.
+
+
+
Thanks to these traits several methods and properties are available to JSON views that can be used to accomplish different tasks.
+
+
+
Creating Links
+
+
Links can be generated using the g.link(..)
method:
+
+
+
+
json.person {
+ name "bob"
+ homepage g.link(controller:"person", id:"bob")
+}
+
+
+
+
The g.link
method is similar to the equivalent tag in GSP and allows you to easily create links to other controllers.
+
+
+
+
+
+
To customize content types and headers use the response
object defined by the HttpView trait:
+
+
+
+
response.contentType "application/hal+json"
+response.header "Token", "foo"
+json.person {
+ name "bob"
+}
+
+
+
+
The HttpView
trait defines a variety of methods for inspecting the request and altering the response.
+
+
+
+
+
+
+
+
+The methods available are only a subset of the methods available via the HttpServletRequest
and HttpServletResponse
objects, this is by design as view logic should be limited and logic performed in the controller instead.
+
+
+
+
+
+
+
Accessing the Request
+
+
Various aspects of the request can be accessed by the request
object defined by the HttpView trait:
+
+
+
+
json.person {
+ name "bob"
+ userAgent request.getHeader('User-Agent')
+}
+
+
+
+
Parameters can be accessed via the params
object which is an instance of Parameters :
+
+
+
+
json.person {
+ name "bob"
+ first params.int('offset', 0)
+ sort params.get('sort', 'name')
+}
+
+
+
+
+
Default Static Imports
+
+
The following classes' static properties are imported by default:
+
+
+
+
+org.springframework.http.HttpStatus
+
+
+org.springframework.http.HttpMethod
+
+
+grails.web.http.HttpHeaders
+
+
+
+
+
This means that you can use the response
object to set the status using these constants, instead of hard coded numbers:
+
+
+
+
response.status NOT_FOUND
+
+
+
+
Or generate links using the appropriate HTTP method:
+
+
+
+
g.link(resource:"books", method:POST)
+
+
+
+
+
I18n & Locale Integration
+
+
You can lookup i18n messages use the g.message
method:
+
+
+
+
json.error {
+ description g.message(code:'default.error.message')
+}
+
+
+
+
You can also create locale specific views by appending the locale to view name. For example person_de.gson
for German or person.gson
for the default.
+
+
+
+
+
+
+
+
+For more complex message lookups the messageSource
property is an instance of the Spring MessageSource class.
+
+
+
+
+
+
+
Accessing Configuration
+
+
The application configuration is injected automatically into your json views. To access it, simply reference config
.
+
+
+
+
json {
+ foo config.getProperty("bar", String, null)
+}
+
+
+
+
+
Miscellaneous Properties
+
+
Other properties are also available:
+
+
+
+
+
+
+
+
+controllerName
+The name of the current controller
+
+
+actionName
+The name of the current controller action
+
+
+controllerNamespace
+The namespace of the current controller
+
+
+
+
+
+
+
+
Model Naming
+
+
+
Grails Framework supports a convention for the model names in your JSON views. If the convention does not meet your needs, model variables can be explicitly defined.
+
+
+
+
+
+
+
+
+Some model names are reserved since there are properties of the same name injected into the view:
+locale
, response
, request
, page
, controllerNamespace
, controllerName
, actionName
, config
, generator
, json
+
+
+
+
+
+
Explicit Model Naming
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Then the controller has to specify the name to be used in the view:
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(message: "Hello World")
+ //or [message: "Hello World"]
+}
+
+
+
+
When using a template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
In the view you can use the tmpl
namespace:
+
+
+
+
json {
+ message tmpl.msg([message: message])
+ // or g.render(template:'msg', model:[message: message])
+ // or g.render(template:'msg', model: message, var:'message')
+}
+
+
+
+
+
+
model {
+ List<String> messages
+}
+json {
+ messages tmpl.msg('message', messages)
+ // or g.render(template:'msg', collection: messages, var: 'message')
+}
+
+
+
+
+
Model By Convention
+
+
Property Type
+
+
When rendering a non iterable object, the property name of the type is used when a name is not specified.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond("Hello World")
+}
+
+
+
+
This also applies when rendering templates with tmpl
.
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String someString
+}
+json tmpl.msg(someString)
+
+
+
+
If a collection is rendered, the property name of the component type is appended with the property name of the collection type. The component type is based on the first item in the list.
+
+
+
List<String>
→ stringList
+
+
+
Set<String>
→ stringSet
+
+
+
Bag<String>
→ stringCollection
+
+
+
If the collection is empty, emptyCollection
will be used as the default model name. This is due to not being able to inspect the first object’s type.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String stringList
+}
+json {
+ strings stringList
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(["Hello", "World"])
+}
+
+
+
+
+
+
+
+
+
+The component+collection convention does not apply when rendering collections with tmpl
inside a view.
+
+
+
+
+
+
+
Template Name
+
+
When using a template, unless specified, the model name is based on the template name.
+
+
+
Given the following template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String msg // or String string
+}
+json.message {
+ hello msg
+}
+
+
+
+
To render a single message from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
json.message tmpl.msg(message)
+
+
+
+
To render a collection of messages from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ List<String> stringList
+}
+json {
+ messages tmpl.msg(stringList)
+}
+
+
+
+
In both cases the convention of the variable name matching the template name is used.
+
+
+
+
+
+
+
Content Negotiation
+
+
+
GSON views integrate with Grails' content negotiation infrastructure. For example if you create two views called grails-app/views/book/show/show.gsp
(for HTML) and grails-app/views/book/show/show.gson
(for JSON), you can then define the following action:
+
+
+
grails-app/controllers/myapp/BookController.groovy
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
The result is that if you send a request to /book/show
it will render show.gsp
but if you send a request to /book/show.json
it will render show.gson
.
+
+
+
In addition, if the client sends a request with the Accept
header containing application/json
the show.gson
view will be rendered.
+
+
+
Content Negotiation and Domain Classes
+
+
Content negotiation also works nicely with domain classes, for example if you want to define a template to render any instance of the Book
domain class you can create a gson
file that matches the class name.
+
+
+
For example given a class called demo.Book
you can create grails-app/views/book/_book.gson
and whenever respond
is called with an instance of Book
Grails will render _book.gson
.
+
+
+
+
def show() {
+ respond Book.get(params.id)
+}
+
+
+
+
If you define an index
action that responds with a list of books:
+
+
+
+
def index() {
+ respond Book.list()
+}
+
+
+
+
Then you can create a corresponding grails-app/views/book/index.gson
file that renders each book:
+
+
+
grails-app/views/book/index.gson
+
+
@Field List<Book> bookList
+
+json tmpl.book(bookList)
+
+
+
+
+
+
+
+
+
+When responding with a list of objects Grails automatically appends the suffix "List" to the model name, so in this case the model name is bookList
+
+
+
+
+
+
By calling the tmpl.book(..)
method with the list of books the grails-app/views/book/_book.gson
template will be rendered for each one and a JSON array returned.
+
+
+
+
Global Default Template
+
+
You can also define a /object/_object
template that is rendered by default if no other template is found during content negotiation. To do this create a file called /grails-app/views/object/_object.gson
where the name of the model is object
, for example:
+
+
+
+
model {
+ Object object
+}
+json g.render(object)
+
+
+
+
+
Content Negotiation and Versioned APIs
+
+
A typical use case when building REST APIs is the requirement to support different versions of the API. GSON views can be versioned by including the version in the name of the view.
+
+
+
Grails will then use the ACCEPT-VERSION
header when resolving the view.
+
+
+
For example given a view called /book/show.gson
if you wish to deprecate your previous API and create a version 2.0 API, you can rename the previous view /book/show_v1.0.gson
and create a new /book/show.gson
representing the new version of the API.
+
+
+
Then when the client sends a request with the ACCEPT-VERSION
header containing v1.0
the /book/show_v1.0.gson
view will be rendered instead of /book/show.gson
.
+
+
+
+
Content Negotiation and View Resolving Strategy
+
+
Grails Framework takes into account a number of factors when attempting to resolve the view including the content type, version and locale.
+
+
+
The paths searched are following:
+
+
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_de_hal_v1.0.gson)
+
+
+view_name[_LOCALE][_ACCEPT_CONTENT_TYPE].gson (Example: show_de_hal.gson)
+
+
+view_name[_LOCALE][_ACCEPT-VERSION].gson (Example: show_de_v1.0.gson)
+
+
+view_name[_LOCALE].gson (Example: show_de.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE][_ACCEPT-VERSION].gson (Example: show_hal_v1.0.gson)
+
+
+view_name[_ACCEPT-VERSION][_ACCEPT_CONTENT_TYPE].gson (Example: show_v1.0_hal.gson)
+
+
+view_name[_ACCEPT_CONTENT_TYPE].gson (Example: show_hal.gson)
+
+
+view_name[_ACCEPT-VERSION].gson (Example: show_v1.0.gson)
+
+
+view_name.gson (Example: show.gson)
+
+
+
+
+
The content type (defined by either the ACCEPT
header or file extension in the URI) is taken into account to allow different formats for the same view.
+
+
+
+
Content Negotiation and Custom Mime Types
+
+
Some REST APIs use the notion of custom mime types to represent resources. Within Grails you can for example define custom mime types in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+ bookList: "application/vnd.books.org.booklist+json"
+
+
+
+
Once these custom mime types have been defined you can then define a view such as show.book.gson
for that particular mime type.
+
+
+
+
+
+
HAL Support
+
+
+
HAL is a standard format for representing JSON that has gained traction for its ability to represent links between resources and provide navigable APIs.
+
+
+
The JSON views plugin for Grails provides HAL support out-of-the-box. All JSON views have access to the hal
instance which implements HalViewHelper .
+
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(book)
+ hal.embedded {
+ author( book.authors.first() ) { Author author ->
+ name author.name
+ }
+ }
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+The call to hal.links()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
This produces the HAL output:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "_embedded": {
+ "author": {
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/author/show/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "name": "Stephen King"
+ }
+ },
+ "title": "The Stand"
+}
+
+
+
+
Generating HAL Links
+
+
The above example uses the hal.links(..)
method to render links for a domain resource and the hal.embedded(..)
method to define any embedded objects that form part of the HAL response.
+
+
+
The hal.links(..)
method will by default create a link to the resource, but you can define additional links by annotating the domain class with either grails.rest.Linkable
or grails.rest.Resource
and using the link
method on the object:
+
+
+
+
book.link(rel:"publisher", href:"http://foo.com/books")
+
+
+
+
The link will then be included in the HAL output.
+
+
+
If you wish to be specific about which links to include you can do so by passing a map of objects to link to:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self:book, author: book.author)
+ ...
+}
+
+
+
+
Alternatively, if you prefer to define the HAL links yourself then you can do so by passing a closure to the hal.links
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links {
+ self {
+ href '...'
+ hreflang 'en'
+ type "application/hal+json"
+ }
+ }
+ ...
+}
+
+
+
+
+
Rendering Domain Classes as HAL
+
+
If you prefer to let the plugin handle the rendering of your object you can use the hal.render(..)
method:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book)
+
+
+
+
The hal.render
method works the same as the g.render
method, accepting the same arguments, the difference being it will output HAL links for the object via hal.links
and also output associations fetched via a join query for hal.embedded
.
+
+
+
For example you can also customize the content of the generated HAL with a closure:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book) {
+ pages 1000
+}
+
+
+
+
+
Embedded Association and HAL
+
+
Generally, when using the hal.render(..)
method, _embedded
associations are only rendered for associations that have been initialized and eagerly fetched. This means that the following query will not render the book.authors
association:
+
+
+
+
However, this query will render the book.authors
association:
+
+
+
+
Book.get(params.id, [fetch:[authors:'eager']])
+
+
+
+
This is by design and to prevent unexpected performance degradation due to N+1 query loading. If you wish to force the render
method to render _embedded
associations for HAL you can do see using the deep
argument:
+
+
+
+
json hal.render(book, [deep:true])
+
+
+
+
You can prevent HAL _embedded
associations from being rendering using the embedded:false
parameter:
+
+
+
+
model {
+ Book book
+}
+json hal.render(book, [embedded:false])
+
+
+
+
You can also render embedded associations without using the hal.render(..)
method, by using the hal.embedded(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(book)
+ title book.title
+}
+
+
+
+
+
+
+
+
+
+Like the hal.links(..)
method, the hal.embedded(..)
method should come first, before any other attributes, in your JSON output
+
+
+
+
+
+
You can also control which associations should be embedded by using a map argument instead:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ title book.title
+}
+
+
+
+
And you can inline the contents of the book without any associations using the hal.inline(..)
method:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book)
+}
+
+
+
+
To customize the contents of the inlined JSON output use a closure:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
+
+
+
+
+You cannot include additional content after the call to hal.inline(..)
as this will produce invalid JSON
+
+
+
+
+
+
You can combine hal.embeddded(..)
and hal.links(..)
to obtain exactly the links and the embedded content you want:
+
+
+
+
model {
+ Book book
+}
+json {
+ hal.links(self: book )
+ hal.embedded(authors: book.authors)
+ hal.inline(book) {
+ pages 300
+ }
+}
+
+
+
+
+
Specifying the HAL Content Type
+
+
The default HAL response content type is application/hal+json
, however as discussed in the section on Custom Mime Type you can define your own response content types to represent your resources.
+
+
+
For example given the following configuration in grails-app/conf/application.yml
:
+
+
+
+
grails:
+ mime:
+ types:
+ all: "*/*"
+ book: "application/vnd.books.org.book+json"
+
+
+
+
You can set the HAL content type to an explicit content type or one of the named content types defined in grails.mime.types
in application.yml
:
+
+
+
+
model {
+ Book book
+}
+hal.type("book")
+json {
+ ...
+}
+
+
+
+
+
+
+
The JSON views plugin for Grails provides navigable pagination support.
+Like the GSP <g:paginate>
tag, the parameters include: total
, max
, offset
, sort
and order
.
+
+
+
+
+
model {
+ Iterable<Book> bookList
+ Integer bookCount
+ Integer max // optional, defaults to 10
+ Integer offset // optional, defaults to 0
+ String sort // optional
+ String order // optional
+}
+json {
+ hal.paginate(Book, bookCount, max, offset, sort, order)
+ ...
+}
+
+
+
+
+
+
+
+
+
+Similar to hal.links()
the hal.paginate()
has to be the first element within the json{}
closure.
+
+
+
+
+
+
When accessing http://localhost:8080/book?offset=10
this produces the navigable output like:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/book/index?offset=10&max=10",
+ "hreflang": "en_US",
+ "type": "application/hal+json"
+ },
+ "first": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "prev": {
+ "href": "http://localhost:8080/book/index?offset=0&max=10",
+ "hreflang": "en_US"
+ },
+ "next": {
+ "href": "http://localhost:8080/book/index?offset=20&max=10",
+ "hreflang": "en_US"
+ },
+ "last": {
+ "href": "http://localhost:8080/book/index?offset=40&max=10",
+ "hreflang": "en_US"
+ }
+ },
+ ...
+}
+
+
+
+
+
+
+
+
+
+If there aren’t enough results to paginate the navigation links will not appear, Likewise, the prev
and next
links are only present when there is a previous or next page.
+
+
+
+
+
+
If you have other links that you want to include along with the pagination links then you can use the hal.links(..)
method with pagination arguments:
+
+
+
+
model {
+ Author author
+ Iterable<Book> bookList
+ Integer bookCount
+}
+json {
+ // the model, type to paginate, and the total count
+ hal.links([author:author], Book, bookCount)
+ ...
+}
+
+
+
+
+
+
+
JSON API Support
+
+
+
JSON API is a standard format for representing JSON.
+
+
+
The JSON views plugin for Grails provides JSON API support out-of-the-box. All JSON views have access to the jsonapi
instance which implements JsonApiViewHelper .
+
+
+
Grails views makes a best effort to conform to the JSON API standard, however that only applies to the format of the data. The specification makes many assertions about response codes, url conventions, and other server related concepts that are overreaching.
+
+
+
The JSON API support in Grails also only applies to domain classes. Because the specification relies on concepts of relationships and identifiers, there is no clear way to determine how those concepts would apply to conventional Groovy classes. As a result, normal Groovy classes are not supported.
+
+
+
The simplest example of using JSON API simply passes a domain class to the render
method of the jsonapi
object.
+
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book)
+
+
+
+
In the example where Book
looks like the following:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
This is what an example Book
instance rendered with JSON API might look like.
+
+
+
+
{
+ "data": {
+ "type": "book",
+ "id": "3",
+ "attributes": {
+ "title": "The Return of the King"
+ },
+ "relationships": {
+ "author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+ }
+ }
+ },
+ "links": {
+ "self": "http://localhost:8080/book/3"
+ }
+}
+
+
+
+
JSON API Object
+
+
To include the JSON API Object in the response, include a jsonApiObject
argument to the render
method.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [jsonApiObject: true])
+
+
+
+
The response will contain "jsonapi":{"version":"1.0"}
as the first key in the resulting object.
+
+
+
+
+
+
To add metadata to your response, the meta
argument can be passed to render with the value being the object that should be rendered. If this functionality is used in addition to jsonApiObject: true
, the metadata will be rendered as the "meta" property of the "jsonapi" object.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [meta: [name: "Metadata Information"]])
+
+
+
+
The response will contain "meta":{"name":"Metadata Information"}
as the first key in the resulting object.
+
+
+
+
Rendering Errors
+
+
+
Exceptions
+
+
If an exception is passed to the render
method, it will be rendered within the specification.
+
+
+
In the example of an exception new RuntimeException("oops!")
, the following will be rendered:
+
+
+
+
{
+ "errors": [
+ {
+ "status": 500,
+ "title": "java.lang.RuntimeException",
+ "detail": "oops!",
+ "source": {
+ "stacktrace": [
+ //An array of information relating to the stacktrace
+ ]
+ }
+ }
+ ]
+}
+
+
+
+
+
Validation Errors
+
+
In the case of validation errors, the response will look like the following when a name
property fails the blank constraint:
+
+
+
+
{
+ "errors": [
+ {
+ "code": "blank",
+ "detail": "Property [name] of class [class com.foo.Bar] cannot be blank",
+ "source": {
+ "object": "com.foo.Bar",
+ "field": "name",
+ "rejectedValue": "",
+ "bindingError": false
+ }
+ }
+ ]
+}
+
+
+
+
+
+
Links
+
+
In general, links for relationships will be provided when the relationship has a value.
+
+
+
Example output for a has one relationship where the value is null:
+
+
+
+
"captain": {
+ "data": null
+}
+
+
+
+
And when the value is not null:
+
+
+
+
"author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+}
+
+
+
+
Currently links are not supported in the case of to many relationships.
+
+
+
+
+
+
The JSON API specification has a section which explains pagination . The Grails implementation follows that specification as it is written.
+
+
+
To enable pagination links in your output you must be rendering a collection and also include some arguments in addition to the collection being rendered. There are two required arguments: total and resource. The default offset is 0 and max is 10.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book]])
+
+
+
+
Example links output if bookTotal == 20
:
+
+
+
+
"links": {
+ "self": "/books",
+ "first": "http://localhost:8080/books?offset=0&max=10",
+ "next": "http://localhost:8080/books?offset=10&max=10",
+ "last": "http://localhost:8080/books?offset=10&max=10"
+}
+
+
+
+
By default the values for offset
, sort
, max
, and order
will come from the parameters with the same names. You can override their values by passing the corresponding argument in the pagination Map.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book, max: 20, sort: params.myCustomSortArgument]])
+
+
+
+
+
Associations
+
+
The JSON API specification details how relationships should be rendered. The first way is through a relationships object described here . By default that is now relationships will be rendered in json views.
+
+
+
If you do not wish to render the relationships at all, the associations
argument can be passed to render
with the value of false.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [associations: false])
+
+
+
+
The specification also has a section that describes compound documents . If you want one or more of your relationships to be rendered in that manner, you can include the expand
argument.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [expand: "author"]) //can also be a list of strings
+
+
+
+
+
Includes / Excludes
+
+
The JSON API implementation in Grails supports the same includes and excludes support as normal json views. Please see the section on rendering for details.
+
+
+
+
Identifier Rendering
+
+
Grails provides a way to customize the rendering of your domain class identifiers. To override the default behavior, register a bean that implements JsonApiIdRenderStrategy .
+
+
+
grails-app/conf/spring/resources.groovy
+
+
beans = {
+ jsonApiIdRenderStrategy(MyCustomImplementation)
+}
+
+
+
+
+
+
+
The JsonTemplateEngine
+
+
+
+
This class is a regular Groovy TemplateEngine , and you can use the engine to render JSON views outside the scope of an HTTP request.
+
+
+
+
+
@Autowired
+JsonViewTemplateEngine templateEngine
+void myMethod() {
+ Template t = templateEngine.resolveTemplate('/book/show')
+ def writable = t.make(book: new Book(title:"The Stand"))
+ def sw = new StringWriter()
+ writable.writeTo( sw )
+ ...
+}
+
+
+
+
+
+
Static Compilation
+
+
+
JSON views are statically compiled. You can disable static compilation if you prefer by setting grails.views.json.compileStatic
:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: false
+
+
+
+
+
+
+
+
+
+If you disable static compilation rendering performance will suffer.
+
+
+
+
+
+
For model variables you need to declare the types otherwise you will get a compilation error:
+
+
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
+
+
Testing
+
+
+
Although generally testing can be done using functional tests via an HTTP client, the JSON views plugin also provides a trait which helps in writing either unit or integration tests.
+
+
+
To use the trait import the grails.plugin.json.view.test.JsonViewTest
class and apply it to any Spock or JUnit test:
+
+
+
+
import grails.plugin.json.view.test.*
+import spock.lang.Specification
+class MySpec extends Specification implements JsonViewTest {
+ ...
+}
+
+
+
+
The trait provides a number of different render
method implementations that can either render a JSON view found in grails-app/views
or render an inline String. For example to render an inline template:
+
+
+
+
void "Test render a raw GSON view"() {
+ when:"A gson view is rendered"
+ JsonRenderResult result = render '''
+ model {
+ String person
+ }
+ json.person {
+ name person
+ }
+''', [person:"bob"] (1)
+
+ then:"The json is correct"
+ result.json.person.name == 'bob' (2)
+}
+
+
+
+
+
+1
+Use the render
method to return a JsonRenderResult
passing in a String that is the inline template and a map that is the model
+
+
+2
+Assert the parsed JSON, represented by the json
property, is correct
+
+
+
+
+
To render an existing view or template use named arguments to specify an absolute path to either a template or a view:
+
+
+
+
when:"A gson view is rendered"
+def result = render(template: "/path/to/template", model:[age:10])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
If you are writing a unit test, and the model involves a domain class, you may need to add the domain class to the mappingContext
object in order for it to be rendered correctly:
+
+
+
+
when:"A gson view is rendered for a domain class"
+mappingContext.addPersistentEntity(MyDomain)
+def result = render(template: "/path/to/template", model:[myDomain:MyDomain])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
+
+
+
+
+
+Links generated by json views in a unit test may not match what they would normally generate in the standard environment. To fully test links, use a functional test.
+
+
+
+
+
+
New Testing Framework
+
+
Since the release of json views, a new testing framework was released for Grails. A new trait has been developed that works with the new testing framework that is designed to replace the existing trait. The existing trait will be left as is for backwards compatibility.
+
+
+
The new trait works exactly the same way as the old one, however since the new trait is designed to work with the new framework, there are several benefits you can take advantage of. The first is configuration. In the old trait the application configuration was not included in the template engine, which had the potential to produce incorrect results. Other benefits include extensibility and features like @OnceBefore
.
+
+
+
To get started, add the org.grails:views-json-testing-support:{version}
dependency to your project and implement the JsonViewUnitTest trait in your test instead of JsonViewTest
.
+
+
+
+
+
+
+
+
+The new testing trait, like the testing framework, requires Spock.
+
+
+
+
+
+
+
+
+
Plugin Support
+
+
+
Grails plugins as well as standard Gradle Java/Groovy projects can provide json views to your application.
+
+
+
Grails Plugins
+
+
Since JSON views are compiled all of a plugin’s views and templates are available for use in your applications.
+
+
+
The view resolution will look through all of the application’s configured plugins for views that match a particular name. By default, the views a plugin supplies should be stored in grails-app/views
, just like applications.
+
+
+
+
Basic Libraries
+
+
The most common use case to provide views in a standard library is to provide global templates. Global templates are templates designed to render a given class as JSON. In order to provide views in a standard Gradle project, you should configure your own view compilation task.
+
+
+
Below is an example Gradle build that adds a compileViews
task for templates located into src/main/gson
:
+
+
+
+
buildscript {
+ repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+ }
+ dependencies {
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+import grails.views.gradle.json.*
+
+apply plugin:"java"
+
+repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+}
+
+dependencies {
+ compile "org.grails.plugins:views-json:3.2.3"
+ compileOnly "org.grails:grails-plugin-rest:3.1.7"
+ compileOnly "javax.servlet:javax.servlet-api:4.0.1"
+}
+
+task( compileViews, type:JsonViewCompilerTask ) {
+ source = project.file('src/main/gson')
+ destinationDir = project.file('build/classes/main')
+ packageName = ""
+ classpath = configurations.compileClasspath + configurations.runtimeClasspath
+}
+classes.dependsOn compileViews
+
+
+
+
Once this is in place any applications that includes this library will have access to the templates provided.
+
+
+
For example if you want to render all instances of type foo.bar.Birthday
create a template called src/main/gson/foo/bar/_birthday.gson
then compile the template and place the JAR on the classpath of your application.
+
+
+
+
+
+
+
+
+See the GeoJSON templates for MongoDB for example of how it provides global templates for Mongo specific classes.
+
+
+
+
+
+
+
Customizing the Compile Task
+
+
Unless otherwise configured, the project name of the plugin (the gradle project.name
) is used as the packageName
when compiling JSON views.
+
+
+
In Gradle project.name
is generally calculated from the current directory. That means that if there is mismatch between the current directory and your plugin name view resolution from a plugin could fail.
+
+
+
For example consider a plugin named FooBarGrailsPlugin
, in this case Grails will search for views that match the plugin name foo-bar
. However, if the directory where the plugin is located is called fooBar
instead of foo-bar
then view resolution will fail and the view will not be found when the plugin is installed into an application.
+
+
+
To resolve this issue you can customize the compileGsonViews
task in the plugin’s build.gradle
+
+
+
+
compileGsonViews {
+ packageName = "foo-bar"
+}
+
+
+
+
By setting the packageName
property to correctly match the convention of the plugin named (FooBarGrailsPlugin
maps to foo-bar
) view resolution will succeed.
+
+
+
+
+
+
Configuration
+
+
+
JSON views configuration can be altered within grails-app/conf/application.yml
. Any of the properties within the JsonViewConfiguration interface can be set. The json view configuration extends GenericViewConfiguration , therefore any properties in that interface can be set as well.
+
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ cache: true
+ ...
+
+
+
+
Alternatively you can register a new JsonViewConfiguration
bean using the bean name jsonViewConfiguration
in grails-app/conf/resources.groovy
.
+
+
+
The same settings in grails-app/conf/application.yml
will also be used by the Gradle plugin for production compilation.
+
+
+
The Gradle plugin compiles views using a forked compiler. You can configure the forked compilation task in Gradle as follows:
+
+
+
+
compileGsonViews {
+ compileOptions.forkOptions.memoryMaximumSize = '512mb'
+}
+
+
+
+
+
Changing the view base class
+
+
+
You can however change the subclass (which should be a subclass of JsonViewTemplate
) using configuration:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: true
+ baseTemplateClass: com.example.MyCustomJsonViewTemplate
+
+
+
+
+
Adding New Helper Methods via Traits
+
+
Alternatively, rather than modifying the base class, you can instead just add new methods via traits.
+
+
+
For example the HttpView uses the Enhances
annotation to add the page
object to all views:
+
+
+
+
import grails.artefact.Enhances
+import grails.views.Views
+
+@Enhances(Views.TYPE)
+trait HttpView {
+
+ /**
+ * @return The response object
+ */
+ Response response
+ ...
+}
+
+
+
+
The result is all JSON views have a response
object that can be used to control the HTTP response:
+
+
+
+
response.header "Token", "foo"
+
+
+
+
+
+
+
+
+
+The trait cannot be defined in the same project as you are compilation as it needs to be on the classpath of the project you are compiling. You will need to create a Grails plugin and use a multi-project build in this scenario.
+
+
+
+
+
+
+
Default Mime Types
+
+
The mime types that will be accepted by default for JSON view rendering is configurable.
+
+
+
+
grails:
+ views:
+ json:
+ mimeTypes:
+ - application/json
+ - application/hal+json
+
+
+
+
+
Unicode Escaping
+
+
By default, unicode characters will not be escaped. If you would like unicode characters to be escaped in your output, set the following configuration.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ escapeUnicode: true
+
+
+
+
+
+
+
The default format for java.util.Date
can be configured.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ dateFormat: "yyyy-MM-dd'T'HH:mm:ss'Z'"
+
+
+
+
In addition, the default locale can also be specified.
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ locale: "en/US"
+
+
+
+
+
Default Time Zone
+
+
The default time zone can be configured. The value here will be passed to TimeZone.getTimeZone(...)
+
+
+
+
grails:
+ views:
+ json:
+ generator:
+ timeZone: "GMT"
+
+
+
+
+
+
+
Custom Converters
+
+
+
It is possible to register custom converters to change how a given class is rendered with json views. To do so, create a class that implements Converter . Then you must register the class in src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
.
+
+
+
+
package foo
+
+class MyConverter implements JsonGenerator.Converter {
+
+ @Override
+ boolean handles(Class<?> type) {
+ CustomClass.isAssignableFrom(type)
+ }
+
+ @Override
+ Object convert(Object value, String key) {
+ ((CustomClass)value).name
+ }
+}
+
+
+class CustomClass {
+ String name
+}
+
+
+
+
Because plugins could potentially provide converters, you can also determine the order by implementing the Ordered interface in your converter.
+
+
+
src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter
+
+
+
+
+
+
+
+
+
+If you have multiple classes to register, put each one on it’s own line
+
+
+
+
+
+
+
+
IntelliJ Support
+
+
+
When opening .gson
files in Intellij they should be opened with the regular Groovy editor.
+
+
+
The plugin includes an IntelliJ GDSL file that provides code completion when using IntelliJ IDEA.
+
+
+
Intellij GDSL is a way to describe the available methods and properties so that code completion is available to the developer when opening .gson
files.
+
+
+
The GDSL file is generally kept up-to-date with the codebase, however if any variation is spotted please raise an issue .
+
+
+
+
+
Debugging Views
+
+
+
Generally views should be kept simple and if you arrive to the point where you need to debug a view you probably have too much logic in the view that would be better off handled by the controller prior to supplying the model.
+
+
+
Nevertheless here are a few view debugging tips to help identify problems in the view.
+
+
+
Introspecting the Model
+
+
Every JSON view is a Groovy script and like any Groovy script the model is defined in a binding
variable. Therefore you can easily find out the model at any time by either logging or printing the binding variables:
+
+
+
+
model {
+ Book book
+}
+// use the log variable
+log.debug "Model is $binding.variables"
+// use system out
+System.out.println "Model is $binding.variables"
+json g.render(book)
+
+
+
+
+
+
+
+
+
+If you using the log
variable then you will need to enabling logging for the grails.views
package in grails-app/conf/logback.groovy
+
+
+
+
+
+
+
Connecting a Debugger
+
+
Some IDEs like Intellij IDE allow you to set break points and step debug within the view itself. As mentioned previously you shouldn’t arrive to this point and if you do you have too much logic in your view, but if you do need it the feature is there.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/installation.html b/3.2.3/json/installation.html
new file mode 100644
index 000000000..e4adceafc
--- /dev/null
+++ b/3.2.3/json/installation.html
@@ -0,0 +1,499 @@
+
+
+
+
+
+
+
+Installation
+
+
+
+
+
+
+
+
+
To activate JSON views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-json:3.2.3"
+
+
+
+
If you are also using MongoDB you may want to add the views-json-templates
dependency too which includes support for GeoJSON:
+
+
+
+
compile "org.grails.plugins:views-json-templates:3.2.3"
+
+
+
+
To enable Gradle compilation of JSON views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-json
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-json"
+
+
+
+
This will add a compileGsonViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/intellij.html b/3.2.3/json/intellij.html
new file mode 100644
index 000000000..d468daa67
--- /dev/null
+++ b/3.2.3/json/intellij.html
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+IntelliJ Support
+
+
+
+
+
+
+
+
+
When opening .gson
files in Intellij they should be opened with the regular Groovy editor.
+
+
+
The plugin includes an IntelliJ GDSL file that provides code completion when using IntelliJ IDEA.
+
+
+
Intellij GDSL is a way to describe the available methods and properties so that code completion is available to the developer when opening .gson
files.
+
+
+
The GDSL file is generally kept up-to-date with the codebase, however if any variation is spotted please raise an issue .
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/introduction.html b/3.2.3/json/introduction.html
new file mode 100644
index 000000000..087b93bf7
--- /dev/null
+++ b/3.2.3/json/introduction.html
@@ -0,0 +1,515 @@
+
+
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
JSON views are written in Groovy, end with the file extension gson
and reside in the grails-app/views
directory. They provide a DSL for producing output in the JSON format. A hello world example can be seen below:
+
+
+
grails-app/views/hello.gson
+
+
json.message {
+ hello "world"
+}
+
+
+
+
The above JSON view results in the output:
+
+
+
+
{"message":{ "hello":"world"}}
+
+
+
+
+
+
+
json(1,2,3) == "[1,2,3]"
+json { name "Bob" } == '{"name":"Bob"}'
+json([1,2,3]) { n it } == '[{"n":1},{"n":2},{"n":3}]'
+
+
+
+
You can specify a model to view in one of two ways. Either with a model
block:
+
+
+
grails-app/views/hello.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Or with the @Field
transformation provided by Groovy:
+
+
+
grails-app/views/hello.gson
+
+
import groovy.transform.Field
+@Field String message
+json.message {
+ hello message
+}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/jsonapi.html b/3.2.3/json/jsonapi.html
new file mode 100644
index 000000000..1d0f07194
--- /dev/null
+++ b/3.2.3/json/jsonapi.html
@@ -0,0 +1,778 @@
+
+
+
+
+
+
+
+JSON API Support
+
+
+
+
+
+
+
+
+
+
+
JSON API is a standard format for representing JSON.
+
+
+
The JSON views plugin for Grails provides JSON API support out-of-the-box. All JSON views have access to the jsonapi
instance which implements JsonApiViewHelper .
+
+
+
Grails views makes a best effort to conform to the JSON API standard, however that only applies to the format of the data. The specification makes many assertions about response codes, url conventions, and other server related concepts that are overreaching.
+
+
+
The JSON API support in Grails also only applies to domain classes. Because the specification relies on concepts of relationships and identifiers, there is no clear way to determine how those concepts would apply to conventional Groovy classes. As a result, normal Groovy classes are not supported.
+
+
+
The simplest example of using JSON API simply passes a domain class to the render
method of the jsonapi
object.
+
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book)
+
+
+
+
In the example where Book
looks like the following:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
This is what an example Book
instance rendered with JSON API might look like.
+
+
+
+
{
+ "data": {
+ "type": "book",
+ "id": "3",
+ "attributes": {
+ "title": "The Return of the King"
+ },
+ "relationships": {
+ "author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+ }
+ }
+ },
+ "links": {
+ "self": "http://localhost:8080/book/3"
+ }
+}
+
+
+
+
+
+
JSON API Object
+
+
+
To include the JSON API Object in the response, include a jsonApiObject
argument to the render
method.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [jsonApiObject: true])
+
+
+
+
The response will contain "jsonapi":{"version":"1.0"}
as the first key in the resulting object.
+
+
+
+
+
+
+
+
To add metadata to your response, the meta
argument can be passed to render with the value being the object that should be rendered. If this functionality is used in addition to jsonApiObject: true
, the metadata will be rendered as the "meta" property of the "jsonapi" object.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [meta: [name: "Metadata Information"]])
+
+
+
+
The response will contain "meta":{"name":"Metadata Information"}
as the first key in the resulting object.
+
+
+
+
+
Rendering Errors
+
+
+
+
Exceptions
+
+
If an exception is passed to the render
method, it will be rendered within the specification.
+
+
+
In the example of an exception new RuntimeException("oops!")
, the following will be rendered:
+
+
+
+
{
+ "errors": [
+ {
+ "status": 500,
+ "title": "java.lang.RuntimeException",
+ "detail": "oops!",
+ "source": {
+ "stacktrace": [
+ //An array of information relating to the stacktrace
+ ]
+ }
+ }
+ ]
+}
+
+
+
+
+
Validation Errors
+
+
In the case of validation errors, the response will look like the following when a name
property fails the blank constraint:
+
+
+
+
{
+ "errors": [
+ {
+ "code": "blank",
+ "detail": "Property [name] of class [class com.foo.Bar] cannot be blank",
+ "source": {
+ "object": "com.foo.Bar",
+ "field": "name",
+ "rejectedValue": "",
+ "bindingError": false
+ }
+ }
+ ]
+}
+
+
+
+
+
+
+
Links
+
+
+
In general, links for relationships will be provided when the relationship has a value.
+
+
+
Example output for a has one relationship where the value is null:
+
+
+
+
"captain": {
+ "data": null
+}
+
+
+
+
And when the value is not null:
+
+
+
+
"author": {
+ "links": {
+ "self": "/author/9"
+ },
+ "data": {
+ "type": "author",
+ "id": "9"
+ }
+}
+
+
+
+
Currently links are not supported in the case of to many relationships.
+
+
+
+
+
+
+
+
The JSON API specification has a section which explains pagination . The Grails implementation follows that specification as it is written.
+
+
+
To enable pagination links in your output you must be rendering a collection and also include some arguments in addition to the collection being rendered. There are two required arguments: total and resource. The default offset is 0 and max is 10.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book]])
+
+
+
+
Example links output if bookTotal == 20
:
+
+
+
+
"links": {
+ "self": "/books",
+ "first": "http://localhost:8080/books?offset=0&max=10",
+ "next": "http://localhost:8080/books?offset=10&max=10",
+ "last": "http://localhost:8080/books?offset=10&max=10"
+}
+
+
+
+
By default the values for offset
, sort
, max
, and order
will come from the parameters with the same names. You can override their values by passing the corresponding argument in the pagination Map.
+
+
+
+
model {
+ List<Book> books
+ Integer bookTotal
+}
+json jsonapi.render(books, [pagination: [total: bookTotal, resource: Book, max: 20, sort: params.myCustomSortArgument]])
+
+
+
+
+
+
Associations
+
+
+
The JSON API specification details how relationships should be rendered. The first way is through a relationships object described here . By default that is now relationships will be rendered in json views.
+
+
+
If you do not wish to render the relationships at all, the associations
argument can be passed to render
with the value of false.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [associations: false])
+
+
+
+
The specification also has a section that describes compound documents . If you want one or more of your relationships to be rendered in that manner, you can include the expand
argument.
+
+
+
+
model {
+ Book book
+}
+json jsonapi.render(book, [expand: "author"]) //can also be a list of strings
+
+
+
+
+
+
Includes / Excludes
+
+
+
The JSON API implementation in Grails supports the same includes and excludes support as normal json views. Please see the section on rendering for details.
+
+
+
+
+
Identifier Rendering
+
+
+
Grails provides a way to customize the rendering of your domain class identifiers. To override the default behavior, register a bean that implements JsonApiIdRenderStrategy .
+
+
+
grails-app/conf/spring/resources.groovy
+
+
beans = {
+ jsonApiIdRenderStrategy(MyCustomImplementation)
+}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/modelNaming.html b/3.2.3/json/modelNaming.html
new file mode 100644
index 000000000..4457ee5ef
--- /dev/null
+++ b/3.2.3/json/modelNaming.html
@@ -0,0 +1,710 @@
+
+
+
+
+
+
+
+Model Naming
+
+
+
+
+
+
+
+
+
+
+
Grails Framework supports a convention for the model names in your JSON views. If the convention does not meet your needs, model variables can be explicitly defined.
+
+
+
+
+
+
+
+
+Some model names are reserved since there are properties of the same name injected into the view:
+locale
, response
, request
, page
, controllerNamespace
, controllerName
, actionName
, config
, generator
, json
+
+
+
+
+
+
+
+
Explicit Model Naming
+
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
Then the controller has to specify the name to be used in the view:
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(message: "Hello World")
+ //or [message: "Hello World"]
+}
+
+
+
+
When using a template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String message
+}
+json.message {
+ hello message
+}
+
+
+
+
In the view you can use the tmpl
namespace:
+
+
+
+
json {
+ message tmpl.msg([message: message])
+ // or g.render(template:'msg', model:[message: message])
+ // or g.render(template:'msg', model: message, var:'message')
+}
+
+
+
+
+
+
model {
+ List<String> messages
+}
+json {
+ messages tmpl.msg('message', messages)
+ // or g.render(template:'msg', collection: messages, var: 'message')
+}
+
+
+
+
+
+
Model By Convention
+
+
+
Property Type
+
+
When rendering a non iterable object, the property name of the type is used when a name is not specified.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond("Hello World")
+}
+
+
+
+
This also applies when rendering templates with tmpl
.
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String string
+}
+json.message {
+ hello string
+}
+
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String someString
+}
+json tmpl.msg(someString)
+
+
+
+
If a collection is rendered, the property name of the component type is appended with the property name of the collection type. The component type is based on the first item in the list.
+
+
+
List<String>
→ stringList
+
+
+
Set<String>
→ stringSet
+
+
+
Bag<String>
→ stringCollection
+
+
+
If the collection is empty, emptyCollection
will be used as the default model name. This is due to not being able to inspect the first object’s type.
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ String stringList
+}
+json {
+ strings stringList
+}
+
+
+
+
The variable can be passed in directly to respond
.
+
+
+
grails-app/controllers/HelloController.groovy
+
+
def index() {
+ respond(["Hello", "World"])
+}
+
+
+
+
+
+
+
+
+
+The component+collection convention does not apply when rendering collections with tmpl
inside a view.
+
+
+
+
+
+
+
Template Name
+
+
When using a template, unless specified, the model name is based on the template name.
+
+
+
Given the following template:
+
+
+
grails-app/views/hello/_msg.gson
+
+
model {
+ String msg // or String string
+}
+json.message {
+ hello msg
+}
+
+
+
+
To render a single message from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
json.message tmpl.msg(message)
+
+
+
+
To render a collection of messages from another view using the template:
+
+
+
grails-app/views/hello/index.gson
+
+
model {
+ List<String> stringList
+}
+json {
+ messages tmpl.msg(stringList)
+}
+
+
+
+
In both cases the convention of the variable name matching the template name is used.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/pluginSupport.html b/3.2.3/json/pluginSupport.html
new file mode 100644
index 000000000..f2fde0ee9
--- /dev/null
+++ b/3.2.3/json/pluginSupport.html
@@ -0,0 +1,572 @@
+
+
+
+
+
+
+
+Plugin Support
+
+
+
+
+
+
+
+
+
+
+
Grails plugins as well as standard Gradle Java/Groovy projects can provide json views to your application.
+
+
+
+
+
Grails Plugins
+
+
+
Since JSON views are compiled all of a plugin’s views and templates are available for use in your applications.
+
+
+
The view resolution will look through all of the application’s configured plugins for views that match a particular name. By default, the views a plugin supplies should be stored in grails-app/views
, just like applications.
+
+
+
+
+
Basic Libraries
+
+
+
The most common use case to provide views in a standard library is to provide global templates. Global templates are templates designed to render a given class as JSON. In order to provide views in a standard Gradle project, you should configure your own view compilation task.
+
+
+
Below is an example Gradle build that adds a compileViews
task for templates located into src/main/gson
:
+
+
+
+
buildscript {
+ repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+ }
+ dependencies {
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+import grails.views.gradle.json.*
+
+apply plugin:"java"
+
+repositories {
+ maven { url "https://repo.grails.org/grails/core" }
+}
+
+dependencies {
+ compile "org.grails.plugins:views-json:3.2.3"
+ compileOnly "org.grails:grails-plugin-rest:3.1.7"
+ compileOnly "javax.servlet:javax.servlet-api:4.0.1"
+}
+
+task( compileViews, type:JsonViewCompilerTask ) {
+ source = project.file('src/main/gson')
+ destinationDir = project.file('build/classes/main')
+ packageName = ""
+ classpath = configurations.compileClasspath + configurations.runtimeClasspath
+}
+classes.dependsOn compileViews
+
+
+
+
Once this is in place any applications that includes this library will have access to the templates provided.
+
+
+
For example if you want to render all instances of type foo.bar.Birthday
create a template called src/main/gson/foo/bar/_birthday.gson
then compile the template and place the JAR on the classpath of your application.
+
+
+
+
+
+
+
+
+See the GeoJSON templates for MongoDB for example of how it provides global templates for Mongo specific classes.
+
+
+
+
+
+
+
+
Customizing the Compile Task
+
+
+
Unless otherwise configured, the project name of the plugin (the gradle project.name
) is used as the packageName
when compiling JSON views.
+
+
+
In Gradle project.name
is generally calculated from the current directory. That means that if there is mismatch between the current directory and your plugin name view resolution from a plugin could fail.
+
+
+
For example consider a plugin named FooBarGrailsPlugin
, in this case Grails will search for views that match the plugin name foo-bar
. However, if the directory where the plugin is located is called fooBar
instead of foo-bar
then view resolution will fail and the view will not be found when the plugin is installed into an application.
+
+
+
To resolve this issue you can customize the compileGsonViews
task in the plugin’s build.gradle
+
+
+
+
compileGsonViews {
+ packageName = "foo-bar"
+}
+
+
+
+
By setting the packageName
property to correctly match the convention of the plugin named (FooBarGrailsPlugin
maps to foo-bar
) view resolution will succeed.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/rendering.html b/3.2.3/json/rendering.html
new file mode 100644
index 000000000..3703770c4
--- /dev/null
+++ b/3.2.3/json/rendering.html
@@ -0,0 +1,638 @@
+
+
+
+
+
+
+
+Rendering Domain Classes
+
+
+
+
+
+
+
+
+
Basics of Domain Class Rendering
+
+
+
Typically your model may involve one or many domain instances. JSON views provide a render
method for rendering these.
+
+
+
For example given the following domain class:
+
+
+
+
class Book {
+ String title
+}
+
+
+
+
And the following template:
+
+
+
+
model {
+ Book book
+}
+json g.render(book)
+
+
+
+
The resulting output is:
+
+
+
+
{"id":1,"title":"The Stand"}
+
+
+
+
You can customize the rendering by including or excluding properties:
+
+
+
+
json g.render(book, [includes:['title']])
+
+
+
+
Or by providing a closure to provide additional JSON output:
+
+
+
+
json g.render(book) {
+ pages 1000
+}
+
+
+
+
Or combine the two approaches:
+
+
+
+
json g.render(book, [includes:['title']]) {
+ pages 1000
+}
+
+
+
+
+
+
Deep Rendering of Domain Classes
+
+
+
Typically the g.render(..)
method will only render objects one level deep. In other words if you have a domain class such as:
+
+
+
+
class Book {
+ String title
+ Author author
+}
+
+
+
+
The resulting output will be something like:
+
+
+
+
{"id":1,"title":"The Stand","author":{id:1}}
+
+
+
+
If you wish for the author
to be included as part of the rendering, there are two requirements, first you must make sure the association is initialized.
+
+
+
If the render
method encounters a proxy, it will not traverse into the relationship to avoid N+1 query performance problems.
+
+
+
+
+
+
+
+
+The same applies to one-to-many collection associations. If the association has not been initialized the render
method will not traverse through the collection!
+
+
+
+
+
+
So you must make sure your query uses a join:
+
+
+
+
Book.findByTitle("The Stand", [fetch:[author:"join"]])
+
+
+
+
Secondly when calling the render
method you should pass the deep
argument:
+
+
+
+
json g.render(book, [deep:true])
+
+
+
+
Alternatively, to only expand a single association you can use the expand
argument:
+
+
+
+
json g.render(book, [expand:['author']])
+
+
+
+
+
+
+
+
+
+request parameters can also be used to expand associations (eg. ?expand=author
), if you do not want to allow this, then use includes
or excludes
to include only the properties you want.
+
+
+
+
+
+
Finally, if you prefer to handle the rendering yourself you can do by excluding the property:
+
+
+
+
json g.render(book, [excludes:['author']]) {
+ author {
+ name book.author.name
+ }
+}
+
+
+
+
+
+
Domain Class Rendering and Templates
+
+
+
An alternative to the default behaviour of the render
method is to rely on templates.
+
+
+
In other words if you create a /author/_author.gson
template and then use the g.render
method on an instance of book
:
+
+
+
+
Whenever the author
association is encountered the g.render
method will automatically render the /author/_author.gson
template instead.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/staticCompilation.html b/3.2.3/json/staticCompilation.html
new file mode 100644
index 000000000..282a5df3b
--- /dev/null
+++ b/3.2.3/json/staticCompilation.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+Static Compilation
+
+
+
+
+
+
+
+
+
JSON views are statically compiled. You can disable static compilation if you prefer by setting grails.views.json.compileStatic
:
+
+
+
+
grails:
+ views:
+ json:
+ compileStatic: false
+
+
+
+
+
+
+
+
+
+If you disable static compilation rendering performance will suffer.
+
+
+
+
+
+
For model variables you need to declare the types otherwise you will get a compilation error:
+
+
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/templateEngine.html b/3.2.3/json/templateEngine.html
new file mode 100644
index 000000000..f54b6e472
--- /dev/null
+++ b/3.2.3/json/templateEngine.html
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+The JsonTemplateEngine
+
+
+
+
+
+
+
+
+
+
This class is a regular Groovy TemplateEngine , and you can use the engine to render JSON views outside the scope of an HTTP request.
+
+
+
+
+
@Autowired
+JsonViewTemplateEngine templateEngine
+void myMethod() {
+ Template t = templateEngine.resolveTemplate('/book/show')
+ def writable = t.make(book: new Book(title:"The Stand"))
+ def sw = new StringWriter()
+ writable.writeTo( sw )
+ ...
+}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/templates.html b/3.2.3/json/templates.html
new file mode 100644
index 000000000..3d1ae7e1d
--- /dev/null
+++ b/3.2.3/json/templates.html
@@ -0,0 +1,735 @@
+
+
+
+
+
+
+
+Templates
+
+
+
+
+
+
+
+
+
Template Basics
+
+
+
You can define templates starting with underscore _
. For example given the following template called _person.gson
:
+
+
+
grails-app/views/person/_person.gson
+
+
model {
+ Person person
+}
+json {
+ name person.name
+ age person.age
+}
+
+
+
+
You can render the template with the g.render
method:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"person", model:[person:person])
+
+
+
+
The above assumes the view is in the same directory as the template. If this is not the case you may need to use a relative URI to the template:
+
+
+
grails-app/views/family/show.gson
+
+
model {
+ Person person
+}
+json g.render(template:"/person/person", model:[person:person])
+
+
+
+
+
+
Template Namespace
+
+
+
The previous example can be simplified using the template namespace:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(person)
+
+
+
+
In this example, the name of the method call (person
in this case) is used to dictate which template to render.
+
+
+
The argument to the template becomes the model. The name of the model variable is the same as the template name. If you wish to alter this you can pass a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.person(individual:person)
+
+
+
+
In the above example the model variable passed to the _person.gson
template is called individual
.
+
+
+
This technique may also be used when you want to render a template using a relative path:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ Person person
+}
+json tmpl.'/person/person'(person:person)
+
+
+
+
The template namespace even accepts a collection (or any Iterable
object):
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people)
+
+
+
+
In this case the output is a JSON array. For example:
+
+
+
+
[{"name":"Fred",age:10},{"name":"Bob",age:12}]
+
+
+
+
When rendering an Iterable
, you can also specify the model name:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person("owner", people)
+
+
+
+
The person
template would have a field defined: Person owner
+
+
+
If you need additional data that will be static over each iteration of the template, you can also pass in a model:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people, [relationship: "Father"])
+
+
+
+
The person
template could have a field defined: String relationship
+
+
+
By passing in a collection the plugin will iterate over each element on the collection and render the template as a JSON array. If you do not want this to happen then use the variation of the method that takes a map instead:
+
+
+
grails-app/views/person/show.gson
+
+
model {
+ List<Person> people = []
+}
+json tmpl.person(people:people)
+
+
+
+
+
+
More Ways to Render Templates
+
+
+
The g.render
method is flexible, you can render templates in many forms:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild g.render(template:"person", model:[person: family.children.max { Person p -> p.age } ])
+ children g.render(template:"person", collection: family.children, var:'person')
+}
+
+
+
+
However, most of these use cases are more concise with the template namespace:
+
+
+
+
model {
+ Family family
+}
+json {
+ name family.father.name
+ age family.father.age
+ oldestChild tmpl.person( family.children.max { Person p -> p.age } ] )
+ children tmpl.person( family.children )
+}
+
+
+
+
+
+
Template Inheritance
+
+
+
JSON templates can inherit from a parent template. For example consider the following parent template:
+
+
+
grails-app/views/_parent.gson
+
+
model {
+ Object object
+}
+json {
+ hal.links(object)
+ version "1.0"
+}
+
+
+
+
A child template can inherit from the above template by using the inherits
method:
+
+
+
grails-app/views/_person.gson
+
+
inherits template:"parent"
+model {
+ Person person
+}
+json {
+ name person.name
+}
+
+
+
+
The JSON from the parent and the child template will be combined so that the output is:
+
+
+
+
{
+ "_links": {
+ "self": {
+ "href": "http://localhost:8080/person/1",
+ "hreflang": "en",
+ "type": "application/hal+json"
+ }
+ },
+ "version": "1.0",
+ "name": "Fred"
+ }
+
+
+
+
The parent template’s model will be formulated from the child templates model and the super class name. For example if the model is Person person
where Person
extends from Object
then the final model passed to the parent template will look like:
+
+
+
+
[person:person, object:person]
+
+
+
+
If the Person
class extended from a class called Mammal
then the model passed to the parent would be:
+
+
+
+
[person:person, mammal:person]
+
+
+
+
This allows you to design your templates around object inheritance.
+
+
+
You can customize the model passed to the parent template using the model
argument:
+
+
+
+
inherits template:"parent", model:[person:person]
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/testing.html b/3.2.3/json/testing.html
new file mode 100644
index 000000000..47adf0f76
--- /dev/null
+++ b/3.2.3/json/testing.html
@@ -0,0 +1,579 @@
+
+
+
+
+
+
+
+Testing
+
+
+
+
+
+
+
+
+
+
+
Although generally testing can be done using functional tests via an HTTP client, the JSON views plugin also provides a trait which helps in writing either unit or integration tests.
+
+
+
To use the trait import the grails.plugin.json.view.test.JsonViewTest
class and apply it to any Spock or JUnit test:
+
+
+
+
import grails.plugin.json.view.test.*
+import spock.lang.Specification
+class MySpec extends Specification implements JsonViewTest {
+ ...
+}
+
+
+
+
The trait provides a number of different render
method implementations that can either render a JSON view found in grails-app/views
or render an inline String. For example to render an inline template:
+
+
+
+
void "Test render a raw GSON view"() {
+ when:"A gson view is rendered"
+ JsonRenderResult result = render '''
+ model {
+ String person
+ }
+ json.person {
+ name person
+ }
+''', [person:"bob"] (1)
+
+ then:"The json is correct"
+ result.json.person.name == 'bob' (2)
+}
+
+
+
+
+
+1
+Use the render
method to return a JsonRenderResult
passing in a String that is the inline template and a map that is the model
+
+
+2
+Assert the parsed JSON, represented by the json
property, is correct
+
+
+
+
+
To render an existing view or template use named arguments to specify an absolute path to either a template or a view:
+
+
+
+
when:"A gson view is rendered"
+def result = render(template: "/path/to/template", model:[age:10])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
If you are writing a unit test, and the model involves a domain class, you may need to add the domain class to the mappingContext
object in order for it to be rendered correctly:
+
+
+
+
when:"A gson view is rendered for a domain class"
+mappingContext.addPersistentEntity(MyDomain)
+def result = render(template: "/path/to/template", model:[myDomain:MyDomain])
+
+then:"The json is correct"
+result.json.name == 'Fred'
+result.json.age == 10
+
+
+
+
+
+
+
+
+
+Links generated by json views in a unit test may not match what they would normally generate in the standard environment. To fully test links, use a functional test.
+
+
+
+
+
+
+
+
New Testing Framework
+
+
+
Since the release of json views, a new testing framework was released for Grails. A new trait has been developed that works with the new testing framework that is designed to replace the existing trait. The existing trait will be left as is for backwards compatibility.
+
+
+
The new trait works exactly the same way as the old one, however since the new trait is designed to work with the new framework, there are several benefits you can take advantage of. The first is configuration. In the old trait the application configuration was not included in the template engine, which had the potential to produce incorrect results. Other benefits include extensibility and features like @OnceBefore
.
+
+
+
To get started, add the org.grails:views-json-testing-support:{version}
dependency to your project and implement the JsonViewUnitTest trait in your test instead of JsonViewTest
.
+
+
+
+
+
+
+
+
+The new testing trait, like the testing framework, requires Spock.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/json/viewApi.html b/3.2.3/json/viewApi.html
new file mode 100644
index 000000000..2d412f5be
--- /dev/null
+++ b/3.2.3/json/viewApi.html
@@ -0,0 +1,670 @@
+
+
+
+
+
+
+
+JSON View API
+
+
+
+
+
+
+
+
+
+
+
+
The JsonViewTemplate
superclass implements the JsonView trait which in turn extends the the GrailsView trait.
+
+
+
Thanks to these traits several methods and properties are available to JSON views that can be used to accomplish different tasks.
+
+
+
+
+
Creating Links
+
+
+
Links can be generated using the g.link(..)
method:
+
+
+
+
json.person {
+ name "bob"
+ homepage g.link(controller:"person", id:"bob")
+}
+
+
+
+
The g.link
method is similar to the equivalent tag in GSP and allows you to easily create links to other controllers.
+
+
+
+
+
+
+
+
To customize content types and headers use the response
object defined by the HttpView trait:
+
+
+
+
response.contentType "application/hal+json"
+response.header "Token", "foo"
+json.person {
+ name "bob"
+}
+
+
+
+
The HttpView
trait defines a variety of methods for inspecting the request and altering the response.
+
+
+
+
+
+
+
+
+The methods available are only a subset of the methods available via the HttpServletRequest
and HttpServletResponse
objects, this is by design as view logic should be limited and logic performed in the controller instead.
+
+
+
+
+
+
+
+
Accessing the Request
+
+
+
Various aspects of the request can be accessed by the request
object defined by the HttpView trait:
+
+
+
+
json.person {
+ name "bob"
+ userAgent request.getHeader('User-Agent')
+}
+
+
+
+
Parameters can be accessed via the params
object which is an instance of Parameters :
+
+
+
+
json.person {
+ name "bob"
+ first params.int('offset', 0)
+ sort params.get('sort', 'name')
+}
+
+
+
+
+
+
Default Static Imports
+
+
+
The following classes' static properties are imported by default:
+
+
+
+
+org.springframework.http.HttpStatus
+
+
+org.springframework.http.HttpMethod
+
+
+grails.web.http.HttpHeaders
+
+
+
+
+
This means that you can use the response
object to set the status using these constants, instead of hard coded numbers:
+
+
+
+
response.status NOT_FOUND
+
+
+
+
Or generate links using the appropriate HTTP method:
+
+
+
+
g.link(resource:"books", method:POST)
+
+
+
+
+
+
I18n & Locale Integration
+
+
+
You can lookup i18n messages use the g.message
method:
+
+
+
+
json.error {
+ description g.message(code:'default.error.message')
+}
+
+
+
+
You can also create locale specific views by appending the locale to view name. For example person_de.gson
for German or person.gson
for the default.
+
+
+
+
+
+
+
+
+For more complex message lookups the messageSource
property is an instance of the Spring MessageSource class.
+
+
+
+
+
+
+
+
Accessing Configuration
+
+
+
The application configuration is injected automatically into your json views. To access it, simply reference config
.
+
+
+
+
json {
+ foo config.getProperty("bar", String, null)
+}
+
+
+
+
+
+
Miscellaneous Properties
+
+
+
Other properties are also available:
+
+
+
+
+
+
+
+
+controllerName
+The name of the current controller
+
+
+actionName
+The name of the current controller action
+
+
+controllerNamespace
+The namespace of the current controller
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/markup/configuration.html b/3.2.3/markup/configuration.html
new file mode 100644
index 000000000..8b3c439a8
--- /dev/null
+++ b/3.2.3/markup/configuration.html
@@ -0,0 +1,476 @@
+
+
+
+
+
+
+
+Configuration
+
+
+
+
+
+
+
+
+
+
+
+
grails:
+ views:
+ markup:
+ compileStatic: true
+ cacheTemplates: true
+ autoIndent: true
+ ...
+
+
+
+
Alternatively you can register a new MarkupViewConfiguration
bean using the bean name markupViewConfiguration
in grails-app/conf/spring/resources.groovy
.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/markup/index.html b/3.2.3/markup/index.html
new file mode 100644
index 000000000..c42df883e
--- /dev/null
+++ b/3.2.3/markup/index.html
@@ -0,0 +1,613 @@
+
+
+
+
+
+
+
+Markup Views
+
+
+
+
+
+
+
+
+
Introduction
+
+
+
Markup Views are written in Groovy, end with the file extension gml
and reside in the grails-app/views
directory.
+
+
+
+
+
+
model {
+ Iterable<Map> cars
+}
+xmlDeclaration()
+cars {
+ cars.each {
+ car(make: it.make, model: it.model)
+ }
+}
+
+
+
+
This produces the following output given a model such as [cars:[[make:"Audi", model:"A5"]]]
:
+
+
+
+
<?xml version='1.0'?>
+<cars><car make='Audi' model='A5'/></cars>
+
+
+
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
+
+
Installation
+
+
+
To activate Markup views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-markup:3.2.3"
+
+
+
+
To enable Gradle compilation of Markup views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-markup
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-markup"
+
+
+
+
This will add a compileMarkupViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
+
Markup View API
+
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
Much of the API is shared between JSON and Markup views. However, one difference compared to JSON views is that you must use this
as a prefix when refering to properties from the parent class. For example to generate links this will produce a compilation error:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: g.link(controller:'car'))
+ }
+}
+
+
+
+
However, the following works fine:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: this.g.link(controller:'car'))
+ }
+}
+
+
+
+
Notice the this
prefix when refering to this.g.link(..)
.
+
+
+
+
+
Configuration
+
+
+
+
+
+
grails:
+ views:
+ markup:
+ compileStatic: true
+ cacheTemplates: true
+ autoIndent: true
+ ...
+
+
+
+
Alternatively you can register a new MarkupViewConfiguration
bean using the bean name markupViewConfiguration
in grails-app/conf/spring/resources.groovy
.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/markup/installation.html b/3.2.3/markup/installation.html
new file mode 100644
index 000000000..5d9201751
--- /dev/null
+++ b/3.2.3/markup/installation.html
@@ -0,0 +1,491 @@
+
+
+
+
+
+
+
+Installation
+
+
+
+
+
+
+
+
+
To activate Markup views, add the following dependency to the dependencies
block of your build.gradle
:
+
+
+
+
compile "org.grails.plugins:views-markup:3.2.3"
+
+
+
+
To enable Gradle compilation of Markup views for production environment add the following to the buildscript
dependencies
block:
+
+
+
+
buildscript {
+ ...
+ dependencies {
+ ...
+ classpath "org.grails.plugins:views-gradle:3.2.3"
+ }
+}
+
+
+
+
Then apply the org.grails.plugins.views-markup
Gradle plugin after any Grails core gradle plugins:
+
+
+
+
...
+apply plugin: "org.grails.grails-web"
+apply plugin: "org.grails.plugins.views-markup"
+
+
+
+
This will add a compileMarkupViews
task to Gradle that is executed when producing a JAR or WAR file.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/markup/introduction.html b/3.2.3/markup/introduction.html
new file mode 100644
index 000000000..815f11c08
--- /dev/null
+++ b/3.2.3/markup/introduction.html
@@ -0,0 +1,496 @@
+
+
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
Markup Views are written in Groovy, end with the file extension gml
and reside in the grails-app/views
directory.
+
+
+
+
+
+
model {
+ Iterable<Map> cars
+}
+xmlDeclaration()
+cars {
+ cars.each {
+ car(make: it.make, model: it.model)
+ }
+}
+
+
+
+
This produces the following output given a model such as [cars:[[make:"Audi", model:"A5"]]]
:
+
+
+
+
<?xml version='1.0'?>
+<cars><car make='Audi' model='A5'/></cars>
+
+
+
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.3/markup/viewApi.html b/3.2.3/markup/viewApi.html
new file mode 100644
index 000000000..020070b18
--- /dev/null
+++ b/3.2.3/markup/viewApi.html
@@ -0,0 +1,489 @@
+
+
+
+
+
+
+
+Markup View API
+
+
+
+
+
+
+
+
+
+
The MarkupViewTemplate
superclass implements the MarkupView trait which in turn extends the the GrailsView trait.
+
+
+
Much of the API is shared between JSON and Markup views. However, one difference compared to JSON views is that you must use this
as a prefix when refering to properties from the parent class. For example to generate links this will produce a compilation error:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: g.link(controller:'car'))
+ }
+}
+
+
+
+
However, the following works fine:
+
+
+
+
cars {
+ cars.each {
+ car(make: it.make, href: this.g.link(controller:'car'))
+ }
+}
+
+
+
+
Notice the this
prefix when refering to this.g.link(..)
.
+
+
+
+
+
\ No newline at end of file
diff --git a/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html b/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html
index 07f468f61..b14026704 100644
--- a/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html
+++ b/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.ClosureConverter.html
@@ -27,7 +27,7 @@
- DefaultJsonGenerator.ClosureConverter (Grails Views 3.2.2)
+ DefaultJsonGenerator.ClosureConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.html b/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.html
index 7477e55b7..aa9336b75 100644
--- a/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.html
+++ b/3.2.x/api/grails/plugin/json/builder/DefaultJsonGenerator.html
@@ -27,7 +27,7 @@
- DefaultJsonGenerator (Grails Views 3.2.2)
+ DefaultJsonGenerator (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Converter.html b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Converter.html
index 8e9a9feff..7aa02c754 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Converter.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Converter.html
@@ -27,7 +27,7 @@
- JsonGenerator.Converter (Grails Views 3.2.2)
+ JsonGenerator.Converter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Options.html b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Options.html
index 180273715..d3117919b 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Options.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.Options.html
@@ -27,7 +27,7 @@
- JsonGenerator.Options (Grails Views 3.2.2)
+ JsonGenerator.Options (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.html b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.html
index 0f5bee450..75825e023 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonGenerator.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonGenerator.html
@@ -27,7 +27,7 @@
- JsonGenerator (Grails Views 3.2.2)
+ JsonGenerator (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html b/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html
index eba20079a..ff621459e 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonUnescaped.html
@@ -27,7 +27,7 @@
- JsonOutput.JsonUnescaped (Grails Views 3.2.2)
+ JsonOutput.JsonUnescaped (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html b/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html
index 0b96e82a0..7f49ca533 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonOutput.JsonWritable.html
@@ -27,7 +27,7 @@
- JsonOutput.JsonWritable (Grails Views 3.2.2)
+ JsonOutput.JsonWritable (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/JsonOutput.html b/3.2.x/api/grails/plugin/json/builder/JsonOutput.html
index 445872efd..d1e9c805e 100644
--- a/3.2.x/api/grails/plugin/json/builder/JsonOutput.html
+++ b/3.2.x/api/grails/plugin/json/builder/JsonOutput.html
@@ -27,7 +27,7 @@
- JsonOutput (Grails Views 3.2.2)
+ JsonOutput (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html
index 50068fcac..e8c96a51c 100644
--- a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html
+++ b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.StreamingJsonDelegate.html
@@ -27,7 +27,7 @@
- StreamingJsonBuilder.StreamingJsonDelegate (Grails Views 3.2.2)
+ StreamingJsonBuilder.StreamingJsonDelegate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.html b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.html
index 19797ef18..0995ea7f9 100644
--- a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.html
+++ b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder.html
@@ -27,7 +27,7 @@
- StreamingJsonBuilder (Grails Views 3.2.2)
+ StreamingJsonBuilder (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html
index 3808d2d48..49e75ccf1 100644
--- a/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html
+++ b/3.2.x/api/grails/plugin/json/builder/StreamingJsonBuilder/StreamingJsonDelegate.State.html
@@ -27,7 +27,7 @@
- StreamingJsonBuilder.StreamingJsonDelegate.State (Grails Views 3.2.2)
+ StreamingJsonBuilder.StreamingJsonDelegate.State (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/InstantJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/InstantJsonConverter.html
index ff89f77b9..5b567a4ac 100644
--- a/3.2.x/api/grails/plugin/json/converters/InstantJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/InstantJsonConverter.html
@@ -27,7 +27,7 @@
- InstantJsonConverter (Grails Views 3.2.2)
+ InstantJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/LocalDateJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/LocalDateJsonConverter.html
index 2e7079a8e..5c1048a58 100644
--- a/3.2.x/api/grails/plugin/json/converters/LocalDateJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/LocalDateJsonConverter.html
@@ -27,7 +27,7 @@
- LocalDateJsonConverter (Grails Views 3.2.2)
+ LocalDateJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html
index efed81220..c198f304f 100644
--- a/3.2.x/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/LocalDateTimeJsonConverter.html
@@ -27,7 +27,7 @@
- LocalDateTimeJsonConverter (Grails Views 3.2.2)
+ LocalDateTimeJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/LocalTimeJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/LocalTimeJsonConverter.html
index eee297a43..6be42b3e9 100644
--- a/3.2.x/api/grails/plugin/json/converters/LocalTimeJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/LocalTimeJsonConverter.html
@@ -27,7 +27,7 @@
- LocalTimeJsonConverter (Grails Views 3.2.2)
+ LocalTimeJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html
index 86071d6ef..fa9728cc4 100644
--- a/3.2.x/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/OffsetDateTimeJsonConverter.html
@@ -27,7 +27,7 @@
- OffsetDateTimeJsonConverter (Grails Views 3.2.2)
+ OffsetDateTimeJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html
index 9c90de5f3..75b68ef64 100644
--- a/3.2.x/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/OffsetTimeJsonConverter.html
@@ -27,7 +27,7 @@
- OffsetTimeJsonConverter (Grails Views 3.2.2)
+ OffsetTimeJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/PeriodJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/PeriodJsonConverter.html
index 77021de75..8c5e9a090 100644
--- a/3.2.x/api/grails/plugin/json/converters/PeriodJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/PeriodJsonConverter.html
@@ -27,7 +27,7 @@
- PeriodJsonConverter (Grails Views 3.2.2)
+ PeriodJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html b/3.2.x/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html
index 482f87ed8..199c461ec 100644
--- a/3.2.x/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html
+++ b/3.2.x/api/grails/plugin/json/converters/ZonedDateTimeJsonConverter.html
@@ -27,7 +27,7 @@
- ZonedDateTimeJsonConverter (Grails Views 3.2.2)
+ ZonedDateTimeJsonConverter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html b/3.2.x/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html
index ed3d4123e..07f13fcf5 100644
--- a/3.2.x/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html
+++ b/3.2.x/api/grails/plugin/json/renderer/AbstractJsonViewContainerRenderer.html
@@ -27,7 +27,7 @@
- AbstractJsonViewContainerRenderer (Grails Views 3.2.2)
+ AbstractJsonViewContainerRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html b/3.2.x/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html
index 7ff28fe34..7b8bc7b8a 100644
--- a/3.2.x/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html
+++ b/3.2.x/api/grails/plugin/json/renderer/ErrorsJsonViewRenderer.html
@@ -27,7 +27,7 @@
- ErrorsJsonViewRenderer (Grails Views 3.2.2)
+ ErrorsJsonViewRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html b/3.2.x/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html
index 97a81fd50..c114b4f84 100644
--- a/3.2.x/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html
+++ b/3.2.x/api/grails/plugin/json/renderer/JsonViewJsonRenderer.html
@@ -27,7 +27,7 @@
- JsonViewJsonRenderer (Grails Views 3.2.2)
+ JsonViewJsonRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewCompiler.html b/3.2.x/api/grails/plugin/json/view/JsonViewCompiler.html
index 2f61a356e..c0a41f13c 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewCompiler.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewCompiler.html
@@ -27,7 +27,7 @@
- JsonViewCompiler (Grails Views 3.2.2)
+ JsonViewCompiler (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewConfiguration.html b/3.2.x/api/grails/plugin/json/view/JsonViewConfiguration.html
index baf633b8a..72ca6fca3 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewConfiguration.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewConfiguration.html
@@ -27,7 +27,7 @@
- JsonViewConfiguration (Grails Views 3.2.2)
+ JsonViewConfiguration (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html b/3.2.x/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html
index 6640b9fc6..0a6cc46d2 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewGeneratorConfiguration.html
@@ -27,7 +27,7 @@
- JsonViewGeneratorConfiguration (Grails Views 3.2.2)
+ JsonViewGeneratorConfiguration (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewGrailsPlugin.html b/3.2.x/api/grails/plugin/json/view/JsonViewGrailsPlugin.html
index b65d15513..bbbb972af 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewGrailsPlugin.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewGrailsPlugin.html
@@ -27,7 +27,7 @@
- JsonViewGrailsPlugin (Grails Views 3.2.2)
+ JsonViewGrailsPlugin (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewTemplateEngine.html b/3.2.x/api/grails/plugin/json/view/JsonViewTemplateEngine.html
index 9588c9d73..44324be46 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewTemplateEngine.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewTemplateEngine.html
@@ -27,7 +27,7 @@
- JsonViewTemplateEngine (Grails Views 3.2.2)
+ JsonViewTemplateEngine (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/JsonViewWritableScript.html b/3.2.x/api/grails/plugin/json/view/JsonViewWritableScript.html
index 166b17597..587abe0f1 100644
--- a/3.2.x/api/grails/plugin/json/view/JsonViewWritableScript.html
+++ b/3.2.x/api/grails/plugin/json/view/JsonViewWritableScript.html
@@ -27,7 +27,7 @@
- JsonViewWritableScript (Grails Views 3.2.2)
+ JsonViewWritableScript (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html
index ece115bb2..9188b8be8 100644
--- a/3.2.x/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/GrailsJsonViewHelper.html
@@ -27,7 +27,7 @@
- GrailsJsonViewHelper (Grails Views 3.2.2)
+ GrailsJsonViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/HalViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/HalViewHelper.html
index 0fbda5f68..2c03662a6 100644
--- a/3.2.x/api/grails/plugin/json/view/api/HalViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/HalViewHelper.html
@@ -27,7 +27,7 @@
- HalViewHelper (Grails Views 3.2.2)
+ HalViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/JsonApiViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/JsonApiViewHelper.html
index c6a52242f..9a958e9c5 100644
--- a/3.2.x/api/grails/plugin/json/view/api/JsonApiViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/JsonApiViewHelper.html
@@ -27,7 +27,7 @@
- JsonApiViewHelper (Grails Views 3.2.2)
+ JsonApiViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/JsonView.html b/3.2.x/api/grails/plugin/json/view/api/JsonView.html
index 2bdf286a8..18c7870da 100644
--- a/3.2.x/api/grails/plugin/json/view/api/JsonView.html
+++ b/3.2.x/api/grails/plugin/json/view/api/JsonView.html
@@ -27,7 +27,7 @@
- JsonView (Grails Views 3.2.2)
+ JsonView (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html
index 31354742b..89cb27f74 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.1.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.1 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html
index 6fdacfe77..cae176f78 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.2.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.2 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.2 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html
index 92dd95e8d..7d3fcc650 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.3.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.3 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.3 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html
index 5909fc6ce..3ee6a0a59 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.4.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.4 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.4 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html
index 7b01b0239..3ffe55bf9 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.5.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.5 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.5 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html
index fb07e8537..f779c8350 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.6.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper.6 (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper.6 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html
index 292fe0a96..51b4230db 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultGrailsJsonViewHelper.html
@@ -27,7 +27,7 @@
- DefaultGrailsJsonViewHelper (Grails Views 3.2.2)
+ DefaultGrailsJsonViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html
index b757d4ebd..746c4b4d7 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.1.html
@@ -27,7 +27,7 @@
- DefaultHalViewHelper.1 (Grails Views 3.2.2)
+ DefaultHalViewHelper.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html
index 3704e2a8f..3ff08d67f 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.HalStreamingJsonDelegate.html
@@ -27,7 +27,7 @@
- DefaultHalViewHelper.HalStreamingJsonDelegate (Grails Views 3.2.2)
+ DefaultHalViewHelper.HalStreamingJsonDelegate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html
index d97c4c499..5c92f3297 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultHalViewHelper.html
@@ -27,7 +27,7 @@
- DefaultHalViewHelper (Grails Views 3.2.2)
+ DefaultHalViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html
index dc699cc2b..8ea6606c6 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.1.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.1 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html
index ab063f67b..e7ea7afa7 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.2.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.2 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.2 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html
index 5dc4486d8..4c5737df2 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.3.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.3 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.3 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html
index 22a5ed47c..b35de42e3 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.4.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.4 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.4 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html
index d617419fb..38fa7ac24 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.5.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.5 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.5 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html
index 567094f56..13dcff63d 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.6.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.6 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.6 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html
index 470966509..45b822e62 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.7.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper.7 (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper.7 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html
index 0e28b7bf6..edee6a4d9 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonApiViewHelper.html
@@ -27,7 +27,7 @@
- DefaultJsonApiViewHelper (Grails Views 3.2.2)
+ DefaultJsonApiViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html
index 7857b73e0..e61a06685 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.1.html
@@ -27,7 +27,7 @@
- DefaultJsonViewHelper.1 (Grails Views 3.2.2)
+ DefaultJsonViewHelper.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html
index 3023a44fa..f2e602f3d 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewHelper.html
@@ -27,7 +27,7 @@
- DefaultJsonViewHelper (Grails Views 3.2.2)
+ DefaultJsonViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html
index fcf9e8ac8..e93b51440 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/DefaultJsonViewIncludeExcludeSupport.html
@@ -27,7 +27,7 @@
- DefaultJsonViewIncludeExcludeSupport (Grails Views 3.2.2)
+ DefaultJsonViewIncludeExcludeSupport (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/ParentInfo.html b/3.2.x/api/grails/plugin/json/view/api/internal/ParentInfo.html
index 87672d872..aadb535df 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/ParentInfo.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/ParentInfo.html
@@ -27,7 +27,7 @@
- ParentInfo (Grails Views 3.2.2)
+ ParentInfo (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/internal/TemplateRenderer.html b/3.2.x/api/grails/plugin/json/view/api/internal/TemplateRenderer.html
index 5a48d82c9..bac3d6e60 100644
--- a/3.2.x/api/grails/plugin/json/view/api/internal/TemplateRenderer.html
+++ b/3.2.x/api/grails/plugin/json/view/api/internal/TemplateRenderer.html
@@ -27,7 +27,7 @@
- TemplateRenderer (Grails Views 3.2.2)
+ TemplateRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html b/3.2.x/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html
index 52e23c1d1..a45342530 100644
--- a/3.2.x/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html
+++ b/3.2.x/api/grails/plugin/json/view/api/jsonapi/DefaultJsonApiIdRenderer.html
@@ -27,7 +27,7 @@
- DefaultJsonApiIdRenderer (Grails Views 3.2.2)
+ DefaultJsonApiIdRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html b/3.2.x/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html
index 2c228c3fb..dbc3b9304 100644
--- a/3.2.x/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html
+++ b/3.2.x/api/grails/plugin/json/view/api/jsonapi/JsonApiIdRenderStrategy.html
@@ -27,7 +27,7 @@
- JsonApiIdRenderStrategy (Grails Views 3.2.2)
+ JsonApiIdRenderStrategy (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html b/3.2.x/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html
index 3543d453e..a572ab3c7 100644
--- a/3.2.x/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html
+++ b/3.2.x/api/grails/plugin/json/view/internal/JsonTemplateTypeCheckingExtension.html
@@ -27,7 +27,7 @@
- JsonTemplateTypeCheckingExtension (Grails Views 3.2.2)
+ JsonTemplateTypeCheckingExtension (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/internal/JsonViewsTransform.html b/3.2.x/api/grails/plugin/json/view/internal/JsonViewsTransform.html
index ec2daabbf..544663945 100644
--- a/3.2.x/api/grails/plugin/json/view/internal/JsonViewsTransform.html
+++ b/3.2.x/api/grails/plugin/json/view/internal/JsonViewsTransform.html
@@ -27,7 +27,7 @@
- JsonViewsTransform (Grails Views 3.2.2)
+ JsonViewsTransform (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/mvc/JsonViewResolver.html b/3.2.x/api/grails/plugin/json/view/mvc/JsonViewResolver.html
index 47cf838fb..d17eac2a0 100644
--- a/3.2.x/api/grails/plugin/json/view/mvc/JsonViewResolver.html
+++ b/3.2.x/api/grails/plugin/json/view/mvc/JsonViewResolver.html
@@ -27,7 +27,7 @@
- JsonViewResolver (Grails Views 3.2.2)
+ JsonViewResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/template/JsonViewTemplate.html b/3.2.x/api/grails/plugin/json/view/template/JsonViewTemplate.html
index 88ca9b4f7..0b08542af 100644
--- a/3.2.x/api/grails/plugin/json/view/template/JsonViewTemplate.html
+++ b/3.2.x/api/grails/plugin/json/view/template/JsonViewTemplate.html
@@ -27,7 +27,7 @@
- JsonViewTemplate (Grails Views 3.2.2)
+ JsonViewTemplate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/test/JsonRenderResult.html b/3.2.x/api/grails/plugin/json/view/test/JsonRenderResult.html
index a5258e92c..b423649af 100644
--- a/3.2.x/api/grails/plugin/json/view/test/JsonRenderResult.html
+++ b/3.2.x/api/grails/plugin/json/view/test/JsonRenderResult.html
@@ -27,7 +27,7 @@
- JsonRenderResult (Grails Views 3.2.2)
+ JsonRenderResult (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html b/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html
index 603dfaa4a..78ee7881a 100644
--- a/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html
+++ b/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.TestHttpResponse.html
@@ -27,7 +27,7 @@
- JsonViewTest.TestHttpResponse (Grails Views 3.2.2)
+ JsonViewTest.TestHttpResponse (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.html b/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.html
index 4d375d7a7..7eb32c0d3 100644
--- a/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.html
+++ b/3.2.x/api/grails/plugin/json/view/test/JsonViewTest.html
@@ -27,7 +27,7 @@
- JsonViewTest (Grails Views 3.2.2)
+ JsonViewTest (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/test/TestLinkGenerator.html b/3.2.x/api/grails/plugin/json/view/test/TestLinkGenerator.html
index 982f0cc68..65fc3d7be 100644
--- a/3.2.x/api/grails/plugin/json/view/test/TestLinkGenerator.html
+++ b/3.2.x/api/grails/plugin/json/view/test/TestLinkGenerator.html
@@ -27,7 +27,7 @@
- TestLinkGenerator (Grails Views 3.2.2)
+ TestLinkGenerator (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/json/view/test/TestRequestConfigurer.html b/3.2.x/api/grails/plugin/json/view/test/TestRequestConfigurer.html
index d899a0f55..22362f34d 100644
--- a/3.2.x/api/grails/plugin/json/view/test/TestRequestConfigurer.html
+++ b/3.2.x/api/grails/plugin/json/view/test/TestRequestConfigurer.html
@@ -27,7 +27,7 @@
- TestRequestConfigurer (Grails Views 3.2.2)
+ TestRequestConfigurer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewCompiler.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewCompiler.html
index 95fb0ea89..6256ff3d8 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewCompiler.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewCompiler.html
@@ -27,7 +27,7 @@
- MarkupViewCompiler (Grails Views 3.2.2)
+ MarkupViewCompiler (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewConfiguration.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewConfiguration.html
index 7ca998794..d08c95333 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewConfiguration.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewConfiguration.html
@@ -27,7 +27,7 @@
- MarkupViewConfiguration (Grails Views 3.2.2)
+ MarkupViewConfiguration (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html
index 7bdcdff52..511124512 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewGrailsPlugin.html
@@ -27,7 +27,7 @@
- MarkupViewGrailsPlugin (Grails Views 3.2.2)
+ MarkupViewGrailsPlugin (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplate.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplate.html
index 7d0969267..4d0655e08 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplate.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplate.html
@@ -27,7 +27,7 @@
- MarkupViewTemplate (Grails Views 3.2.2)
+ MarkupViewTemplate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
@@ -263,7 +263,7 @@ Inherited Methods Summary
class groovy.text.markup.BaseTemplate
- groovy.text.markup.BaseTemplate#getModel(), groovy.text.markup.BaseTemplate#methodMissing(java.lang.String, java.lang.Object), groovy.text.markup.BaseTemplate#getOut(), groovy.text.markup.BaseTemplate#contents(groovy.lang.Closure), groovy.text.markup.BaseTemplate#pi(java.util.Map), groovy.text.markup.BaseTemplate#writeTo(java.io.Writer), groovy.text.markup.BaseTemplate#yieldUnescaped(java.lang.Object), groovy.text.markup.BaseTemplate#stringOf(groovy.lang.Closure), groovy.text.markup.BaseTemplate#xmlDeclaration(), groovy.text.markup.BaseTemplate#includeGroovy(java.lang.String), groovy.text.markup.BaseTemplate#includeEscaped(java.lang.String), groovy.text.markup.BaseTemplate#includeUnescaped(java.lang.String), groovy.text.markup.BaseTemplate#tryEscape(java.lang.Object), groovy.text.markup.BaseTemplate#fragment(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String, boolean), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#run(), groovy.text.markup.BaseTemplate#toString(), groovy.text.markup.BaseTemplate#yield(java.lang.Object), groovy.text.markup.BaseTemplate#comment(java.lang.Object), groovy.text.markup.BaseTemplate#newLine(), groovy.text.markup.BaseTemplate#wait(long), groovy.text.markup.BaseTemplate#wait(long, int), groovy.text.markup.BaseTemplate#wait(), groovy.text.markup.BaseTemplate#equals(java.lang.Object), groovy.text.markup.BaseTemplate#hashCode(), groovy.text.markup.BaseTemplate#getClass(), groovy.text.markup.BaseTemplate#notify(), groovy.text.markup.BaseTemplate#notifyAll()
+ groovy.text.markup.BaseTemplate#getModel(), groovy.text.markup.BaseTemplate#methodMissing(java.lang.String, java.lang.Object), groovy.text.markup.BaseTemplate#getOut(), groovy.text.markup.BaseTemplate#contents(groovy.lang.Closure), groovy.text.markup.BaseTemplate#fragment(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#writeTo(java.io.Writer), groovy.text.markup.BaseTemplate#pi(java.util.Map), groovy.text.markup.BaseTemplate#yieldUnescaped(java.lang.Object), groovy.text.markup.BaseTemplate#stringOf(groovy.lang.Closure), groovy.text.markup.BaseTemplate#xmlDeclaration(), groovy.text.markup.BaseTemplate#includeGroovy(java.lang.String), groovy.text.markup.BaseTemplate#includeEscaped(java.lang.String), groovy.text.markup.BaseTemplate#includeUnescaped(java.lang.String), groovy.text.markup.BaseTemplate#tryEscape(java.lang.Object), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String, boolean), groovy.text.markup.BaseTemplate#layout(java.util.Map, java.lang.String), groovy.text.markup.BaseTemplate#run(), groovy.text.markup.BaseTemplate#toString(), groovy.text.markup.BaseTemplate#yield(java.lang.Object), groovy.text.markup.BaseTemplate#comment(java.lang.Object), groovy.text.markup.BaseTemplate#newLine(), groovy.text.markup.BaseTemplate#wait(long), groovy.text.markup.BaseTemplate#wait(long, int), groovy.text.markup.BaseTemplate#wait(), groovy.text.markup.BaseTemplate#equals(java.lang.Object), groovy.text.markup.BaseTemplate#hashCode(), groovy.text.markup.BaseTemplate#getClass(), groovy.text.markup.BaseTemplate#notify(), groovy.text.markup.BaseTemplate#notifyAll()
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html
index 072c8aede..9afc6bd20 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.1.html
@@ -27,7 +27,7 @@
- MarkupViewTemplateEngine.1 (Grails Views 3.2.2)
+ MarkupViewTemplateEngine.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html
index 1b173991c..b142714b8 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewTemplateEngine.html
@@ -27,7 +27,7 @@
- MarkupViewTemplateEngine (Grails Views 3.2.2)
+ MarkupViewTemplateEngine (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html b/3.2.x/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html
index 8f36271d4..a994981f8 100644
--- a/3.2.x/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html
+++ b/3.2.x/api/grails/plugin/markup/view/MarkupViewWritableScriptTemplate.html
@@ -27,7 +27,7 @@
- MarkupViewWritableScriptTemplate (Grails Views 3.2.2)
+ MarkupViewWritableScriptTemplate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/api/MarkupView.html b/3.2.x/api/grails/plugin/markup/view/api/MarkupView.html
index b4b9def09..fde341470 100644
--- a/3.2.x/api/grails/plugin/markup/view/api/MarkupView.html
+++ b/3.2.x/api/grails/plugin/markup/view/api/MarkupView.html
@@ -27,7 +27,7 @@
- MarkupView (Grails Views 3.2.2)
+ MarkupView (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html b/3.2.x/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html
index 22139936c..fed148da1 100644
--- a/3.2.x/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html
+++ b/3.2.x/api/grails/plugin/markup/view/internal/MarkupViewsTransform.html
@@ -27,7 +27,7 @@
- MarkupViewsTransform (Grails Views 3.2.2)
+ MarkupViewsTransform (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html b/3.2.x/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html
index 331b992e0..45cc6f6ea 100644
--- a/3.2.x/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html
+++ b/3.2.x/api/grails/plugin/markup/view/mvc/MarkupViewResolver.html
@@ -27,7 +27,7 @@
- MarkupViewResolver (Grails Views 3.2.2)
+ MarkupViewResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html b/3.2.x/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html
index b7d3aa5a0..7a4a918aa 100644
--- a/3.2.x/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html
+++ b/3.2.x/api/grails/plugin/markup/view/renderer/MarkupViewXmlRenderer.html
@@ -27,7 +27,7 @@
- MarkupViewXmlRenderer (Grails Views 3.2.2)
+ MarkupViewXmlRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/AbstractGroovyTemplateCompiler.html b/3.2.x/api/grails/views/AbstractGroovyTemplateCompiler.html
index 77f1099ce..ea7c594a4 100644
--- a/3.2.x/api/grails/views/AbstractGroovyTemplateCompiler.html
+++ b/3.2.x/api/grails/views/AbstractGroovyTemplateCompiler.html
@@ -27,7 +27,7 @@
- AbstractGroovyTemplateCompiler (Grails Views 3.2.2)
+ AbstractGroovyTemplateCompiler (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/AbstractWritableScript.html b/3.2.x/api/grails/views/AbstractWritableScript.html
index c328c3364..f8fca395a 100644
--- a/3.2.x/api/grails/views/AbstractWritableScript.html
+++ b/3.2.x/api/grails/views/AbstractWritableScript.html
@@ -27,7 +27,7 @@
- AbstractWritableScript (Grails Views 3.2.2)
+ AbstractWritableScript (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/GenericViewConfiguration.html b/3.2.x/api/grails/views/GenericViewConfiguration.html
index 33e2c0b2e..b3f197383 100644
--- a/3.2.x/api/grails/views/GenericViewConfiguration.html
+++ b/3.2.x/api/grails/views/GenericViewConfiguration.html
@@ -27,7 +27,7 @@
- GenericViewConfiguration (Grails Views 3.2.2)
+ GenericViewConfiguration (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/GrailsViewTemplate.html b/3.2.x/api/grails/views/GrailsViewTemplate.html
index 39f95f7f7..e86a2c68f 100644
--- a/3.2.x/api/grails/views/GrailsViewTemplate.html
+++ b/3.2.x/api/grails/views/GrailsViewTemplate.html
@@ -27,7 +27,7 @@
- GrailsViewTemplate (Grails Views 3.2.2)
+ GrailsViewTemplate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.1.html b/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.1.html
index eb15ff8ca..3f3b4bb0e 100644
--- a/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.1.html
+++ b/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.1.html
@@ -27,7 +27,7 @@
- ResolvableGroovyTemplateEngine.1 (Grails Views 3.2.2)
+ ResolvableGroovyTemplateEngine.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.html b/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.html
index 41f414891..68d1d9082 100644
--- a/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.html
+++ b/3.2.x/api/grails/views/ResolvableGroovyTemplateEngine.html
@@ -27,7 +27,7 @@
- ResolvableGroovyTemplateEngine (Grails Views 3.2.2)
+ ResolvableGroovyTemplateEngine (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/TemplateResolver.html b/3.2.x/api/grails/views/TemplateResolver.html
index 0c6056415..c4f54c1ba 100644
--- a/3.2.x/api/grails/views/TemplateResolver.html
+++ b/3.2.x/api/grails/views/TemplateResolver.html
@@ -27,7 +27,7 @@
- TemplateResolver (Grails Views 3.2.2)
+ TemplateResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewCompilationException.html b/3.2.x/api/grails/views/ViewCompilationException.html
index 092ff9662..41f69a46f 100644
--- a/3.2.x/api/grails/views/ViewCompilationException.html
+++ b/3.2.x/api/grails/views/ViewCompilationException.html
@@ -27,7 +27,7 @@
- ViewCompilationException (Grails Views 3.2.2)
+ ViewCompilationException (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewConfiguration.html b/3.2.x/api/grails/views/ViewConfiguration.html
index 14069faad..9c247546b 100644
--- a/3.2.x/api/grails/views/ViewConfiguration.html
+++ b/3.2.x/api/grails/views/ViewConfiguration.html
@@ -27,7 +27,7 @@
- ViewConfiguration (Grails Views 3.2.2)
+ ViewConfiguration (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewException.html b/3.2.x/api/grails/views/ViewException.html
index d7d9e8119..bc19dd802 100644
--- a/3.2.x/api/grails/views/ViewException.html
+++ b/3.2.x/api/grails/views/ViewException.html
@@ -27,7 +27,7 @@
- ViewException (Grails Views 3.2.2)
+ ViewException (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewRenderException.html b/3.2.x/api/grails/views/ViewRenderException.html
index e9b083bf2..4ce5c3b99 100644
--- a/3.2.x/api/grails/views/ViewRenderException.html
+++ b/3.2.x/api/grails/views/ViewRenderException.html
@@ -27,7 +27,7 @@
- ViewRenderException (Grails Views 3.2.2)
+ ViewRenderException (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewUriResolver.html b/3.2.x/api/grails/views/ViewUriResolver.html
index a97389c03..192c3322e 100644
--- a/3.2.x/api/grails/views/ViewUriResolver.html
+++ b/3.2.x/api/grails/views/ViewUriResolver.html
@@ -27,7 +27,7 @@
- ViewUriResolver (Grails Views 3.2.2)
+ ViewUriResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/Views.html b/3.2.x/api/grails/views/Views.html
index 20f6ce6a0..c6f312d9c 100644
--- a/3.2.x/api/grails/views/Views.html
+++ b/3.2.x/api/grails/views/Views.html
@@ -27,7 +27,7 @@
- Views (Grails Views 3.2.2)
+ Views (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/ViewsEnvironment.html b/3.2.x/api/grails/views/ViewsEnvironment.html
index 2c5122b43..9681bdcb3 100644
--- a/3.2.x/api/grails/views/ViewsEnvironment.html
+++ b/3.2.x/api/grails/views/ViewsEnvironment.html
@@ -27,7 +27,7 @@
- ViewsEnvironment (Grails Views 3.2.2)
+ ViewsEnvironment (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WritableScript.html b/3.2.x/api/grails/views/WritableScript.html
index 7b9eca2b4..71e341735 100644
--- a/3.2.x/api/grails/views/WritableScript.html
+++ b/3.2.x/api/grails/views/WritableScript.html
@@ -27,7 +27,7 @@
- WritableScript (Grails Views 3.2.2)
+ WritableScript (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WritableScriptTemplate.FieldSetter.html b/3.2.x/api/grails/views/WritableScriptTemplate.FieldSetter.html
index fe5fcc0e2..6639d3ce0 100644
--- a/3.2.x/api/grails/views/WritableScriptTemplate.FieldSetter.html
+++ b/3.2.x/api/grails/views/WritableScriptTemplate.FieldSetter.html
@@ -27,7 +27,7 @@
- WritableScriptTemplate.FieldSetter (Grails Views 3.2.2)
+ WritableScriptTemplate.FieldSetter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WritableScriptTemplate.MethodSetter.html b/3.2.x/api/grails/views/WritableScriptTemplate.MethodSetter.html
index 179a0c1bb..818c2ccac 100644
--- a/3.2.x/api/grails/views/WritableScriptTemplate.MethodSetter.html
+++ b/3.2.x/api/grails/views/WritableScriptTemplate.MethodSetter.html
@@ -27,7 +27,7 @@
- WritableScriptTemplate.MethodSetter (Grails Views 3.2.2)
+ WritableScriptTemplate.MethodSetter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WritableScriptTemplate.VariableSetter.html b/3.2.x/api/grails/views/WritableScriptTemplate.VariableSetter.html
index 5d15e7ec1..66d5ffdc1 100644
--- a/3.2.x/api/grails/views/WritableScriptTemplate.VariableSetter.html
+++ b/3.2.x/api/grails/views/WritableScriptTemplate.VariableSetter.html
@@ -27,7 +27,7 @@
- WritableScriptTemplate.VariableSetter (Grails Views 3.2.2)
+ WritableScriptTemplate.VariableSetter (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WritableScriptTemplate.html b/3.2.x/api/grails/views/WritableScriptTemplate.html
index b2c63a76b..63a56ed76 100644
--- a/3.2.x/api/grails/views/WritableScriptTemplate.html
+++ b/3.2.x/api/grails/views/WritableScriptTemplate.html
@@ -27,7 +27,7 @@
- WritableScriptTemplate (Grails Views 3.2.2)
+ WritableScriptTemplate (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/WriterProvider.html b/3.2.x/api/grails/views/WriterProvider.html
index 179ec5bed..aa8372b7b 100644
--- a/3.2.x/api/grails/views/WriterProvider.html
+++ b/3.2.x/api/grails/views/WriterProvider.html
@@ -27,7 +27,7 @@
- WriterProvider (Grails Views 3.2.2)
+ WriterProvider (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/GrailsView.html b/3.2.x/api/grails/views/api/GrailsView.html
index 7286aa3a9..df71ec7ea 100644
--- a/3.2.x/api/grails/views/api/GrailsView.html
+++ b/3.2.x/api/grails/views/api/GrailsView.html
@@ -27,7 +27,7 @@
- GrailsView (Grails Views 3.2.2)
+ GrailsView (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/GrailsViewHelper.html b/3.2.x/api/grails/views/api/GrailsViewHelper.html
index ea8ba3fe4..8776b24d2 100644
--- a/3.2.x/api/grails/views/api/GrailsViewHelper.html
+++ b/3.2.x/api/grails/views/api/GrailsViewHelper.html
@@ -27,7 +27,7 @@
- GrailsViewHelper (Grails Views 3.2.2)
+ GrailsViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/HttpView.html b/3.2.x/api/grails/views/api/HttpView.html
index 47eb17e1c..8e1c95fe7 100644
--- a/3.2.x/api/grails/views/api/HttpView.html
+++ b/3.2.x/api/grails/views/api/HttpView.html
@@ -27,7 +27,7 @@
- HttpView (Grails Views 3.2.2)
+ HttpView (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/View.html b/3.2.x/api/grails/views/api/View.html
index c71b37cd0..d3be8ecbe 100644
--- a/3.2.x/api/grails/views/api/View.html
+++ b/3.2.x/api/grails/views/api/View.html
@@ -27,7 +27,7 @@
- View (Grails Views 3.2.2)
+ View (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/http/Parameters.html b/3.2.x/api/grails/views/api/http/Parameters.html
index 5f700dbba..2f816d5b0 100644
--- a/3.2.x/api/grails/views/api/http/Parameters.html
+++ b/3.2.x/api/grails/views/api/http/Parameters.html
@@ -27,7 +27,7 @@
- Parameters (Grails Views 3.2.2)
+ Parameters (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/http/Request.html b/3.2.x/api/grails/views/api/http/Request.html
index 9b0adec09..68064edb5 100644
--- a/3.2.x/api/grails/views/api/http/Request.html
+++ b/3.2.x/api/grails/views/api/http/Request.html
@@ -27,7 +27,7 @@
- Request (Grails Views 3.2.2)
+ Request (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/http/Response.html b/3.2.x/api/grails/views/api/http/Response.html
index 9bd9e9d57..ff80a202a 100644
--- a/3.2.x/api/grails/views/api/http/Response.html
+++ b/3.2.x/api/grails/views/api/http/Response.html
@@ -27,7 +27,7 @@
- Response (Grails Views 3.2.2)
+ Response (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/internal/DefaultGrailsViewHelper.html b/3.2.x/api/grails/views/api/internal/DefaultGrailsViewHelper.html
index 832c86e39..5792dad44 100644
--- a/3.2.x/api/grails/views/api/internal/DefaultGrailsViewHelper.html
+++ b/3.2.x/api/grails/views/api/internal/DefaultGrailsViewHelper.html
@@ -27,7 +27,7 @@
- DefaultGrailsViewHelper (Grails Views 3.2.2)
+ DefaultGrailsViewHelper (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/api/internal/EmptyParameters.html b/3.2.x/api/grails/views/api/internal/EmptyParameters.html
index fd70f633d..9f5d78d96 100644
--- a/3.2.x/api/grails/views/api/internal/EmptyParameters.html
+++ b/3.2.x/api/grails/views/api/internal/EmptyParameters.html
@@ -27,7 +27,7 @@
- EmptyParameters (Grails Views 3.2.2)
+ EmptyParameters (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html b/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html
index 54f5b0e64..9a5642808 100644
--- a/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html
+++ b/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.BuilderMethodReplacer.html
@@ -27,7 +27,7 @@
- BuilderTypeCheckingExtension.BuilderMethodReplacer (Grails Views 3.2.2)
+ BuilderTypeCheckingExtension.BuilderMethodReplacer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
@@ -253,7 +253,7 @@ Inherited Methods Summary
class org.codehaus.groovy.ast.ClassCodeExpressionTransformer
- org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#transform(org.codehaus.groovy.ast.expr.Expression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long, int), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#toString(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#hashCode(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#getClass(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notify(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notifyAll(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListOfExpressions(java.util.List)
+ org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#transform(org.codehaus.groovy.ast.expr.Expression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(long, int), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#wait(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#toString(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#hashCode(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#getClass(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notify(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#notifyAll(), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeExpressionTransformer#visitListOfExpressions(java.util.List)
diff --git a/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.html b/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.html
index e30c2e19f..0a0059435 100644
--- a/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.html
+++ b/3.2.x/api/grails/views/compiler/BuilderTypeCheckingExtension.html
@@ -27,7 +27,7 @@
- BuilderTypeCheckingExtension (Grails Views 3.2.2)
+ BuilderTypeCheckingExtension (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/compiler/HalCodeVisitorSupport.html b/3.2.x/api/grails/views/compiler/HalCodeVisitorSupport.html
index 091cf893e..0f56341e6 100644
--- a/3.2.x/api/grails/views/compiler/HalCodeVisitorSupport.html
+++ b/3.2.x/api/grails/views/compiler/HalCodeVisitorSupport.html
@@ -27,7 +27,7 @@
- HalCodeVisitorSupport (Grails Views 3.2.2)
+ HalCodeVisitorSupport (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
@@ -261,7 +261,7 @@ Inherited Methods Summary
class org.codehaus.groovy.ast.CodeVisitorSupport
- org.codehaus.groovy.ast.CodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.CodeVisitorSupport#wait(), org.codehaus.groovy.ast.CodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.CodeVisitorSupport#toString(), org.codehaus.groovy.ast.CodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.CodeVisitorSupport#getClass(), org.codehaus.groovy.ast.CodeVisitorSupport#notify(), org.codehaus.groovy.ast.CodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListOfExpressions(java.util.List)
+ org.codehaus.groovy.ast.CodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long), org.codehaus.groovy.ast.CodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.CodeVisitorSupport#wait(), org.codehaus.groovy.ast.CodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.CodeVisitorSupport#toString(), org.codehaus.groovy.ast.CodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.CodeVisitorSupport#getClass(), org.codehaus.groovy.ast.CodeVisitorSupport#notify(), org.codehaus.groovy.ast.CodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.CodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.CodeVisitorSupport#visitListOfExpressions(java.util.List)
diff --git a/3.2.x/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html b/3.2.x/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html
index bd69d2d2c..136d10420 100644
--- a/3.2.x/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html
+++ b/3.2.x/api/grails/views/compiler/ViewsTransform.ModelTypesVisitor.html
@@ -27,7 +27,7 @@
- ViewsTransform.ModelTypesVisitor (Grails Views 3.2.2)
+ ViewsTransform.ModelTypesVisitor (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
@@ -266,7 +266,7 @@ Inherited Methods Summary
class org.codehaus.groovy.ast.ClassCodeVisitorSupport
- org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeVisitorSupport#toString(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#getClass(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notify(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListOfExpressions(java.util.List)
+ org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#addError(java.lang.String, org.codehaus.groovy.ast.ASTNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyStatement(org.codehaus.groovy.ast.stmt.EmptyStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodReferenceExpression(org.codehaus.groovy.ast.expr.MethodReferenceExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeVisitorSupport#toString(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#getClass(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notify(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notifyAll(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitEmptyExpression(org.codehaus.groovy.ast.expr.EmptyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListOfExpressions(java.util.List)
diff --git a/3.2.x/api/grails/views/compiler/ViewsTransform.html b/3.2.x/api/grails/views/compiler/ViewsTransform.html
index 0d2907846..560ea70af 100644
--- a/3.2.x/api/grails/views/compiler/ViewsTransform.html
+++ b/3.2.x/api/grails/views/compiler/ViewsTransform.html
@@ -27,7 +27,7 @@
- ViewsTransform (Grails Views 3.2.2)
+ ViewsTransform (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html
index 18563a117..9f3935a3a 100644
--- a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html
+++ b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.1.html
@@ -27,7 +27,7 @@
- AbstractGroovyTemplateCompileTask.1 (Grails Views 3.2.2)
+ AbstractGroovyTemplateCompileTask.1 (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html
index 5ea435f13..d4364dbda 100644
--- a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html
+++ b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplateCompileTask.html
@@ -27,7 +27,7 @@
- AbstractGroovyTemplateCompileTask (Grails Views 3.2.2)
+ AbstractGroovyTemplateCompileTask (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html
index 15675e698..cd8df73c2 100644
--- a/3.2.x/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html
+++ b/3.2.x/api/grails/views/gradle/AbstractGroovyTemplatePlugin.html
@@ -27,7 +27,7 @@
- AbstractGroovyTemplatePlugin (Grails Views 3.2.2)
+ AbstractGroovyTemplatePlugin (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/ViewCompileOptions.html b/3.2.x/api/grails/views/gradle/ViewCompileOptions.html
index 61ace0e81..dcf45f44b 100644
--- a/3.2.x/api/grails/views/gradle/ViewCompileOptions.html
+++ b/3.2.x/api/grails/views/gradle/ViewCompileOptions.html
@@ -27,7 +27,7 @@
- ViewCompileOptions (Grails Views 3.2.2)
+ ViewCompileOptions (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html b/3.2.x/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html
index db4f55448..62dd340b4 100644
--- a/3.2.x/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html
+++ b/3.2.x/api/grails/views/gradle/json/GrailsJsonViewsPlugin.html
@@ -27,7 +27,7 @@
- GrailsJsonViewsPlugin (Grails Views 3.2.2)
+ GrailsJsonViewsPlugin (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/json/JsonViewCompilerTask.html b/3.2.x/api/grails/views/gradle/json/JsonViewCompilerTask.html
index ff05097a5..4d9519aab 100644
--- a/3.2.x/api/grails/views/gradle/json/JsonViewCompilerTask.html
+++ b/3.2.x/api/grails/views/gradle/json/JsonViewCompilerTask.html
@@ -27,7 +27,7 @@
- JsonViewCompilerTask (Grails Views 3.2.2)
+ JsonViewCompilerTask (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html b/3.2.x/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html
index f13aeb1ae..af495c533 100644
--- a/3.2.x/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html
+++ b/3.2.x/api/grails/views/gradle/markup/GrailsMarkupViewsPlugin.html
@@ -27,7 +27,7 @@
- GrailsMarkupViewsPlugin (Grails Views 3.2.2)
+ GrailsMarkupViewsPlugin (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/gradle/markup/MarkupViewCompilerTask.html b/3.2.x/api/grails/views/gradle/markup/MarkupViewCompilerTask.html
index e0dacd9bf..3c288d6ed 100644
--- a/3.2.x/api/grails/views/gradle/markup/MarkupViewCompilerTask.html
+++ b/3.2.x/api/grails/views/gradle/markup/MarkupViewCompilerTask.html
@@ -27,7 +27,7 @@
- MarkupViewCompilerTask (Grails Views 3.2.2)
+ MarkupViewCompilerTask (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html b/3.2.x/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html
index 58f8e55a1..1402d0101 100644
--- a/3.2.x/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html
+++ b/3.2.x/api/grails/views/json/test/JsonViewUnitTest.TestHttpResponse.html
@@ -27,7 +27,7 @@
- JsonViewUnitTest.TestHttpResponse (Grails Views 3.2.2)
+ JsonViewUnitTest.TestHttpResponse (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/json/test/JsonViewUnitTest.html b/3.2.x/api/grails/views/json/test/JsonViewUnitTest.html
index a3fad04c8..6ae6a184b 100644
--- a/3.2.x/api/grails/views/json/test/JsonViewUnitTest.html
+++ b/3.2.x/api/grails/views/json/test/JsonViewUnitTest.html
@@ -27,7 +27,7 @@
- JsonViewUnitTest (Grails Views 3.2.2)
+ JsonViewUnitTest (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html b/3.2.x/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html
index 3f6b95943..7eb6cc46a 100644
--- a/3.2.x/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html
+++ b/3.2.x/api/grails/views/json/test/spock/JsonViewSetupSpecInterceptor.html
@@ -27,7 +27,7 @@
- JsonViewSetupSpecInterceptor (Grails Views 3.2.2)
+ JsonViewSetupSpecInterceptor (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/json/test/spock/JsonViewSpockExtension.html b/3.2.x/api/grails/views/json/test/spock/JsonViewSpockExtension.html
index 8119921b8..809a26de0 100644
--- a/3.2.x/api/grails/views/json/test/spock/JsonViewSpockExtension.html
+++ b/3.2.x/api/grails/views/json/test/spock/JsonViewSpockExtension.html
@@ -27,7 +27,7 @@
- JsonViewSpockExtension (Grails Views 3.2.2)
+ JsonViewSpockExtension (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html
index 0637c04e0..84948d475 100644
--- a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html
+++ b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewRequest.html
@@ -27,7 +27,7 @@
- GenericGroovyTemplateView.HttpViewRequest (Grails Views 3.2.2)
+ GenericGroovyTemplateView.HttpViewRequest (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html
index 7c30587d2..25383552c 100644
--- a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html
+++ b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.HttpViewResponse.html
@@ -27,7 +27,7 @@
- GenericGroovyTemplateView.HttpViewResponse (Grails Views 3.2.2)
+ GenericGroovyTemplateView.HttpViewResponse (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.html b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.html
index a6d7d9f25..2dcf8c21f 100644
--- a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.html
+++ b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateView.html
@@ -27,7 +27,7 @@
- GenericGroovyTemplateView (Grails Views 3.2.2)
+ GenericGroovyTemplateView (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html
index 57a40a875..14a4463ce 100644
--- a/3.2.x/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html
+++ b/3.2.x/api/grails/views/mvc/GenericGroovyTemplateViewResolver.html
@@ -27,7 +27,7 @@
- GenericGroovyTemplateViewResolver (Grails Views 3.2.2)
+ GenericGroovyTemplateViewResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/SmartViewResolver.html b/3.2.x/api/grails/views/mvc/SmartViewResolver.html
index 0c94054d7..8f4c5bef3 100644
--- a/3.2.x/api/grails/views/mvc/SmartViewResolver.html
+++ b/3.2.x/api/grails/views/mvc/SmartViewResolver.html
@@ -27,7 +27,7 @@
- SmartViewResolver (Grails Views 3.2.2)
+ SmartViewResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/http/DelegatingParameters.html b/3.2.x/api/grails/views/mvc/http/DelegatingParameters.html
index d9697655a..b066fb7ec 100644
--- a/3.2.x/api/grails/views/mvc/http/DelegatingParameters.html
+++ b/3.2.x/api/grails/views/mvc/http/DelegatingParameters.html
@@ -27,7 +27,7 @@
- DelegatingParameters (Grails Views 3.2.2)
+ DelegatingParameters (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/mvc/renderer/DefaultViewRenderer.html b/3.2.x/api/grails/views/mvc/renderer/DefaultViewRenderer.html
index 23226986d..31f36aaf8 100644
--- a/3.2.x/api/grails/views/mvc/renderer/DefaultViewRenderer.html
+++ b/3.2.x/api/grails/views/mvc/renderer/DefaultViewRenderer.html
@@ -27,7 +27,7 @@
- DefaultViewRenderer (Grails Views 3.2.2)
+ DefaultViewRenderer (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/resolve/GenericGroovyTemplateResolver.html b/3.2.x/api/grails/views/resolve/GenericGroovyTemplateResolver.html
index ac276f3fb..16b51d18a 100644
--- a/3.2.x/api/grails/views/resolve/GenericGroovyTemplateResolver.html
+++ b/3.2.x/api/grails/views/resolve/GenericGroovyTemplateResolver.html
@@ -27,7 +27,7 @@
- GenericGroovyTemplateResolver (Grails Views 3.2.2)
+ GenericGroovyTemplateResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/resolve/GenericViewUriResolver.html b/3.2.x/api/grails/views/resolve/GenericViewUriResolver.html
index a2ef92115..a5c7e8748 100644
--- a/3.2.x/api/grails/views/resolve/GenericViewUriResolver.html
+++ b/3.2.x/api/grails/views/resolve/GenericViewUriResolver.html
@@ -27,7 +27,7 @@
- GenericViewUriResolver (Grails Views 3.2.2)
+ GenericViewUriResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/resolve/PluginAwareTemplateResolver.html b/3.2.x/api/grails/views/resolve/PluginAwareTemplateResolver.html
index 6cc9ffed1..724556295 100644
--- a/3.2.x/api/grails/views/resolve/PluginAwareTemplateResolver.html
+++ b/3.2.x/api/grails/views/resolve/PluginAwareTemplateResolver.html
@@ -27,7 +27,7 @@
- PluginAwareTemplateResolver (Grails Views 3.2.2)
+ PluginAwareTemplateResolver (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/resolve/TemplateResolverUtils.html b/3.2.x/api/grails/views/resolve/TemplateResolverUtils.html
index 0b943e260..8091eb075 100644
--- a/3.2.x/api/grails/views/resolve/TemplateResolverUtils.html
+++ b/3.2.x/api/grails/views/resolve/TemplateResolverUtils.html
@@ -27,7 +27,7 @@
- TemplateResolverUtils (Grails Views 3.2.2)
+ TemplateResolverUtils (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/grails/views/utils/ViewUtils.html b/3.2.x/api/grails/views/utils/ViewUtils.html
index 99bb7ad4b..7b5c92d54 100644
--- a/3.2.x/api/grails/views/utils/ViewUtils.html
+++ b/3.2.x/api/grails/views/utils/ViewUtils.html
@@ -27,7 +27,7 @@
- ViewUtils (Grails Views 3.2.2)
+ ViewUtils (Grails Views 3.2.3)
@@ -37,7 +37,7 @@
diff --git a/3.2.x/api/overview-frame.html b/3.2.x/api/overview-frame.html
index 26ab6f70e..ea2ed5c68 100644
--- a/3.2.x/api/overview-frame.html
+++ b/3.2.x/api/overview-frame.html
@@ -21,7 +21,7 @@
-Overview (Grails Views 3.2.2)
+Overview (Grails Views 3.2.3)
diff --git a/3.2.x/api/overview-summary.html b/3.2.x/api/overview-summary.html
index 9cc626396..141df0bde 100644
--- a/3.2.x/api/overview-summary.html
+++ b/3.2.x/api/overview-summary.html
@@ -66,7 +66,7 @@