mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-13 04:15:06 +00:00
[fixes #3781] Replace inefficient Javadoc Regex
This commit is contained in:
1 parent
9f9668f18b
commit
03fb4cb110
5 files changed
+419
-6
No files matched your search
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2013-2024 The Project Lombok Authors.
|
||||
* Copyright (C) 2013-2025 The Project Lombok Authors.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -906,7 +906,7 @@ public class HandlerUtil {
|
||||
private Pattern pattern;
|
||||
|
||||
JavadocTag(String regexpFragment) {
|
||||
pattern = Pattern.compile("\\s?^[ \\t]*\\**[ \\t]*" + regexpFragment + "(\\S|\\s)*?(?=(\\s^\\s*\\**\\s*@|\\Z))", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
|
||||
pattern = Pattern.compile("\\s?^[ \\t]*\\**[ \\t]*" + regexpFragment + ".*?(?=(\\s^\\s*\\**\\s*@|\\Z))", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -978,7 +978,7 @@ public class HandlerUtil {
|
||||
|
||||
public static String getParamJavadoc(String methodComment, String param) {
|
||||
if (methodComment == null || methodComment.isEmpty()) return methodComment;
|
||||
Pattern pattern = Pattern.compile("@param " + param + " (\\S|\\s)+?(?=^ ?@|\\z)", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
|
||||
Pattern pattern = Pattern.compile("@param " + param + " .+?(?=^ ?@|\\z)", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
|
||||
Matcher matcher = pattern.matcher(methodComment);
|
||||
if (matcher.find()) {
|
||||
return matcher.group();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009-2024 The Project Lombok Authors.
|
||||
* Copyright (C) 2009-2025 The Project Lombok Authors.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -2799,8 +2799,8 @@ public class EclipseHandlerUtil {
|
||||
return annotations;
|
||||
}
|
||||
|
||||
private static final Pattern JAVADOC_PATTERN = Pattern.compile("^\\s*\\/\\*\\*((?:\\S|\\s)*?)\\*\\/", Pattern.MULTILINE);
|
||||
private static final Pattern LEADING_ASTERISKS_PATTERN = Pattern.compile("(?m)^\\s*\\* ?");
|
||||
private static final Pattern JAVADOC_PATTERN = Pattern.compile("^\\s*\\/\\*\\*(.*?)\\*\\/", Pattern.MULTILINE | Pattern.DOTALL);
|
||||
private static final Pattern LEADING_ASTERISKS_PATTERN = Pattern.compile("^\\s*\\* ?", Pattern.MULTILINE);
|
||||
|
||||
public static String getDocComment(EclipseNode eclipseNode) {
|
||||
if (eclipseNode.getAst().getSource() == null) return null;
|
||||
|
||||
@@ -163,3 +163,207 @@ class GetterSetterJavadoc5 {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GetterSetterJavadocLong {
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*/
|
||||
private String userId;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public GetterSetterJavadocLong() {
|
||||
}
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public String getUserId() {
|
||||
return this.userId;
|
||||
}
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param userId the unique identifier assigned to a user. This value must be non-null
|
||||
* and conform to the format defined by the system. Passing a null or
|
||||
* invalid ID may result in an {@link IllegalArgumentException} or
|
||||
* similar error.
|
||||
* @param databaseConnection the connection to the database used for retrieving or
|
||||
* persisting the user ID. This parameter is required for
|
||||
* database-related operations and must be properly closed
|
||||
* after use to prevent resource leaks.
|
||||
* @param userRole the role associated with the user (e.g., "admin", "user", "guest").
|
||||
* This parameter may influence access control and permissions
|
||||
* granted to the user within the system.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public void setUserId(final String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public boolean equals(final java.lang.Object o) {
|
||||
if (o == this) return true;
|
||||
if (!(o instanceof GetterSetterJavadocLong)) return false;
|
||||
final GetterSetterJavadocLong other = (GetterSetterJavadocLong) o;
|
||||
if (!other.canEqual((java.lang.Object) this)) return false;
|
||||
final java.lang.Object this$userId = this.getUserId();
|
||||
final java.lang.Object other$userId = other.getUserId();
|
||||
if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) return false;
|
||||
return true;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected boolean canEqual(final java.lang.Object other) {
|
||||
return other instanceof GetterSetterJavadocLong;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public int hashCode() {
|
||||
final int PRIME = 59;
|
||||
int result = 1;
|
||||
final java.lang.Object $userId = this.getUserId();
|
||||
result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
|
||||
return result;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public java.lang.String toString() {
|
||||
return "GetterSetterJavadocLong(userId=" + this.getUserId() + ")";
|
||||
}
|
||||
}
|
||||
@@ -132,3 +132,148 @@ class GetterSetterJavadoc3 {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@lombok.Data class GetterSetterJavadocLong {
|
||||
private String userId;
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated String getUserId() {
|
||||
return this.userId;
|
||||
}
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param userId the unique identifier assigned to a user. This value must be non-null
|
||||
* and conform to the format defined by the system. Passing a null or
|
||||
* invalid ID may result in an {@link IllegalArgumentException} or
|
||||
* similar error.
|
||||
* @param databaseConnection the connection to the database used for retrieving or
|
||||
* persisting the user ID. This parameter is required for
|
||||
* database-related operations and must be properly closed
|
||||
* after use to prevent resource leaks.
|
||||
* @param userRole the role associated with the user (e.g., "admin", "user", "guest").
|
||||
* This parameter may influence access control and permissions
|
||||
* granted to the user within the system.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated void setUserId(final String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated boolean equals(final java.lang.Object o) {
|
||||
if ((o == this))
|
||||
return true;
|
||||
if ((! (o instanceof GetterSetterJavadocLong)))
|
||||
return false;
|
||||
final GetterSetterJavadocLong other = (GetterSetterJavadocLong) o;
|
||||
if ((! other.canEqual((java.lang.Object) this)))
|
||||
return false;
|
||||
final java.lang.Object this$userId = this.getUserId();
|
||||
final java.lang.Object other$userId = other.getUserId();
|
||||
if (((this$userId == null) ? (other$userId != null) : (! this$userId.equals(other$userId))))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
protected @java.lang.SuppressWarnings("all") @lombok.Generated boolean canEqual(final java.lang.Object other) {
|
||||
return (other instanceof GetterSetterJavadocLong);
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated int hashCode() {
|
||||
final int PRIME = 59;
|
||||
int result = 1;
|
||||
final java.lang.Object $userId = this.getUserId();
|
||||
result = ((result * PRIME) + (($userId == null) ? 43 : $userId.hashCode()));
|
||||
return result;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
|
||||
return (("GetterSetterJavadocLong(userId=" + this.getUserId()) + ")");
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated GetterSetterJavadocLong() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
@@ -62,3 +62,67 @@ class GetterSetterJavadoc5 {
|
||||
*/
|
||||
@lombok.Getter @lombok.Setter private int fieldName;
|
||||
}
|
||||
|
||||
@lombok.Data
|
||||
class GetterSetterJavadocLong {
|
||||
/**
|
||||
* This field represents the unique identifier for a user in the system. It is used
|
||||
* throughout the application to uniquely identify and retrieve user-related data.
|
||||
* The ID is typically generated by the database and is guaranteed to be unique
|
||||
* within the context of the system.
|
||||
*
|
||||
* <p>The ID is an integral part of various operations, including but not limited to:
|
||||
* <ul>
|
||||
* <li>Authenticating users during login processes.</li>
|
||||
* <li>Associating user-specific preferences and settings.</li>
|
||||
* <li>Tracking user activity and logs for auditing purposes.</li>
|
||||
* <li>Facilitating relationships between users and other entities such as orders,
|
||||
* messages, or roles within the system.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Key characteristics of the {@code userId} field:
|
||||
* <ul>
|
||||
* <li><strong>Immutability:</strong> Once assigned, the ID must not be modified to
|
||||
* ensure data integrity.</li>
|
||||
* <li><strong>Security:</strong> Access to this field should be controlled to prevent
|
||||
* unauthorized modifications or data leakage.</li>
|
||||
* <li><strong>Uniqueness:</strong> The ID must be unique within the system. For
|
||||
* distributed systems, consider using GUIDs or UUIDs to avoid collisions.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Example usage:
|
||||
* <pre>
|
||||
* User user = userService.getUserById(userId);
|
||||
* if (user != null) {
|
||||
* System.out.println("User found: " + user.getName());
|
||||
* } else {
|
||||
* System.out.println("User not found.");
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>Developers should ensure that the ID complies with constraints imposed by the
|
||||
* database schema, such as length and format restrictions. Furthermore, it is
|
||||
* recommended to validate the ID before persisting or using it in critical operations.
|
||||
*
|
||||
* <p>For methods or constructors that accept the {@code userId} as a parameter, the
|
||||
* following guidelines should be followed:
|
||||
* <ul>
|
||||
* <li>Validate the format of the ID to ensure it adheres to system requirements.</li>
|
||||
* <li>Handle null or empty values gracefully, providing appropriate error messages
|
||||
* or default behavior where necessary.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param userId the unique identifier assigned to a user. This value must be non-null
|
||||
* and conform to the format defined by the system. Passing a null or
|
||||
* invalid ID may result in an {@link IllegalArgumentException} or
|
||||
* similar error.
|
||||
* @param databaseConnection the connection to the database used for retrieving or
|
||||
* persisting the user ID. This parameter is required for
|
||||
* database-related operations and must be properly closed
|
||||
* after use to prevent resource leaks.
|
||||
* @param userRole the role associated with the user (e.g., "admin", "user", "guest").
|
||||
* This parameter may influence access control and permissions
|
||||
* granted to the user within the system.
|
||||
*/
|
||||
private String userId;
|
||||
}
|
||||
Reference in new issue
Block a user