chore: removed lombok and upgraded copyright
This commit is contained in:
@@ -43,16 +43,12 @@ subprojects {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("org.slf4j:slf4j-api:$slf4jVersion")
|
compileOnly("org.slf4j:slf4j-api:$slf4jVersion")
|
||||||
compileOnly("org.projectlombok:lombok:$lombokVersion")
|
|
||||||
implementation("ch.qos.logback:logback-classic:$logbackVersion")
|
implementation("ch.qos.logback:logback-classic:$logbackVersion")
|
||||||
annotationProcessor("org.slf4j:slf4j-api:$slf4jVersion")
|
annotationProcessor("org.slf4j:slf4j-api:$slf4jVersion")
|
||||||
annotationProcessor("org.projectlombok:lombok:$lombokVersion")
|
|
||||||
|
|
||||||
testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion")
|
testCompileOnly("org.slf4j:slf4j-api:$slf4jVersion")
|
||||||
testCompileOnly("org.projectlombok:lombok:$lombokVersion")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion")
|
testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion")
|
||||||
testAnnotationProcessor("org.slf4j:slf4j-api:$slf4jVersion")
|
testAnnotationProcessor("org.slf4j:slf4j-api:$slf4jVersion")
|
||||||
testAnnotationProcessor("org.projectlombok:lombok:$lombokVersion")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<JavaCompile> {
|
tasks.withType<JavaCompile> {
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package contains commonly used exceptions will be used in JDevKit.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.devkit.core.exceptions;
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package is the core part of JDevKit, an open-source Java Development
|
|
||||||
* Kit that provides a set of convenient tools to streamline code development
|
|
||||||
* and enhance productivity. This package serves as the core package containing
|
|
||||||
* common exceptions that are used throughout the entire JDevKit project.
|
|
||||||
* <p>
|
|
||||||
* JDevKit is designed to be modular, and other specific feature modules within
|
|
||||||
* the library may rely on these exceptions from the core package.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.devkit.core;
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package is the main part of JDevKit, an open-source Java class library
|
|
||||||
* that provides a set of convenient tools to streamline code development and
|
|
||||||
* enhance productivity. This package serves as the root package for several
|
|
||||||
* modules, containing {@code devkit-core}, {@code guid} and {@code dev-utils}
|
|
||||||
* module.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.devkit;
|
|
||||||
@@ -17,7 +17,8 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import javax.crypto.BadPaddingException;
|
import javax.crypto.BadPaddingException;
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
@@ -68,9 +69,10 @@ import java.util.UUID;
|
|||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
* @since 1.1.0
|
* @since 1.1.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public final class AesUtil {
|
public final class AesUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(AesUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encrypts the data using the AES algorithm with the given secret.
|
* Encrypts the data using the AES algorithm with the given secret.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
@@ -55,6 +58,8 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
public final class Base64Util {
|
public final class Base64Util {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(Base64Util.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensure that there is only one Base64 Encoder.
|
* Ensure that there is only one Base64 Encoder.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.BooleanSupplier;
|
import java.util.function.BooleanSupplier;
|
||||||
@@ -44,6 +47,8 @@ import java.util.function.BooleanSupplier;
|
|||||||
*/
|
*/
|
||||||
public final class BoolUtil {
|
public final class BoolUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(BoolUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logical and calculation.
|
* Logical and calculation.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.BooleanSupplier;
|
import java.util.function.BooleanSupplier;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
@@ -73,6 +76,8 @@ import java.util.function.Supplier;
|
|||||||
*/
|
*/
|
||||||
public final class BranchUtil<T> {
|
public final class BranchUtil<T> {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(BranchUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@code BranchUtil} instance.
|
* Create a {@code BranchUtil} instance.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
@@ -67,6 +70,8 @@ import java.util.Optional;
|
|||||||
*/
|
*/
|
||||||
public final class HashUtil {
|
public final class HashUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(HashUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates the MD2 hash value of the specified string using the given charset.
|
* Calculates the MD2 hash value of the specified string using the given charset.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,18 +17,17 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link MapUtil} class provides utility methods for converting between objects and maps.
|
* The {@link MapUtil} class provides utility methods for converting between objects and maps.
|
||||||
* This class leverages the {@link ObjectMapAdapter} interface to perform the conversions.
|
* This class leverages the {@link ObjectMapAdapter} interface to perform the conversions.
|
||||||
* <p>
|
* <p>
|
||||||
* The utility methods in this class are useful for scenarios where objects need to be represented as maps for
|
* The utility methods in this class are useful for scenarios where objects need to be represented
|
||||||
* serialization, deserialization, or other purposes.
|
* as maps for serialization, deserialization, or other purposes.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* <p><b>Example usage:</b></p>
|
* <p><b>Example usage:</b></p>
|
||||||
@@ -84,9 +83,10 @@ import java.util.Optional;
|
|||||||
* @version 1.7.0
|
* @version 1.7.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public final class MapUtil {
|
public final class MapUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(MapUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an object to a map by mapping the field names to their corresponding values.
|
* Converts an object to a map by mapping the field names to their corresponding values.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ import java.util.Map;
|
|||||||
* This interface is useful for scenarios where objects need to be represented as maps for
|
* This interface is useful for scenarios where objects need to be represented as maps for
|
||||||
* serialization, deserialization, or other purposes.
|
* serialization, deserialization, or other purposes.
|
||||||
*
|
*
|
||||||
* <p>Implementations of this interface should provide the logic to convert an object of type {@code T}
|
* <p>Implementations of this interface should provide the logic to convert an object of type
|
||||||
* to a {@link Map} and vice versa.</p>
|
* {@code T} to a {@link Map} and vice versa.</p>
|
||||||
*
|
*
|
||||||
* <p><b>Example usage:</b></p>
|
* <p><b>Example usage:</b></p>
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils;
|
package com.onixbyte.devkit.utils;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,6 +34,8 @@ import java.util.stream.IntStream;
|
|||||||
*/
|
*/
|
||||||
public final class RangeUtil {
|
public final class RangeUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(RangeUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private constructor prevent class being instantiated.
|
* Private constructor prevent class being instantiated.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package is part of JDevKit, an open-source Java Development Kit that
|
|
||||||
* provides a set of convenient tools to streamline code development and
|
|
||||||
* enhance productivity. This package serves as the root package for the module
|
|
||||||
* dev-utils, which contains a collection of common utility classes commonly
|
|
||||||
* used in all Java Application development.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.devkit.utils;
|
|
||||||
@@ -25,8 +25,7 @@ package com.onixbyte.guid;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* <p><b>Example usage:</b></p>
|
* <p><b>Example usage:</b></p>
|
||||||
* <pre>
|
* <pre>{@code
|
||||||
* {@code
|
|
||||||
* public class StringGuidCreator implements GuidCreator<String> {
|
* public class StringGuidCreator implements GuidCreator<String> {
|
||||||
* private final AtomicLong counter = new AtomicLong();
|
* private final AtomicLong counter = new AtomicLong();
|
||||||
*
|
*
|
||||||
@@ -43,8 +42,7 @@ package com.onixbyte.guid;
|
|||||||
* System.out.println("Generated GUID: " + guid);
|
* System.out.println("Generated GUID: " + guid);
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* }</pre>
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
* @param <IdType> this represents the type of the Global Unique Identifier
|
* @param <IdType> this represents the type of the Global Unique Identifier
|
||||||
* @author Zihlu Wang
|
* @author Zihlu Wang
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package contains the custom exception classes related to GUID generation. These exceptions
|
|
||||||
* are thrown when there are issues or errors during the generation or processing of global unique
|
|
||||||
* identifiers (GUIDs).
|
|
||||||
* <p>
|
|
||||||
* The main exception class in this package is {@link com.onixbyte.guid.exceptions.TimingException},
|
|
||||||
* which is a runtime exception and serves as the base exception for all other custom exceptions
|
|
||||||
* related to GUID generation.
|
|
||||||
* <p>
|
|
||||||
* Custom exceptions in this package provide specific information about the type of error that
|
|
||||||
* occurred during GUID generation, making it easier for developers to handle and respond to
|
|
||||||
* different scenarios when dealing with GUIDs. They are designed to enhance the robustness and
|
|
||||||
* reliability of the GUID generation process by providing clear and meaningful error messages to
|
|
||||||
* the developers.
|
|
||||||
* <p>
|
|
||||||
* Developers using the GUID generation module should be aware of the possible exceptions that can
|
|
||||||
* be thrown and handle them appropriately to ensure smooth operation and error handling in
|
|
||||||
* their applications.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.guid.exceptions;
|
|
||||||
@@ -19,6 +19,8 @@ package com.onixbyte.guid.impl;
|
|||||||
|
|
||||||
import com.onixbyte.guid.GuidCreator;
|
import com.onixbyte.guid.GuidCreator;
|
||||||
import com.onixbyte.guid.exceptions.TimingException;
|
import com.onixbyte.guid.exceptions.TimingException;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
@@ -47,6 +49,8 @@ import java.time.ZoneId;
|
|||||||
*/
|
*/
|
||||||
public final class SnowflakeGuidCreator implements GuidCreator<Long> {
|
public final class SnowflakeGuidCreator implements GuidCreator<Long> {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(SnowflakeGuidCreator.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a SnowflakeGuidGenerator with the default start epoch and custom worker ID, data
|
* Constructs a SnowflakeGuidGenerator with the default start epoch and custom worker ID, data
|
||||||
* centre ID.
|
* centre ID.
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The package provides a set of tools for generating globally unique identifiers (GUIDs).
|
|
||||||
* <p>
|
|
||||||
* The goal of this library is to provide an efficient, reliable way to generate globally unique
|
|
||||||
* identifiers without requiring any specific environment or configuration.
|
|
||||||
* <p>
|
|
||||||
* Key features include:
|
|
||||||
* <ul>
|
|
||||||
* <li>Efficient generation of globally unique identifiers</li>
|
|
||||||
* <li>High performance and quick response</li>
|
|
||||||
* <li>Easy to integrate</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.guid;
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -18,7 +18,8 @@
|
|||||||
package com.onixbyte.security;
|
package com.onixbyte.security;
|
||||||
|
|
||||||
import com.onixbyte.security.exception.KeyLoadingException;
|
import com.onixbyte.security.exception.KeyLoadingException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.security.KeyFactory;
|
import java.security.KeyFactory;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
@@ -38,8 +39,7 @@ import java.util.Base64;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* <p><b>Example usage:</b></p>
|
* <p><b>Example usage:</b></p>
|
||||||
* <pre>
|
* <pre>{@code
|
||||||
* {@code
|
|
||||||
* String pemPrivateKey = """
|
* String pemPrivateKey = """
|
||||||
* -----BEGIN PRIVATE KEY-----
|
* -----BEGIN PRIVATE KEY-----
|
||||||
* ...
|
* ...
|
||||||
@@ -51,16 +51,16 @@ import java.util.Base64;
|
|||||||
* ...
|
* ...
|
||||||
* -----END PUBLIC KEY-----""";
|
* -----END PUBLIC KEY-----""";
|
||||||
* ECPublicKey publicKey = KeyLoader.loadEcdsaPublicKey(pemPublicKey);
|
* ECPublicKey publicKey = KeyLoader.loadEcdsaPublicKey(pemPublicKey);
|
||||||
* }
|
* }</pre>
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
* @author zihluwang
|
* @author zihluwang
|
||||||
* @version 1.6.0
|
* @version 1.6.0
|
||||||
* @since 1.6.0
|
* @since 1.6.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class KeyLoader {
|
public class KeyLoader {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(KeyLoader.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private constructor prevents from being initialised.
|
* Private constructor prevents from being initialised.
|
||||||
*/
|
*/
|
||||||
|
|||||||
+8
-10
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -18,25 +18,23 @@
|
|||||||
package com.onixbyte.security.exception;
|
package com.onixbyte.security.exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@code KeyLoadingException} class represents an exception that is thrown when there is an error
|
* The {@code KeyLoadingException} class represents an exception that is thrown when there is an
|
||||||
* loading cryptographic keys. This exception can be used to indicate various issues such as invalid key
|
* error loading cryptographic keys. This exception can be used to indicate various issues such as
|
||||||
* specifications, unsupported key algorithms, or other key loading errors.
|
* invalid key specifications, unsupported key algorithms, or other key loading errors.
|
||||||
* <p>
|
* <p>
|
||||||
* This class extends {@link RuntimeException}, allowing it to be thrown without being declared in a method's
|
* This class extends {@link RuntimeException}, allowing it to be thrown without being declared in
|
||||||
* {@code throws} clause.
|
* a method's {@code throws} clause.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* <p><b>Example usage:</b></p>
|
* <p><b>Example usage:</b></p>
|
||||||
* <pre>
|
* <pre>{@code
|
||||||
* {@code
|
|
||||||
* try {
|
* try {
|
||||||
* ECPrivateKey privateKey = KeyLoader.loadEcdsaPrivateKey(pemPrivateKey);
|
* ECPrivateKey privateKey = KeyLoader.loadEcdsaPrivateKey(pemPrivateKey);
|
||||||
* } catch (KeyLoadingException e) {
|
* } catch (KeyLoadingException e) {
|
||||||
* // Handle the exception
|
* // Handle the exception
|
||||||
* e.printStackTrace();
|
* e.printStackTrace();
|
||||||
* }
|
* }
|
||||||
* }
|
* }</pre>
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
* @author zihluwang
|
* @author zihluwang
|
||||||
* @version 1.6.0
|
* @version 1.6.0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,7 +17,8 @@
|
|||||||
|
|
||||||
package com.onixbyte.devkit.utils.unsafe;
|
package com.onixbyte.devkit.utils.unsafe;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -66,9 +67,10 @@ import java.util.Map;
|
|||||||
* @version 1.4.2
|
* @version 1.4.2
|
||||||
* @since 1.4.2
|
* @since 1.4.2
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public final class ReflectMapUtil {
|
public final class ReflectMapUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(ReflectMapUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an object to a map by mapping the field names to their corresponding values.
|
* Converts an object to a map by mapping the field names to their corresponding values.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,7 +17,8 @@
|
|||||||
|
|
||||||
package com.onixbyte.nums;
|
package com.onixbyte.nums;
|
||||||
|
|
||||||
import lombok.Getter;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@@ -90,9 +91,10 @@ import java.util.function.Function;
|
|||||||
* @see BigDecimal
|
* @see BigDecimal
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Getter
|
|
||||||
public final class ChainedCalcUtil {
|
public final class ChainedCalcUtil {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(ChainedCalcUtil.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a {@code ChainedCalcUtil} instance with the specified initial value.
|
* Creates a {@code ChainedCalcUtil} instance with the specified initial value.
|
||||||
*
|
*
|
||||||
@@ -235,6 +237,15 @@ public final class ChainedCalcUtil {
|
|||||||
return value.setScale(scale, RoundingMode.HALF_UP);
|
return value.setScale(scale, RoundingMode.HALF_UP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current value as a {@link BigDecimal}.
|
||||||
|
*
|
||||||
|
* @return the current value as a {@link BigDecimal}
|
||||||
|
*/
|
||||||
|
public BigDecimal getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value as a {@link Double}.
|
* Returns the current value as a {@link Double}.
|
||||||
*
|
*
|
||||||
@@ -297,7 +308,7 @@ public final class ChainedCalcUtil {
|
|||||||
Object other,
|
Object other,
|
||||||
Integer beforeOperateScale) {
|
Integer beforeOperateScale) {
|
||||||
return baseOperator((otherValue) ->
|
return baseOperator((otherValue) ->
|
||||||
operator.apply(this.value, otherValue),
|
operator.apply(this.value, otherValue),
|
||||||
other,
|
other,
|
||||||
beforeOperateScale);
|
beforeOperateScale);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -14,9 +14,12 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.onixbyte.nums;
|
package com.onixbyte.nums;
|
||||||
|
|
||||||
import com.onixbyte.nums.model.QuartileBounds;
|
import com.onixbyte.nums.model.QuartileBounds;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -48,6 +51,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public final class PercentileCalculator {
|
public final class PercentileCalculator {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(PercentileCalculator.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private constructor prevents from being initialised.
|
* Private constructor prevents from being initialised.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+5
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -18,6 +18,8 @@
|
|||||||
package com.onixbyte.propertyguard.autoconfiguration;
|
package com.onixbyte.propertyguard.autoconfiguration;
|
||||||
|
|
||||||
import com.onixbyte.devkit.utils.AesUtil;
|
import com.onixbyte.devkit.utils.AesUtil;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.env.EnvironmentPostProcessor;
|
import org.springframework.boot.env.EnvironmentPostProcessor;
|
||||||
import org.springframework.boot.env.OriginTrackedMapPropertySource;
|
import org.springframework.boot.env.OriginTrackedMapPropertySource;
|
||||||
@@ -65,6 +67,8 @@ import java.util.Optional;
|
|||||||
*/
|
*/
|
||||||
public class PropertyGuard implements EnvironmentPostProcessor {
|
public class PropertyGuard implements EnvironmentPostProcessor {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(PropertyGuard.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link PropertyGuard} instance.
|
* Create a {@link PropertyGuard} instance.
|
||||||
*/
|
*/
|
||||||
|
|||||||
+5
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -38,7 +38,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|||||||
import com.onixbyte.simplejwt.exceptions.IllegalKeyPairException;
|
import com.onixbyte.simplejwt.exceptions.IllegalKeyPairException;
|
||||||
import com.onixbyte.simplejwt.exceptions.IllegalSecretException;
|
import com.onixbyte.simplejwt.exceptions.IllegalSecretException;
|
||||||
import com.onixbyte.simplejwt.exceptions.UnsupportedAlgorithmException;
|
import com.onixbyte.simplejwt.exceptions.UnsupportedAlgorithmException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.security.interfaces.ECPrivateKey;
|
import java.security.interfaces.ECPrivateKey;
|
||||||
@@ -98,9 +99,10 @@ import java.util.function.Function;
|
|||||||
* @see JWTCreator.Builder
|
* @see JWTCreator.Builder
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class AuthzeroTokenResolver implements TokenResolver<DecodedJWT> {
|
public class AuthzeroTokenResolver implements TokenResolver<DecodedJWT> {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(AuthzeroTokenResolver.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a builder of {@link AuthzeroTokenResolver}.
|
* Create a builder of {@link AuthzeroTokenResolver}.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package contains classes related to the integration of the {@code com.auth0:java-jwt}
|
|
||||||
* library in the Simple JWT project. {@code com.auth0:java-jwt} is a powerful and widely-used
|
|
||||||
* identity as a Service (IDaaS) platform that provides secure authentication and authorisation
|
|
||||||
* solutions for web and mobile applications. The classes in this package provide the necessary
|
|
||||||
* functionality to handle JSON Web Tokens (JWTs) using the {@code com.auth0:java-jwt} library.
|
|
||||||
* <p>
|
|
||||||
* The main class in this package is the {@link
|
|
||||||
* com.onixbyte.simplejwt.authzero.AuthzeroTokenResolver}, which implements the
|
|
||||||
* {@link com.onixbyte.simplejwt.TokenResolver} interface and uses the {@code com.auth0:java-jwt}
|
|
||||||
* library to handle JWT operations. It provides the functionality to create, validate, and extract
|
|
||||||
* JWTs using the {@code com.auth0:java-jwt} library. Developers can use this class as the main
|
|
||||||
* token resolver in the Simple JWT project when integrating {@code com.auth0:java-jwt} as the
|
|
||||||
* JWT management library.
|
|
||||||
* <p>
|
|
||||||
* The {@link com.onixbyte.simplejwt.authzero.AuthzeroTokenResolver} relies on the
|
|
||||||
* {@code com.auth0:java-jwt} library to handle the underlying JWT operations, including token
|
|
||||||
* creation, validation, and extraction. It utilizes the {@code com.auth0:java-jwt}
|
|
||||||
* {@link com.auth0.jwt.algorithms.Algorithm} class to define and use different algorithms for
|
|
||||||
* JWT signing and verification.
|
|
||||||
* <p>
|
|
||||||
* Developers using the {@code com.auth0:java-jwt} integration should be familiar with the concepts
|
|
||||||
* and usage of the {@code com.auth0:java-jwt} library and follow the official
|
|
||||||
* {@code com.auth0:java-jwt} documentation for best practices and security considerations.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.authzero;
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -18,6 +18,8 @@
|
|||||||
package com.onixbyte.simplejwt;
|
package com.onixbyte.simplejwt;
|
||||||
|
|
||||||
import com.onixbyte.simplejwt.exceptions.WeakSecretException;
|
import com.onixbyte.simplejwt.exceptions.WeakSecretException;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
@@ -32,6 +34,8 @@ import java.util.Random;
|
|||||||
*/
|
*/
|
||||||
public final class SecretCreator {
|
public final class SecretCreator {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(SecretCreator.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a secure secret with the specified length and character sets.
|
* Generates a secure secret with the specified length and character sets.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
package com.onixbyte.simplejwt;
|
package com.onixbyte.simplejwt;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@code TokenPayload} interface is used to mark a data class as suitable
|
* {@code TokenPayload} interface is used to mark a data class as suitable
|
||||||
* for being used as the payload in a JSON Web Token (JWT). Any class
|
* for being used as the payload in a JSON Web Token (JWT). Any class
|
||||||
@@ -44,7 +42,4 @@ import java.util.Map;
|
|||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public interface TokenPayload {
|
public interface TokenPayload {
|
||||||
|
|
||||||
// Marker interface for JWT payload data classes
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package contains annotation classes that are used to prevent annotated
|
|
||||||
* properties from being automatically injected into the JSON Web Token (JWT)
|
|
||||||
* payload during token generation. These annotations can be applied to
|
|
||||||
* properties of a data class to exclude them from being included as part
|
|
||||||
* of the JWT payload.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.annotations;
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+1
-4
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
package com.onixbyte.simplejwt.constants;
|
package com.onixbyte.simplejwt.constants;
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,7 +43,6 @@ import java.util.List;
|
|||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Getter
|
|
||||||
public enum TokenAlgorithm {
|
public enum TokenAlgorithm {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -17,14 +17,11 @@
|
|||||||
|
|
||||||
package com.onixbyte.simplejwt.constants;
|
package com.onixbyte.simplejwt.constants;
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base data types used to process enum data.
|
* The base data types used to process enum data.
|
||||||
*
|
*
|
||||||
* @author Zihlu Wang
|
* @author Zihlu Wang
|
||||||
*/
|
*/
|
||||||
@Getter
|
|
||||||
public enum TokenDataType {
|
public enum TokenDataType {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,4 +67,12 @@ public enum TokenDataType {
|
|||||||
this.mappedClass = mappedClass;
|
this.mappedClass = mappedClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the target mapped class.
|
||||||
|
*
|
||||||
|
* @return mapped class
|
||||||
|
*/
|
||||||
|
public Class<?> getMappedClass() {
|
||||||
|
return mappedClass;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This package contains constant values related to JSON Web Token (JWT)
|
|
||||||
* processing. These constants define various aspects of JWT, such as the
|
|
||||||
* algorithms being used for token signing and verification, and other
|
|
||||||
* configuration parameters.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.constants;
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
* Copyright (C) 2024-2025 OnixByte.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The {@code cn.org.codecrafters.simplejwt.exceptions} package contains
|
|
||||||
* custom exception classes related to the
|
|
||||||
* {@code cn.org.codecrafters:simple-jwt-facade} library. These exceptions are
|
|
||||||
* thrown when there are issues or errors during the generation , validation,
|
|
||||||
* or processing of JSON Web Tokens (JWTs) in Java applications.
|
|
||||||
* <p>
|
|
||||||
* Custom exception classes in this package are designed to enhance the
|
|
||||||
* robustness and reliability of the JWT handling process by providing clear
|
|
||||||
* and meaningful error messages to the developers. They help developers
|
|
||||||
* identify and troubleshoot issues related to JWT generation, validation, or
|
|
||||||
* extraction and ensure smooth operation and error handling in
|
|
||||||
* their applications.
|
|
||||||
* <p>
|
|
||||||
* Developers using the {@code cn.org.codecrafters:simple-jwt-facade} library
|
|
||||||
* should be aware of the possible exceptions that can be thrown and handle
|
|
||||||
* them appropriately to ensure secure and reliable JWT handling in their
|
|
||||||
* Java applications.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.exceptions;
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2024 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The {@code cn.org.codecrafters.simplejwt} package is the core package of the
|
|
||||||
* <b>Simple JWT</b> project, which provides a lightweight and easy-to-use
|
|
||||||
* library for working with JSON Web Tokens (JWTs) in Java applications. JWT is
|
|
||||||
* a widely-used standard for representing claims between two parties,
|
|
||||||
* typically used to secure web and mobile applications. This library aims to
|
|
||||||
* simplify the JWT handling process and provide convenient abstractions for
|
|
||||||
* JWT generation, validation, and extraction.
|
|
||||||
* <p>
|
|
||||||
* The <b>Simple JWT</b> library is designed to be flexible and customisable,
|
|
||||||
* allowing developers to use different algorithms, token resolvers, and token
|
|
||||||
* payload classes based on their specific application requirements. It aims to
|
|
||||||
* simplify the JWT handling process while maintaining security and best
|
|
||||||
* practices for working with JWTs.
|
|
||||||
* <p>
|
|
||||||
* Developers should refer to the official documentation and examples for the
|
|
||||||
* <b>Simple JWT</b> project to understand how to use the library effectively
|
|
||||||
* and securely in their Java applications.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt;
|
|
||||||
+4
-2
@@ -24,7 +24,8 @@ import com.onixbyte.simplejwt.autoconfiguration.properties.SimpleJwtProperties;
|
|||||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.onixbyte.simplejwt.constants.TokenAlgorithm;
|
import com.onixbyte.simplejwt.constants.TokenAlgorithm;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
@@ -55,7 +56,6 @@ import org.springframework.context.annotation.Bean;
|
|||||||
* @version 1.6.0
|
* @version 1.6.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
@AutoConfiguration
|
@AutoConfiguration
|
||||||
@EnableConfigurationProperties(value = {SimpleJwtProperties.class})
|
@EnableConfigurationProperties(value = {SimpleJwtProperties.class})
|
||||||
@ConditionalOnClass({DecodedJWT.class, AuthzeroTokenResolver.class})
|
@ConditionalOnClass({DecodedJWT.class, AuthzeroTokenResolver.class})
|
||||||
@@ -64,6 +64,8 @@ import org.springframework.context.annotation.Bean;
|
|||||||
@AutoConfigureAfter(value = GuidAutoConfiguration.class)
|
@AutoConfigureAfter(value = GuidAutoConfiguration.class)
|
||||||
public class AuthzeroTokenResolverAutoConfiguration {
|
public class AuthzeroTokenResolverAutoConfiguration {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(AuthzeroTokenResolverAutoConfiguration.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new {@code SimpleJwtAutoConfiguration} instance with the
|
* Constructs a new {@code SimpleJwtAutoConfiguration} instance with the
|
||||||
* provided SimpleJwtProperties.
|
* provided SimpleJwtProperties.
|
||||||
|
|||||||
+4
-2
@@ -19,7 +19,8 @@ package com.onixbyte.simplejwt.autoconfiguration;
|
|||||||
|
|
||||||
import com.onixbyte.guid.GuidCreator;
|
import com.onixbyte.guid.GuidCreator;
|
||||||
import com.onixbyte.simplejwt.autoconfiguration.conditions.GuidCreatorCondition;
|
import com.onixbyte.simplejwt.autoconfiguration.conditions.GuidCreatorCondition;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
@@ -33,10 +34,11 @@ import java.util.UUID;
|
|||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
@AutoConfiguration
|
@AutoConfiguration
|
||||||
public class GuidAutoConfiguration {
|
public class GuidAutoConfiguration {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(GuidAutoConfiguration.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
*/
|
*/
|
||||||
|
|||||||
+4
-2
@@ -18,7 +18,8 @@
|
|||||||
package com.onixbyte.simplejwt.autoconfiguration.conditions;
|
package com.onixbyte.simplejwt.autoconfiguration.conditions;
|
||||||
|
|
||||||
import com.onixbyte.guid.GuidCreator;
|
import com.onixbyte.guid.GuidCreator;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.annotation.Condition;
|
import org.springframework.context.annotation.Condition;
|
||||||
import org.springframework.context.annotation.ConditionContext;
|
import org.springframework.context.annotation.ConditionContext;
|
||||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||||
@@ -32,9 +33,10 @@ import java.util.Objects;
|
|||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class GuidCreatorCondition implements Condition {
|
public class GuidCreatorCondition implements Condition {
|
||||||
|
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(GuidCreatorCondition.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
*/
|
*/
|
||||||
|
|||||||
-38
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* The classes in this package are responsible for automatically configuring
|
|
||||||
* the Simple JWT library when it is used in a Spring Boot application. They
|
|
||||||
* provide default settings and configurations to ensure that the library works
|
|
||||||
* smoothly and seamlessly without requiring developers to manually configure
|
|
||||||
* it.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* <p>
|
|
||||||
* Developers using the Simple JWT library with Spring Boot do not need to
|
|
||||||
* explicitly configure the library, as the auto-configuration classes take
|
|
||||||
* care of setting up the necessary components and configurations
|
|
||||||
* automatically. However, developers still have the flexibility to customize
|
|
||||||
* the behavior of the library by providing their own configurations and
|
|
||||||
* properties.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.autoconfiguration;
|
|
||||||
+89
-2
@@ -20,7 +20,6 @@ package com.onixbyte.simplejwt.autoconfiguration.properties;
|
|||||||
import com.onixbyte.simplejwt.SecretCreator;
|
import com.onixbyte.simplejwt.SecretCreator;
|
||||||
import com.onixbyte.simplejwt.autoconfiguration.AuthzeroTokenResolverAutoConfiguration;
|
import com.onixbyte.simplejwt.autoconfiguration.AuthzeroTokenResolverAutoConfiguration;
|
||||||
import com.onixbyte.simplejwt.constants.TokenAlgorithm;
|
import com.onixbyte.simplejwt.constants.TokenAlgorithm;
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,7 +41,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
|||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
@Data
|
|
||||||
@ConfigurationProperties(prefix = "onixbyte.simple-jwt")
|
@ConfigurationProperties(prefix = "onixbyte.simple-jwt")
|
||||||
public class SimpleJwtProperties {
|
public class SimpleJwtProperties {
|
||||||
|
|
||||||
@@ -79,5 +77,94 @@ public class SimpleJwtProperties {
|
|||||||
*/
|
*/
|
||||||
private String publicKey;
|
private String publicKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Algorithm getter.
|
||||||
|
*
|
||||||
|
* @return algorithm
|
||||||
|
*/
|
||||||
|
public TokenAlgorithm getAlgorithm() {
|
||||||
|
return algorithm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Algorithm setter.
|
||||||
|
*
|
||||||
|
* @param algorithm the algorithm
|
||||||
|
*/
|
||||||
|
public void setAlgorithm(TokenAlgorithm algorithm) {
|
||||||
|
this.algorithm = algorithm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Issuer getter.
|
||||||
|
*
|
||||||
|
* @return issuer
|
||||||
|
*/
|
||||||
|
public String getIssuer() {
|
||||||
|
return issuer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Issuer setter.
|
||||||
|
*
|
||||||
|
* @param issuer the issuer
|
||||||
|
*/
|
||||||
|
public void setIssuer(String issuer) {
|
||||||
|
this.issuer = issuer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Secret setter.
|
||||||
|
*
|
||||||
|
* @return secret
|
||||||
|
*/
|
||||||
|
public String getSecret() {
|
||||||
|
return secret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Secret setter.
|
||||||
|
*
|
||||||
|
* @param secret the secret
|
||||||
|
*/
|
||||||
|
public void setSecret(String secret) {
|
||||||
|
this.secret = secret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Private key getter.
|
||||||
|
*
|
||||||
|
* @return private key
|
||||||
|
*/
|
||||||
|
public String getPrivateKey() {
|
||||||
|
return privateKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Private key setter.
|
||||||
|
*
|
||||||
|
* @param privateKey private key
|
||||||
|
*/
|
||||||
|
public void setPrivateKey(String privateKey) {
|
||||||
|
this.privateKey = privateKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Public key getter.
|
||||||
|
*
|
||||||
|
* @return public key
|
||||||
|
*/
|
||||||
|
public String getPublicKey() {
|
||||||
|
return publicKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Public key setter.
|
||||||
|
*
|
||||||
|
* @param publicKey public key
|
||||||
|
*/
|
||||||
|
public void setPublicKey(String publicKey) {
|
||||||
|
this.publicKey = publicKey;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-35
@@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024-2025 OnixByte.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
*
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The "cn.org.codecrafters.simplejwt.autoconfiguration.properties" package
|
|
||||||
* contains configuration properties classes used for Simple JWT library
|
|
||||||
* autoconfiguration. These classes define the properties that can be
|
|
||||||
* configured in the application's properties file (e.g.,
|
|
||||||
* application.properties) to customize the behavior and settings of the Simple
|
|
||||||
* JWT library.
|
|
||||||
* <p>
|
|
||||||
* Developers can customize the JWT algorithm, issuer, and secret by setting
|
|
||||||
* the corresponding properties in the application's properties file with the
|
|
||||||
* prefix "code-crafters.simple-jwt". The SimpleJwtAutoConfiguration class
|
|
||||||
* reads these properties and uses them to create the {@link
|
|
||||||
* com.onixbyte.simplejwt.TokenResolver} bean with the desired
|
|
||||||
* configuration.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
package com.onixbyte.simplejwt.autoconfiguration.properties;
|
|
||||||
Reference in New Issue
Block a user