methodBlacklistRegexp

Description

With the help of this configuration parameter it is possible to ignore/remove specific method calls and their subsequent calls from the sequence flow.

Default value

The default value of this configuration parameter is null (nothing ignored/removed).

Example

In the following example there are three dependencies in the maven dependency hierarchy which build the classpath for all further generation:

	<dependencies>
		<dependency>
			<groupId>de.elnarion.util</groupId>
			<artifactId>plantuml-generator-util</artifactId>
			<version>@project.version@</version>
			<classifier>tests</classifier>
			<type>test-jar</type>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.16.1</version>
		</dependency>
		<dependency>
			<groupId>javax.persistence</groupId>
			<artifactId>javax.persistence-api</artifactId>
			<version>2.2</version>
		</dependency>
	</dependencies>

From this classpath the sequence diagram is generated, but all methods matching the regular expression "getData" are ignored/removed. This is similar to the JUnit-tests of the PlantUML generator utility:

			<plugin>
				<artifactId>plantuml-generator-maven-plugin</artifactId>
				<groupId>de.elnarion.maven</groupId>
				<version>@project.version@</version>
				<executions>
					<execution>
						<id>generate-simple-diagram</id>
						<goals>
							<goal>generateSequenceDiagram</goal>
						</goals>
						<phase>generate-test-sources</phase>
						<configuration>
							<outputFilename>testsequencediagram1.txt</outputFilename>
							<startClass>de.elnarion.test.sequence.t0004.User</startClass>
							<startMethod>interaction</startMethod>
							<methodBlacklistRegexp>getData</methodBlacklistRegexp>
						</configuration>
					</execution>
				</executions>
			</plugin>

which is rendered this way:

0004_sequence_diagram_with_blacklisted_method_diagram

and produces this PlantUML diagram text:

@startuml

participant User
participant View
participant Controller
participant Model

activate User
	User -> View : interact
	activate View
		View -> Controller : handleEvent
		activate Controller
			Controller -> Model : manipulate
			activate Model
				Model -> View : notifyView
				activate View
					View --> Model
				deactivate View
				Model --> Controller
			deactivate Model
			Controller --> View
		deactivate Controller
		View --> User
	deactivate View
deactivate User

@enduml

Without the parameter the diagram would look like this:

0004_sequence_diagram_with_custom_classloader_diagram