diff --git a/spring-aspects/src/main/java/org/springframework/transaction/aspectj/JtaAnnotationTransactionAspect.aj b/spring-aspects/src/main/java/org/springframework/transaction/aspectj/JtaAnnotationTransactionAspect.aj index 6b02e1de3a5..22a3bb134b5 100644 --- a/spring-aspects/src/main/java/org/springframework/transaction/aspectj/JtaAnnotationTransactionAspect.aj +++ b/spring-aspects/src/main/java/org/springframework/transaction/aspectj/JtaAnnotationTransactionAspect.aj @@ -45,7 +45,7 @@ import org.springframework.transaction.annotation.AnnotationTransactionAttribute * @see javax.transaction.Transactional * @see AnnotationTransactionAspect */ -@RequiredTypes({"javax.transaction.Transactional"}) +@RequiredTypes("javax.transaction.Transactional") public aspect JtaAnnotationTransactionAspect extends AbstractTransactionAspect { public JtaAnnotationTransactionAspect() { diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/ConversionUtils.java b/spring-core/src/main/java/org/springframework/core/convert/support/ConversionUtils.java index ce6af121258..3475f76e960 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/ConversionUtils.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/ConversionUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,14 +59,12 @@ abstract class ConversionUtils { // yes return true; } - else if (sourceElementType.getType().isAssignableFrom(targetElementType.getType())) { + if (sourceElementType.getType().isAssignableFrom(targetElementType.getType())) { // maybe return true; } - else { - // no - return false; - } + // no + return false; } public static Class getEnumType(Class targetType) { diff --git a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java index decf3918878..31bdb4e823f 100644 --- a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java +++ b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java @@ -71,146 +71,146 @@ public abstract class MimeTypeUtils { * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static MimeType APPLICATION_ATOM_XML; + public static final MimeType APPLICATION_ATOM_XML; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_ATOM_XML}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static String APPLICATION_ATOM_XML_VALUE = "application/atom+xml"; + public static final String APPLICATION_ATOM_XML_VALUE = "application/atom+xml"; /** * Public constant mime type for {@code application/x-www-form-urlencoded}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants * */ @Deprecated - public final static MimeType APPLICATION_FORM_URLENCODED; + public static final MimeType APPLICATION_FORM_URLENCODED; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_FORM_URLENCODED}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static String APPLICATION_FORM_URLENCODED_VALUE = "application/x-www-form-urlencoded"; + public static final String APPLICATION_FORM_URLENCODED_VALUE = "application/x-www-form-urlencoded"; /** * Public constant mime type for {@code application/json}. * */ - public final static MimeType APPLICATION_JSON; + public static final MimeType APPLICATION_JSON; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_JSON}. */ - public final static String APPLICATION_JSON_VALUE = "application/json"; + public static final String APPLICATION_JSON_VALUE = "application/json"; /** * Public constant mime type for {@code application/octet-stream}. * */ - public final static MimeType APPLICATION_OCTET_STREAM; + public static final MimeType APPLICATION_OCTET_STREAM; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_OCTET_STREAM}. */ - public final static String APPLICATION_OCTET_STREAM_VALUE = "application/octet-stream"; + public static final String APPLICATION_OCTET_STREAM_VALUE = "application/octet-stream"; /** * Public constant mime type for {@code application/xhtml+xml}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static MimeType APPLICATION_XHTML_XML; + public static final MimeType APPLICATION_XHTML_XML; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_XHTML_XML}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static String APPLICATION_XHTML_XML_VALUE = "application/xhtml+xml"; + public static final String APPLICATION_XHTML_XML_VALUE = "application/xhtml+xml"; /** * Public constant mime type for {@code application/xml}. */ - public final static MimeType APPLICATION_XML; + public static final MimeType APPLICATION_XML; /** * A String equivalent of {@link MimeTypeUtils#APPLICATION_XML}. */ - public final static String APPLICATION_XML_VALUE = "application/xml"; + public static final String APPLICATION_XML_VALUE = "application/xml"; /** * Public constant mime type for {@code image/gif}. */ - public final static MimeType IMAGE_GIF; + public static final MimeType IMAGE_GIF; /** * A String equivalent of {@link MimeTypeUtils#IMAGE_GIF}. */ - public final static String IMAGE_GIF_VALUE = "image/gif"; + public static final String IMAGE_GIF_VALUE = "image/gif"; /** * Public constant mime type for {@code image/jpeg}. */ - public final static MimeType IMAGE_JPEG; + public static final MimeType IMAGE_JPEG; /** * A String equivalent of {@link MimeTypeUtils#IMAGE_JPEG}. */ - public final static String IMAGE_JPEG_VALUE = "image/jpeg"; + public static final String IMAGE_JPEG_VALUE = "image/jpeg"; /** * Public constant mime type for {@code image/png}. */ - public final static MimeType IMAGE_PNG; + public static final MimeType IMAGE_PNG; /** * A String equivalent of {@link MimeTypeUtils#IMAGE_PNG}. */ - public final static String IMAGE_PNG_VALUE = "image/png"; + public static final String IMAGE_PNG_VALUE = "image/png"; /** * Public constant mime type for {@code multipart/form-data}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static MimeType MULTIPART_FORM_DATA; + public static final MimeType MULTIPART_FORM_DATA; /** * A String equivalent of {@link MimeTypeUtils#MULTIPART_FORM_DATA}. * @deprecated as of 4.3.6, in favor of {@code MediaType} constants */ @Deprecated - public final static String MULTIPART_FORM_DATA_VALUE = "multipart/form-data"; + public static final String MULTIPART_FORM_DATA_VALUE = "multipart/form-data"; /** * Public constant mime type for {@code text/html}. * */ - public final static MimeType TEXT_HTML; + public static final MimeType TEXT_HTML; /** * A String equivalent of {@link MimeTypeUtils#TEXT_HTML}. */ - public final static String TEXT_HTML_VALUE = "text/html"; + public static final String TEXT_HTML_VALUE = "text/html"; /** * Public constant mime type for {@code text/plain}. * */ - public final static MimeType TEXT_PLAIN; + public static final MimeType TEXT_PLAIN; /** * A String equivalent of {@link MimeTypeUtils#TEXT_PLAIN}. */ - public final static String TEXT_PLAIN_VALUE = "text/plain"; + public static final String TEXT_PLAIN_VALUE = "text/plain"; /** * Public constant mime type for {@code text/xml}. * */ - public final static MimeType TEXT_XML; + public static final MimeType TEXT_XML; /** * A String equivalent of {@link MimeTypeUtils#TEXT_XML}. */ - public final static String TEXT_XML_VALUE = "text/xml"; + public static final String TEXT_XML_VALUE = "text/xml"; static { diff --git a/spring-core/src/main/java/org/springframework/util/StringUtils.java b/spring-core/src/main/java/org/springframework/util/StringUtils.java index 8dcef81e922..50827aa08bf 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -638,7 +638,7 @@ public abstract class StringUtils { String prefix = ""; if (prefixIndex != -1) { prefix = pathToUse.substring(0, prefixIndex + 1); - if (prefix.contains("/")) { + if (prefix.contains(FOLDER_SEPARATOR)) { prefix = ""; } else { diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java b/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java index 33e77e77913..922f8c66d5e 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java @@ -339,68 +339,68 @@ public class CodeFlow implements Opcodes { public static void insertAnyNecessaryTypeConversionBytecodes(MethodVisitor mv, char targetDescriptor, String stackDescriptor) { if (CodeFlow.isPrimitive(stackDescriptor)) { char stackTop = stackDescriptor.charAt(0); - if (stackTop=='I' || stackTop=='B' || stackTop=='S' || stackTop=='C') { - if (targetDescriptor=='D') { + if (stackTop == 'I' || stackTop == 'B' || stackTop == 'S' || stackTop == 'C') { + if (targetDescriptor == 'D') { mv.visitInsn(I2D); } - else if (targetDescriptor=='F') { + else if (targetDescriptor == 'F') { mv.visitInsn(I2F); } - else if (targetDescriptor=='J') { + else if (targetDescriptor == 'J') { mv.visitInsn(I2L); } - else if (targetDescriptor=='I') { + else if (targetDescriptor == 'I') { // nop } else { throw new IllegalStateException("cannot get from "+stackTop+" to "+targetDescriptor); } } - else if (stackTop=='J') { - if (targetDescriptor=='D') { + else if (stackTop == 'J') { + if (targetDescriptor == 'D') { mv.visitInsn(L2D); } - else if (targetDescriptor=='F') { + else if (targetDescriptor == 'F') { mv.visitInsn(L2F); } - else if (targetDescriptor=='J') { + else if (targetDescriptor == 'J') { // nop } - else if (targetDescriptor=='I') { + else if (targetDescriptor == 'I') { mv.visitInsn(L2I); } else { throw new IllegalStateException("cannot get from "+stackTop+" to "+targetDescriptor); } } - else if (stackTop=='F') { - if (targetDescriptor=='D') { + else if (stackTop == 'F') { + if (targetDescriptor == 'D') { mv.visitInsn(F2D); } - else if (targetDescriptor=='F') { + else if (targetDescriptor == 'F') { // nop } - else if (targetDescriptor=='J') { + else if (targetDescriptor == 'J') { mv.visitInsn(F2L); } - else if (targetDescriptor=='I') { + else if (targetDescriptor == 'I') { mv.visitInsn(F2I); } else { throw new IllegalStateException("cannot get from "+stackTop+" to "+targetDescriptor); } } - else if (stackTop=='D') { - if (targetDescriptor=='D') { + else if (stackTop == 'D') { + if (targetDescriptor == 'D') { // nop } - else if (targetDescriptor=='F') { + else if (targetDescriptor == 'F') { mv.visitInsn(D2F); } - else if (targetDescriptor=='J') { + else if (targetDescriptor == 'J') { mv.visitInsn(D2L); } - else if (targetDescriptor=='I') { + else if (targetDescriptor == 'I') { mv.visitInsn(D2I); } else { @@ -521,24 +521,27 @@ public class CodeFlow implements Opcodes { } /** + * Determine whether the descriptor is for a boolean primitive or boolean reference type. * @param descriptor type descriptor - * @return {@code true} if the descriptor is for a boolean primitive or boolean reference type + * @return {@code true} if the descriptor is boolean compatible */ public static boolean isBooleanCompatible(String descriptor) { return (descriptor != null && (descriptor.equals("Z") || descriptor.equals("Ljava/lang/Boolean"))); } /** + * Determine whether the descriptor is for a primitive type. * @param descriptor type descriptor - * @return {@code true} if the descriptor is for a primitive type + * @return {@code true} if a primitive type */ public static boolean isPrimitive(String descriptor) { return (descriptor != null && descriptor.length() == 1); } /** + * Determine whether the descriptor is for a primitive array (e.g. "[[I"). * @param descriptor the descriptor for a possible primitive array - * @return {@code true} if the descriptor is for a primitive array (e.g. "[[I") + * @return {@code true} if the descriptor a primitive array */ public static boolean isPrimitiveArray(String descriptor) { boolean primitive = true; @@ -554,8 +557,8 @@ public class CodeFlow implements Opcodes { } /** - * Determine if boxing/unboxing can get from one type to the other. Assumes at least - * one of the types is in boxed form (i.e. single char descriptor). + * Determine whether boxing/unboxing can get from one type to the other. + * Assumes at least one of the types is in boxed form (i.e. single char descriptor). * @return {@code true} if it is possible to get (via boxing) from one descriptor to the other */ public static boolean areBoxingCompatible(String desc1, String desc2) { @@ -891,16 +894,33 @@ public class CodeFlow implements Opcodes { public static void insertArrayStore(MethodVisitor mv, String arrayElementType) { if (arrayElementType.length()==1) { switch (arrayElementType.charAt(0)) { - case 'I': mv.visitInsn(IASTORE); break; - case 'J': mv.visitInsn(LASTORE); break; - case 'F': mv.visitInsn(FASTORE); break; - case 'D': mv.visitInsn(DASTORE); break; - case 'B': mv.visitInsn(BASTORE); break; - case 'C': mv.visitInsn(CASTORE); break; - case 'S': mv.visitInsn(SASTORE); break; - case 'Z': mv.visitInsn(BASTORE); break; + case 'I': + mv.visitInsn(IASTORE); + break; + case 'J': + mv.visitInsn(LASTORE); + break; + case 'F': + mv.visitInsn(FASTORE); + break; + case 'D': + mv.visitInsn(DASTORE); + break; + case 'B': + mv.visitInsn(BASTORE); + break; + case 'C': + mv.visitInsn(CASTORE); + break; + case 'S': + mv.visitInsn(SASTORE); + break; + case 'Z': + mv.visitInsn(BASTORE); + break; default: - throw new IllegalArgumentException("Unexpected arraytype "+arrayElementType.charAt(0)); + throw new IllegalArgumentException( + "Unexpected arraytype " + arrayElementType.charAt(0)); } } else { @@ -929,14 +949,16 @@ public class CodeFlow implements Opcodes { } /** - * @return true if the supplied array type has a core component reference type + * Return if the supplied array type has a core component reference type. */ public static boolean isReferenceTypeArray(String arraytype) { int length = arraytype.length(); for (int i = 0; i < length; i++) { char ch = arraytype.charAt(i); - if (ch == '[') continue; - return ch=='L'; + if (ch == '[') { + continue; + } + return (ch == 'L'); } return false; } @@ -991,18 +1013,6 @@ public class CodeFlow implements Opcodes { } } - - public interface FieldAdder { - - void generateField(ClassWriter cw, CodeFlow codeflow); - } - - - public interface ClinitAdder { - - void generateCode(MethodVisitor mv, CodeFlow codeflow); - } - public static String toBoxedDescriptor(String primitiveDescriptor) { switch (primitiveDescriptor.charAt(0)) { case 'I': return "Ljava/lang/Integer"; @@ -1015,7 +1025,27 @@ public class CodeFlow implements Opcodes { case 'Z': return "Ljava/lang/Boolean"; default: throw new IllegalArgumentException("Unexpected non primitive descriptor "+primitiveDescriptor); - } + } + } + + + /** + * Interface used to generate fields. + */ + @FunctionalInterface + public interface FieldAdder { + + void generateField(ClassWriter cw, CodeFlow codeflow); + } + + + /** + * Interface used to generate {@code clinit} static initializer blocks. + */ + @FunctionalInterface + public interface ClinitAdder { + + void generateCode(MethodVisitor mv, CodeFlow codeflow); } } diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/ast/OpPlus.java b/spring-expression/src/main/java/org/springframework/expression/spel/ast/OpPlus.java index ae33e8dd1a5..57fbff81041 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/ast/OpPlus.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/ast/OpPlus.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -208,7 +208,7 @@ public class OpPlus extends Operator { @Override public void generateCode(MethodVisitor mv, CodeFlow cf) { - if (this.exitTypeDescriptor == "Ljava/lang/String") { + if ("Ljava/lang/String".equals(this.exitTypeDescriptor)) { mv.visitTypeInsn(NEW, "java/lang/StringBuilder"); mv.visitInsn(DUP); mv.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder", "", "()V", false); @@ -233,12 +233,12 @@ public class OpPlus extends Operator { case 'J': mv.visitInsn(LADD); break; - case 'F': + case 'F': mv.visitInsn(FADD); break; case 'D': mv.visitInsn(DADD); - break; + break; default: throw new IllegalStateException( "Unrecognized exit type descriptor: '" + this.exitTypeDescriptor + "'"); diff --git a/spring-test/src/main/java/org/springframework/test/web/client/AbstractRequestExpectationManager.java b/spring-test/src/main/java/org/springframework/test/web/client/AbstractRequestExpectationManager.java index 0b873fc363a..386d0a981eb 100644 --- a/spring-test/src/main/java/org/springframework/test/web/client/AbstractRequestExpectationManager.java +++ b/spring-test/src/main/java/org/springframework/test/web/client/AbstractRequestExpectationManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -199,6 +199,9 @@ public abstract class AbstractRequestExpectationManager implements RequestExpect } } + /** + * Reset all expectations for this group. + */ public void reset() { getExpectations().clear(); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/GzipResourceResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/GzipResourceResolver.java index b37838a8c6f..d85fe301e03 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/GzipResourceResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/GzipResourceResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -57,7 +57,7 @@ public class GzipResourceResolver extends AbstractResourceResolver { } } catch (IOException ex) { - logger.trace("No gzipped resource for [" + resource.getFilename() + "]", ex); + logger.trace("No gzip resource for [" + resource.getFilename() + "]", ex); } return resource; @@ -69,8 +69,8 @@ public class GzipResourceResolver extends AbstractResourceResolver { } @Override - protected String resolveUrlPathInternal(String resourceUrlPath, List locations, - ResourceResolverChain chain) { + protected String resolveUrlPathInternal(String resourceUrlPath, + List locations, ResourceResolverChain chain) { return chain.resolveUrlPath(resourceUrlPath, locations); } @@ -87,54 +87,67 @@ public class GzipResourceResolver extends AbstractResourceResolver { this.gzipped = original.createRelative(original.getFilename() + ".gz"); } + @Override public InputStream getInputStream() throws IOException { return this.gzipped.getInputStream(); } + @Override public boolean exists() { return this.gzipped.exists(); } + @Override public boolean isReadable() { return this.gzipped.isReadable(); } + @Override public boolean isOpen() { return this.gzipped.isOpen(); } + @Override public URL getURL() throws IOException { return this.gzipped.getURL(); } + @Override public URI getURI() throws IOException { return this.gzipped.getURI(); } + @Override public File getFile() throws IOException { return this.gzipped.getFile(); } + @Override public long contentLength() throws IOException { return this.gzipped.contentLength(); } + @Override public long lastModified() throws IOException { return this.gzipped.lastModified(); } + @Override public Resource createRelative(String relativePath) throws IOException { return this.gzipped.createRelative(relativePath); } + @Override public String getFilename() { return this.original.getFilename(); } + @Override public String getDescription() { return this.gzipped.getDescription(); } + @Override public String getContentEncoding() { return "gzip"; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java index 87821d2f30d..2f9d452bb1e 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -304,12 +304,12 @@ public class VersionResourceResolver extends AbstractResourceResolver { @Override public String getDescription() { - return original.getDescription(); + return this.original.getDescription(); } @Override public InputStream getInputStream() throws IOException { - return original.getInputStream(); + return this.original.getInputStream(); } @Override diff --git a/spring-webmvc/src/main/resources/org/springframework/web/servlet/view/freemarker/spring.ftl b/spring-webmvc/src/main/resources/org/springframework/web/servlet/view/freemarker/spring.ftl index 00ef2e122da..ce21a45d19c 100644 --- a/spring-webmvc/src/main/resources/org/springframework/web/servlet/view/freemarker/spring.ftl +++ b/spring-webmvc/src/main/resources/org/springframework/web/servlet/view/freemarker/spring.ftl @@ -109,9 +109,9 @@ * spring.status : a BindStatus instance holding the command object name, * expression, value, and error messages and codes for the path supplied * - * @param path : the path (string value) of the value required to bind to. - * Spring defaults to a command name of "command" but this can be overridden - * by user config. + * @param path the path (string value) of the value required to bind to. + * Spring defaults to a command name of "command" but this can be + * overridden by user configuration. --> <#macro bind path> <#if htmlEscape?exists> @@ -152,8 +152,8 @@ * of a command or bean. * * @param path the name of the field to bind to - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formInput path attributes="" fieldType="text"> <@bind path/> @@ -169,8 +169,8 @@ * of 'password'. * * @param path the name of the field to bind to - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formPasswordInput path attributes=""> <@formInput path, attributes, "password"/> @@ -184,8 +184,8 @@ * the formInput macro with a 'type' parameter of 'hidden'. * * @param path the name of the field to bind to - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formHiddenInput path attributes=""> <@formInput path, attributes, "hidden"/> @@ -197,8 +197,8 @@ * Display a text area and bind it to an attribute of a command or bean. * * @param path the name of the field to bind to - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formTextarea path attributes=""> <@bind path/> @@ -214,8 +214,8 @@ ${stringStatusValue} * * @param path the name of the field to bind to * @param options a map (value=label) of all the available options - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formSingleSelect path options attributes=""> <@bind path/> @@ -240,8 +240,8 @@ ${stringStatusValue} * * @param path the name of the field to bind to * @param options a map (value=label) of all the available options - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formMultiSelect path options attributes=""> <@bind path/> @@ -260,10 +260,10 @@ ${stringStatusValue} * * @param path the name of the field to bind to * @param options a map (value=label) of all the available options - * @param separator the html tag or other character list that should be used to - * separate each option. Typically ' ' or '
' - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param separator the HTML tag or other character list that should be used to + * separate each option (typically ' ' or '
') + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formRadioButtons path options separator attributes=""> <@bind path/> @@ -281,10 +281,10 @@ ${stringStatusValue} * * @param path the name of the field to bind to * @param options a map (value=label) of all the available options - * @param separator the html tag or other character list that should be used to - * separate each option. Typically ' ' or '
' - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param separator the HTML tag or other character list that should be used to + * separate each option (typically ' ' or '
') + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formCheckboxes path options separator attributes=""> <@bind path/> @@ -303,8 +303,8 @@ ${stringStatusValue} * Show a single checkbox. * * @param path the name of the field to bind to - * @param attributes any additional attributes for the element (such as class - * or CSS styles or size + * @param attributes any additional attributes for the element + * (such as class or CSS styles or size) --> <#macro formCheckbox path attributes=""> <@bind path /> @@ -320,12 +320,12 @@ ${stringStatusValue} * Show validation errors for the currently bound field, with * optional style attributes. * - * @param separator the html tag or other character list that should be used to - * separate each option. Typically '
'. + * @param separator the HTML tag or other character list that should be used to + * separate each option (typically ' ' or '
') * @param classOrStyle either the name of a CSS class element (which is defined in - * the template or an external CSS file) or an inline style. If the value passed in here - * contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute - * will be used. + * the template or an external CSS file) or an inline style. If the value passed + * in here contains a colon (:) then a 'style=' attribute will be used, + * otherwise a 'class=' attribute will be used. --> <#macro showErrors separator classOrStyle=""> <#list status.errorMessages as error>