Home / Class/ RunArguments Class — spring-boot Architecture

RunArguments Class — spring-boot Architecture

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

Entity Profile

Source Code

build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunArguments.java lines 31–77

class RunArguments {

	private static final String[] NO_ARGS = {};

	private final Deque<String> args = new LinkedList<>();

	RunArguments(@Nullable String arguments) {
		this(parseArgs(arguments));
	}

	@SuppressWarnings("NullAway") // Maven can't handle nullable arrays
	RunArguments(@Nullable String[] args) {
		this((args != null) ? Arrays.asList(args) : null);
	}

	RunArguments(@Nullable Iterable<@Nullable String> args) {
		if (args != null) {
			for (String arg : args) {
				if (arg != null) {
					this.args.add(arg);
				}
			}
		}
	}

	Deque<String> getArgs() {
		return this.args;
	}

	String[] asArray() {
		return this.args.toArray(new String[0]);
	}

	static String[] parseArgs(@Nullable String arguments) {
		if (arguments == null || arguments.trim().isEmpty()) {
			return NO_ARGS;
		}
		try {
			arguments = arguments.replace('\n', ' ').replace('\t', ' ');
			return CommandLineUtils.translateCommandline(arguments);
		}
		catch (Exception ex) {
			throw new IllegalArgumentException("Failed to parse arguments [" + arguments + "]", ex);
		}
	}

}

Analyze Your Own Codebase

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

Try Supermodel Free