Search in sources :

Example 1 with StringArrayPropertyEditor

use of org.springframework.beans.propertyeditors.StringArrayPropertyEditor in project spring-framework by spring-projects.

the class PropertyEditorRegistrySupport method createDefaultEditors.

/**
	 * Actually register the default editors for this registry instance.
	 */
private void createDefaultEditors() {
    this.defaultEditors = new HashMap<>(64);
    // Simple editors, without parameterization capabilities.
    // The JDK does not contain a default editor for any of these target types.
    this.defaultEditors.put(Charset.class, new CharsetEditor());
    this.defaultEditors.put(Class.class, new ClassEditor());
    this.defaultEditors.put(Class[].class, new ClassArrayEditor());
    this.defaultEditors.put(Currency.class, new CurrencyEditor());
    this.defaultEditors.put(File.class, new FileEditor());
    this.defaultEditors.put(InputStream.class, new InputStreamEditor());
    this.defaultEditors.put(InputSource.class, new InputSourceEditor());
    this.defaultEditors.put(Locale.class, new LocaleEditor());
    this.defaultEditors.put(Path.class, new PathEditor());
    this.defaultEditors.put(Pattern.class, new PatternEditor());
    this.defaultEditors.put(Properties.class, new PropertiesEditor());
    this.defaultEditors.put(Reader.class, new ReaderEditor());
    this.defaultEditors.put(Resource[].class, new ResourceArrayPropertyEditor());
    this.defaultEditors.put(TimeZone.class, new TimeZoneEditor());
    this.defaultEditors.put(URI.class, new URIEditor());
    this.defaultEditors.put(URL.class, new URLEditor());
    this.defaultEditors.put(UUID.class, new UUIDEditor());
    this.defaultEditors.put(ZoneId.class, new ZoneIdEditor());
    // Default instances of collection editors.
    // Can be overridden by registering custom instances of those as custom editors.
    this.defaultEditors.put(Collection.class, new CustomCollectionEditor(Collection.class));
    this.defaultEditors.put(Set.class, new CustomCollectionEditor(Set.class));
    this.defaultEditors.put(SortedSet.class, new CustomCollectionEditor(SortedSet.class));
    this.defaultEditors.put(List.class, new CustomCollectionEditor(List.class));
    this.defaultEditors.put(SortedMap.class, new CustomMapEditor(SortedMap.class));
    // Default editors for primitive arrays.
    this.defaultEditors.put(byte[].class, new ByteArrayPropertyEditor());
    this.defaultEditors.put(char[].class, new CharArrayPropertyEditor());
    // The JDK does not contain a default editor for char!
    this.defaultEditors.put(char.class, new CharacterEditor(false));
    this.defaultEditors.put(Character.class, new CharacterEditor(true));
    // Spring's CustomBooleanEditor accepts more flag values than the JDK's default editor.
    this.defaultEditors.put(boolean.class, new CustomBooleanEditor(false));
    this.defaultEditors.put(Boolean.class, new CustomBooleanEditor(true));
    // The JDK does not contain default editors for number wrapper types!
    // Override JDK primitive number editors with our own CustomNumberEditor.
    this.defaultEditors.put(byte.class, new CustomNumberEditor(Byte.class, false));
    this.defaultEditors.put(Byte.class, new CustomNumberEditor(Byte.class, true));
    this.defaultEditors.put(short.class, new CustomNumberEditor(Short.class, false));
    this.defaultEditors.put(Short.class, new CustomNumberEditor(Short.class, true));
    this.defaultEditors.put(int.class, new CustomNumberEditor(Integer.class, false));
    this.defaultEditors.put(Integer.class, new CustomNumberEditor(Integer.class, true));
    this.defaultEditors.put(long.class, new CustomNumberEditor(Long.class, false));
    this.defaultEditors.put(Long.class, new CustomNumberEditor(Long.class, true));
    this.defaultEditors.put(float.class, new CustomNumberEditor(Float.class, false));
    this.defaultEditors.put(Float.class, new CustomNumberEditor(Float.class, true));
    this.defaultEditors.put(double.class, new CustomNumberEditor(Double.class, false));
    this.defaultEditors.put(Double.class, new CustomNumberEditor(Double.class, true));
    this.defaultEditors.put(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, true));
    this.defaultEditors.put(BigInteger.class, new CustomNumberEditor(BigInteger.class, true));
    // Only register config value editors if explicitly requested.
    if (this.configValueEditorsActive) {
        StringArrayPropertyEditor sae = new StringArrayPropertyEditor();
        this.defaultEditors.put(String[].class, sae);
        this.defaultEditors.put(short[].class, sae);
        this.defaultEditors.put(int[].class, sae);
        this.defaultEditors.put(long[].class, sae);
    }
}
Also used : FileEditor(org.springframework.beans.propertyeditors.FileEditor) SortedSet(java.util.SortedSet) Set(java.util.Set) CustomBooleanEditor(org.springframework.beans.propertyeditors.CustomBooleanEditor) InputStreamEditor(org.springframework.beans.propertyeditors.InputStreamEditor) LocaleEditor(org.springframework.beans.propertyeditors.LocaleEditor) InputSourceEditor(org.springframework.beans.propertyeditors.InputSourceEditor) SortedSet(java.util.SortedSet) ReaderEditor(org.springframework.beans.propertyeditors.ReaderEditor) StringArrayPropertyEditor(org.springframework.beans.propertyeditors.StringArrayPropertyEditor) CharsetEditor(org.springframework.beans.propertyeditors.CharsetEditor) ZoneIdEditor(org.springframework.beans.propertyeditors.ZoneIdEditor) List(java.util.List) LinkedList(java.util.LinkedList) TimeZoneEditor(org.springframework.beans.propertyeditors.TimeZoneEditor) PropertiesEditor(org.springframework.beans.propertyeditors.PropertiesEditor) UUIDEditor(org.springframework.beans.propertyeditors.UUIDEditor) CustomNumberEditor(org.springframework.beans.propertyeditors.CustomNumberEditor) CurrencyEditor(org.springframework.beans.propertyeditors.CurrencyEditor) Resource(org.springframework.core.io.Resource) URIEditor(org.springframework.beans.propertyeditors.URIEditor) ByteArrayPropertyEditor(org.springframework.beans.propertyeditors.ByteArrayPropertyEditor) ClassArrayEditor(org.springframework.beans.propertyeditors.ClassArrayEditor) ClassEditor(org.springframework.beans.propertyeditors.ClassEditor) ResourceArrayPropertyEditor(org.springframework.core.io.support.ResourceArrayPropertyEditor) CharArrayPropertyEditor(org.springframework.beans.propertyeditors.CharArrayPropertyEditor) BigDecimal(java.math.BigDecimal) PathEditor(org.springframework.beans.propertyeditors.PathEditor) CharacterEditor(org.springframework.beans.propertyeditors.CharacterEditor) BigInteger(java.math.BigInteger) CustomCollectionEditor(org.springframework.beans.propertyeditors.CustomCollectionEditor) PatternEditor(org.springframework.beans.propertyeditors.PatternEditor) SortedMap(java.util.SortedMap) Collection(java.util.Collection) BigInteger(java.math.BigInteger) CustomMapEditor(org.springframework.beans.propertyeditors.CustomMapEditor) URLEditor(org.springframework.beans.propertyeditors.URLEditor)

Example 2 with StringArrayPropertyEditor

use of org.springframework.beans.propertyeditors.StringArrayPropertyEditor in project spring-framework by spring-projects.

the class AbstractPropertyAccessorTests method setStringArrayPropertyWithCustomStringDelimiter.

@Test
public void setStringArrayPropertyWithCustomStringDelimiter() throws Exception {
    PropsTester target = new PropsTester();
    AbstractPropertyAccessor accessor = createAccessor(target);
    accessor.registerCustomEditor(String[].class, "stringArray", new StringArrayPropertyEditor("-"));
    accessor.setPropertyValue("stringArray", "a1-b2");
    assertTrue("stringArray length = 2", target.stringArray.length == 2);
    assertTrue("correct values", target.stringArray[0].equals("a1") && target.stringArray[1].equals("b2"));
}
Also used : StringArrayPropertyEditor(org.springframework.beans.propertyeditors.StringArrayPropertyEditor) Test(org.junit.Test)

Example 3 with StringArrayPropertyEditor

use of org.springframework.beans.propertyeditors.StringArrayPropertyEditor in project spring-framework by spring-projects.

the class OptionTagTests method withPropertyEditor.

@Test
public void withPropertyEditor() throws Exception {
    String selectName = "testBean.stringArray";
    BindStatus bindStatus = new BindStatus(getRequestContext(), selectName, false) {

        @Override
        public PropertyEditor getEditor() {
            return new StringArrayPropertyEditor();
        }
    };
    getPageContext().setAttribute(SelectTag.LIST_VALUE_PAGE_ATTRIBUTE, bindStatus);
    this.tag.setValue(ARRAY_SOURCE);
    this.tag.setLabel("someArray");
    int result = this.tag.doStartTag();
    assertEquals(BodyTag.EVAL_BODY_BUFFERED, result);
    result = this.tag.doEndTag();
    assertEquals(Tag.EVAL_PAGE, result);
    String output = getOutput();
    assertOptionTagOpened(output);
    assertOptionTagClosed(output);
    assertContainsAttribute(output, "value", ARRAY_SOURCE);
    assertContainsAttribute(output, "selected", "selected");
    assertBlockTagContains(output, "someArray");
}
Also used : StringArrayPropertyEditor(org.springframework.beans.propertyeditors.StringArrayPropertyEditor) BindStatus(org.springframework.web.servlet.support.BindStatus) Test(org.junit.Test)

Aggregations

StringArrayPropertyEditor (org.springframework.beans.propertyeditors.StringArrayPropertyEditor)3 Test (org.junit.Test)2 BigDecimal (java.math.BigDecimal)1 BigInteger (java.math.BigInteger)1 Collection (java.util.Collection)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Set (java.util.Set)1 SortedMap (java.util.SortedMap)1 SortedSet (java.util.SortedSet)1 ByteArrayPropertyEditor (org.springframework.beans.propertyeditors.ByteArrayPropertyEditor)1 CharArrayPropertyEditor (org.springframework.beans.propertyeditors.CharArrayPropertyEditor)1 CharacterEditor (org.springframework.beans.propertyeditors.CharacterEditor)1 CharsetEditor (org.springframework.beans.propertyeditors.CharsetEditor)1 ClassArrayEditor (org.springframework.beans.propertyeditors.ClassArrayEditor)1 ClassEditor (org.springframework.beans.propertyeditors.ClassEditor)1 CurrencyEditor (org.springframework.beans.propertyeditors.CurrencyEditor)1 CustomBooleanEditor (org.springframework.beans.propertyeditors.CustomBooleanEditor)1 CustomCollectionEditor (org.springframework.beans.propertyeditors.CustomCollectionEditor)1 CustomMapEditor (org.springframework.beans.propertyeditors.CustomMapEditor)1