Record Class PortBlock
java.lang.Object
java.lang.Record
io.camunda.connector.http.base.blocklist.block.PortBlock
- All Implemented Interfaces:
Block
public record PortBlock(String blockName, Set<Integer> blockedPorts)
extends Record
implements Block
This class represents a Port Block that can be used to block URLs based on specific port numbers.
The Port Block is defined by a comma-separated list of port numbers and a block name. If a URL's port matches any of the specified port numbers, it is considered blocked, and an exception is thrown.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theblockedPortsrecord component.Returns the value of theblockNamerecord component.static PortBlockCreates a new instance of the PortBlock class with the specified port numbers and block name.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.final StringtoString()Returns a string representation of this record class.voidValidates a given URL against the blocking criteria.
-
Constructor Details
-
PortBlock
Creates an instance of aPortBlockrecord class.- Parameters:
blockName- the value for theblockNamerecord componentblockedPorts- the value for theblockedPortsrecord component
-
-
Method Details
-
create
Creates a new instance of the PortBlock class with the specified port numbers and block name.- Parameters:
value- The comma-separated list of port numbers used for blocking.blockName- The name of the block for identification.- Returns:
- An instance of PortBlock.
- Throws:
IllegalArgumentException- if the provided port numbers or format are invalid.NumberFormatException- if the provided port numbers cannot be parsed as integers.NullPointerException- if either 'value' or 'blockName' is null.
-
validate
Validates a given URL against the blocking criteria.If the URL's port matches any of the specified port numbers, a
ConnectorInputExceptionis thrown, indicating that the URL is blocked.- Specified by:
validatein interfaceBlock- Parameters:
url- The URL to validate.- Throws:
ConnectorInputException- if the URL matches the block conditions.
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
blockName
Returns the value of theblockNamerecord component.- Returns:
- the value of the
blockNamerecord component
-
blockedPorts
Returns the value of theblockedPortsrecord component.- Returns:
- the value of the
blockedPortsrecord component
-