@Test(expected = IllegalArgumentException.class) public void testCtorWithNullCollectionType() throws Exception { new CustomCollectionEditor(null); }
@Test public void testWhenTargetTypeIsExactlyTheCollectionInterfaceUsesFallbackCollectionType() throws Exception { CustomCollectionEditor editor = new CustomCollectionEditor(Collection.class); editor.setValue("0, 1, 2"); Collection<?> value = (Collection<?>) editor.getValue(); assertNotNull(value); assertEquals("There must be 1 element in the converted collection", 1, value.size()); assertEquals("0, 1, 2", value.iterator().next()); }
public void setValue(@Nullable Object value) { if (value == null && this.nullAsEmptyCollection) { super.setValue(createCollection(this.collectionType, 0)); else if (value == null || (this.collectionType.isInstance(value) && !alwaysCreateNewCollection())) { Collection<Object> target = createCollection(this.collectionType, source.size()); for (Object elem : source) { target.add(convertElement(elem)); Collection<Object> target = createCollection(this.collectionType, length); for (int i = 0; i < length; i++) { target.add(convertElement(Array.get(value, i))); Collection<Object> target = createCollection(this.collectionType, 1); target.add(convertElement(value)); super.setValue(target);
@Test(expected = IllegalArgumentException.class) public void testWithCollectionTypeThatDoesNotExposeAPublicNoArgCtor() throws Exception { CustomCollectionEditor editor = new CustomCollectionEditor(CollectionTypeWithNoNoArgCtor.class); editor.setValue("1"); }
@Override public void setAsText(String text) throws IllegalArgumentException { if (text == null || text.isEmpty()) { super.setValue(super.createCollection(this.collectionType, 0)); } else { super.setValue(text.split(splitRegex)); } } }
/** * Convert the given text value to a Collection with a single element. */ @Override public void setAsText(String text) throws IllegalArgumentException { setValue(text); }
@Override public void setAsText(String text) throws IllegalArgumentException { if (text == null || text.isEmpty()) { super.setValue(super.createCollection(this.collectionType, 0)); } else { super.setValue(text.split(splitRegex)); } } }
/** * Convert the given text value to a Collection with a single element. */ @Override public void setAsText(String text) throws IllegalArgumentException { setValue(text); }
public void setValue(@Nullable Object value) { if (value == null && this.nullAsEmptyCollection) { super.setValue(createCollection(this.collectionType, 0)); else if (value == null || (this.collectionType.isInstance(value) && !alwaysCreateNewCollection())) { Collection<Object> target = createCollection(this.collectionType, source.size()); for (Object elem : source) { target.add(convertElement(elem)); Collection<Object> target = createCollection(this.collectionType, length); for (int i = 0; i < length; i++) { target.add(convertElement(Array.get(value, i))); Collection<Object> target = createCollection(this.collectionType, 1); target.add(convertElement(value)); super.setValue(target);
@Test(expected = IllegalArgumentException.class) @SuppressWarnings("unchecked") public void testCtorWithNonCollectionType() throws Exception { new CustomCollectionEditor((Class) String.class); }
@Test public void testSunnyDaySetAsTextYieldsSingleValue() throws Exception { CustomCollectionEditor editor = new CustomCollectionEditor(ArrayList.class); editor.setValue("0, 1, 2"); Object value = editor.getValue(); assertNotNull(value); assertTrue(value instanceof ArrayList); List<?> list = (List<?>) value; assertEquals("There must be 1 element in the converted collection", 1, list.size()); assertEquals("0, 1, 2", list.get(0)); }
/** * Convert the given text value to a Collection with a single element. */ @Override public void setAsText(String text) throws IllegalArgumentException { setValue(text); }
public void setValue(Object value) { if (value == null && this.nullAsEmptyCollection) { super.setValue(createCollection(this.collectionType, 0)); else if (value == null || (this.collectionType.isInstance(value) && !alwaysCreateNewCollection())) { Collection target = createCollection(this.collectionType, source.size()); for (Object elem : source) { target.add(convertElement(elem)); Collection target = createCollection(this.collectionType, length); for (int i = 0; i < length; i++) { target.add(convertElement(Array.get(value, i))); Collection target = createCollection(this.collectionType, 1); target.add(convertElement(value)); super.setValue(target);
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));
@Test public void testSunnyDaySetValue() throws Exception { CustomCollectionEditor editor = new CustomCollectionEditor(ArrayList.class); editor.setValue(new int[] {0, 1, 2}); Object value = editor.getValue(); assertNotNull(value); assertTrue(value instanceof ArrayList); List<?> list = (List<?>) value; assertEquals("There must be 3 elements in the converted collection", 3, list.size()); assertEquals(new Integer(0), list.get(0)); assertEquals(new Integer(1), list.get(1)); assertEquals(new Integer(2), list.get(2)); }
/** * Convert the given text value to a Collection with a single element. */ public void setAsText(String text) throws IllegalArgumentException { setValue(text); }
if (this.collectionType.isInstance(value) && !alwaysCreateNewCollection()) { Collection target = createCollection(this.collectionType, source.size()); for (Iterator it = source.iterator(); it.hasNext();) { target.add(convertElement(it.next())); Collection target = createCollection(this.collectionType, length); for (int i = 0; i < length; i++) { target.add(convertElement(Array.get(value, i))); Collection target = createCollection(this.collectionType, 1); target.add(convertElement(value)); super.setValue(target);
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));
/** * Convert the given text value to a Collection with a single element. */ @Override public void setAsText(String text) throws IllegalArgumentException { setValue(text); }
public void setValue(Object value) { if (value == null && this.nullAsEmptyCollection) { super.setValue(createCollection(this.collectionType, 0)); else if (value == null || (this.collectionType.isInstance(value) && !alwaysCreateNewCollection())) { Collection<Object> target = createCollection(this.collectionType, source.size()); for (Object elem : source) { target.add(convertElement(elem)); Collection<Object> target = createCollection(this.collectionType, length); for (int i = 0; i < length; i++) { target.add(convertElement(Array.get(value, i))); Collection<Object> target = createCollection(this.collectionType, 1); target.add(convertElement(value)); super.setValue(target);