Home / Class/ ConcurrentModificationThrowingMap Class — spring-boot Architecture

ConcurrentModificationThrowingMap Class — spring-boot Architecture

Architecture documentation for the ConcurrentModificationThrowingMap class in SpringIterableConfigurationPropertySourceTests.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

core/spring-boot/src/test/java/org/springframework/boot/context/properties/source/SpringIterableConfigurationPropertySourceTests.java lines 331–361

	static class ConcurrentModificationThrowingMap<K, V> extends LinkedHashMap<K, V> {

		private boolean throwException;

		void setThrowException(boolean throwException) {
			this.throwException = throwException;
		}

		@Override
		public Set<K> keySet() {
			return new KeySet(super.keySet());
		}

		private class KeySet extends LinkedHashSet<K> {

			KeySet(Set<K> keySet) {
				super(keySet);
			}

			@Override
			public Iterator<K> iterator() {
				if (ConcurrentModificationThrowingMap.this.throwException) {
					ConcurrentModificationThrowingMap.this.throwException = false;
					throw new ConcurrentModificationException();
				}
				return super.iterator();
			}

		}

	}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free