Merge branch 'master' into bael-16659
This commit is contained in:
commit
ac44c9679f
|
@ -1,3 +1,3 @@
|
||||||
### Relevant articles
|
### Relevant articles
|
||||||
|
|
||||||
- [Guide to Akka Streams](http://www.baeldung.com/akka-streams)
|
- [Guide to Akka Streams](https://www.baeldung.com/akka-streams)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
- [Introduction to Jenetics Library](http://www.baeldung.com/jenetics)
|
- [Introduction to Jenetics Library](https://www.baeldung.com/jenetics)
|
||||||
- [Ant Colony Optimization](http://www.baeldung.com/java-ant-colony-optimization)
|
- [Ant Colony Optimization](https://www.baeldung.com/java-ant-colony-optimization)
|
||||||
- [Design a Genetic Algorithm in Java](https://www.baeldung.com/java-genetic-algorithm)
|
- [Design a Genetic Algorithm in Java](https://www.baeldung.com/java-genetic-algorithm)
|
||||||
- [The Traveling Salesman Problem in Java](https://www.baeldung.com/java-simulated-annealing-for-traveling-salesman)
|
- [The Traveling Salesman Problem in Java](https://www.baeldung.com/java-simulated-annealing-for-traveling-salesman)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
- [Dijkstra Algorithm in Java](https://www.baeldung.com/java-dijkstra)
|
- [Dijkstra Shortest Path Algorithm in Java](https://www.baeldung.com/java-dijkstra)
|
||||||
- [Introduction to Cobertura](https://www.baeldung.com/cobertura)
|
- [Introduction to Cobertura](https://www.baeldung.com/cobertura)
|
||||||
- [Test a Linked List for Cyclicity](https://www.baeldung.com/java-linked-list-cyclicity)
|
- [Test a Linked List for Cyclicity](https://www.baeldung.com/java-linked-list-cyclicity)
|
||||||
- [Introduction to JGraphT](https://www.baeldung.com/jgrapht)
|
- [Introduction to JGraphT](https://www.baeldung.com/jgrapht)
|
||||||
- [A Maze Solver in Java](https://www.baeldung.com/java-solve-maze)
|
- [A Maze Solver in Java](https://www.baeldung.com/java-solve-maze)
|
||||||
- [Create a Sudoku Solver in Java](https://www.baeldung.com/java-sudoku)
|
- [Create a Sudoku Solver in Java](https://www.baeldung.com/java-sudoku)
|
||||||
- [Displaying Money Amounts in Words](https://www.baeldung.com/java-money-into-words)
|
- [Displaying Money Amounts in Words](https://www.baeldung.com/java-money-into-words)
|
||||||
- [A Collaborative Filtering Recommendation System in Java](https://www.baeldung.com/java-collaborative-filtering-recommendations)
|
- [A Collaborative Filtering Recommendation System in Java](https://www.baeldung.com/java-collaborative-filtering-recommendations)
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
- [Java Two Pointer Technique](https://www.baeldung.com/java-two-pointer-technique)
|
- [Java Two Pointer Technique](https://www.baeldung.com/java-two-pointer-technique)
|
||||||
- [Implementing Simple State Machines with Java Enums](https://www.baeldung.com/java-enum-simple-state-machine)
|
- [Implementing Simple State Machines with Java Enums](https://www.baeldung.com/java-enum-simple-state-machine)
|
||||||
- [Converting Between Roman and Arabic Numerals in Java](http://www.baeldung.com/java-convert-roman-arabic)
|
- [Converting Between Roman and Arabic Numerals in Java](https://www.baeldung.com/java-convert-roman-arabic)
|
||||||
- [Practical Java Examples of the Big O Notation](http://www.baeldung.com/java-algorithm-complexity)
|
- [Practical Java Examples of the Big O Notation](https://www.baeldung.com/java-algorithm-complexity)
|
||||||
- [Checking If a List Is Sorted in Java](https://www.baeldung.com/java-check-if-list-sorted)
|
- [Checking If a List Is Sorted in Java](https://www.baeldung.com/java-check-if-list-sorted)
|
||||||
- [Checking if a Java Graph has a Cycle](https://www.baeldung.com/java-graph-has-a-cycle)
|
- [Checking if a Java Graph has a Cycle](https://www.baeldung.com/java-graph-has-a-cycle)
|
||||||
- [A Guide to the Folding Technique in Java](https://www.baeldung.com/folding-hashing-technique)
|
- [A Guide to the Folding Technique in Java](https://www.baeldung.com/folding-hashing-technique)
|
||||||
- [Creating a Triangle with for Loops in Java](https://www.baeldung.com/java-print-triangle)
|
- [Creating a Triangle with for Loops in Java](https://www.baeldung.com/java-print-triangle)
|
||||||
- [Efficient Word Frequency Calculator in Java](https://www.baeldung.com/java-word-frequency)
|
- [Efficient Word Frequency Calculator in Java](https://www.baeldung.com/java-word-frequency)
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
- [Bubble Sort in Java](http://www.baeldung.com/java-bubble-sort)
|
- [Bubble Sort in Java](https://www.baeldung.com/java-bubble-sort)
|
||||||
- [Merge Sort in Java](https://www.baeldung.com/java-merge-sort)
|
- [Merge Sort in Java](https://www.baeldung.com/java-merge-sort)
|
||||||
- [Quicksort Algorithm Implementation in Java](https://www.baeldung.com/java-quicksort)
|
- [Quicksort Algorithm Implementation in Java](https://www.baeldung.com/java-quicksort)
|
||||||
- [Insertion Sort in Java](https://www.baeldung.com/java-insertion-sort)
|
- [Insertion Sort in Java](https://www.baeldung.com/java-insertion-sort)
|
||||||
- [Heap Sort in Java](https://www.baeldung.com/java-heap-sort)
|
- [Heap Sort in Java](https://www.baeldung.com/java-heap-sort)
|
||||||
- [Shell Sort in Java](https://www.baeldung.com/java-shell-sort)
|
- [Shell Sort in Java](https://www.baeldung.com/java-shell-sort)
|
||||||
- [Counting Sort in Java](https://www.baeldung.com/java-counting-sort)
|
- [Counting Sort in Java](https://www.baeldung.com/java-counting-sort)
|
||||||
|
- [Sorting Strings by Contained Numbers in Java](https://www.baeldung.com/java-sort-strings-contained-numbers)
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
[Introduction to Animal Sniffer Maven Plugin](http://www.baeldung.com/maven-animal-sniffer)
|
[Introduction to Animal Sniffer Maven Plugin](https://www.baeldung.com/maven-animal-sniffer)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Java Annotation Processing and Creating a Builder](http://www.baeldung.com/java-annotation-processing-builder)
|
- [Java Annotation Processing and Creating a Builder](https://www.baeldung.com/java-annotation-processing-builder)
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [Java with ANTLR](http://www.baeldung.com/java-antlr)
|
- [Java with ANTLR](https://www.baeldung.com/java-antlr)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Guide to Apache Avro](http://www.baeldung.com/java-apache-avro)
|
- [Guide to Apache Avro](https://www.baeldung.com/java-apache-avro)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Intro to Apache BVal](http://www.baeldung.com/apache-bval)
|
- [Intro to Apache BVal](https://www.baeldung.com/apache-bval)
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [Introduction to Apache Curator](http://www.baeldung.com/apache-curator)
|
- [Introduction to Apache Curator](https://www.baeldung.com/apache-curator)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
## Relevant Articles:
|
## Relevant Articles:
|
||||||
- [Introduction to Apache CXF Aegis Data Binding](http://www.baeldung.com/aegis-data-binding-in-apache-cxf)
|
- [Introduction to Apache CXF Aegis Data Binding](https://www.baeldung.com/aegis-data-binding-in-apache-cxf)
|
||||||
- [Apache CXF Support for RESTful Web Services](http://www.baeldung.com/apache-cxf-rest-api)
|
- [Apache CXF Support for RESTful Web Services](https://www.baeldung.com/apache-cxf-rest-api)
|
||||||
- [A Guide to Apache CXF with Spring](http://www.baeldung.com/apache-cxf-with-spring)
|
- [A Guide to Apache CXF with Spring](https://www.baeldung.com/apache-cxf-with-spring)
|
||||||
- [Introduction to Apache CXF](http://www.baeldung.com/introduction-to-apache-cxf)
|
- [Introduction to Apache CXF](https://www.baeldung.com/introduction-to-apache-cxf)
|
||||||
- [Server-Sent Events (SSE) In JAX-RS](https://www.baeldung.com/java-ee-jax-rs-sse)
|
- [Server-Sent Events (SSE) In JAX-RS](https://www.baeldung.com/java-ee-jax-rs-sse)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Apache Geode
|
||||||
|
|
||||||
|
This module contains articles about Apache Geode
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [A Quick Guide to Apache Geode](https://www.baeldung.com/apache-geode)
|
- [A Quick Guide to Apache Geode](https://www.baeldung.com/apache-geode)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Apache Meecrowave
|
||||||
|
|
||||||
|
This module contains articles about Apache Meecrowave
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
================================
|
|
||||||
- [Building a Microservice with Apache Meecrowave](http://www.baeldung.com/apache-meecrowave)
|
- [Building a Microservice with Apache Meecrowave](https://www.baeldung.com/apache-meecrowave)
|
|
@ -1,3 +1,8 @@
|
||||||
## Relevant articles:
|
## Apache Olingo
|
||||||
|
|
||||||
|
This module contains articles about Apache Olingo
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
- [OData Protocol Guide](https://www.baeldung.com/odata)
|
- [OData Protocol Guide](https://www.baeldung.com/odata)
|
||||||
|
- [Intro to OData with Olingo](https://www.baeldung.com/olingo)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Apache OpenNLP
|
||||||
|
|
||||||
|
This module contains articles about Apache OpenNLP
|
||||||
|
|
||||||
### Relevant Articles
|
### Relevant Articles
|
||||||
|
|
||||||
- [Intro to Apache OpenNLP](http://www.baeldung.com/apache-open-nlp)
|
- [Intro to Apache OpenNLP](https://www.baeldung.com/apache-open-nlp)
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
|
## Apache POI
|
||||||
|
|
||||||
|
This module contains articles about Apache POI
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Microsoft Word Processing in Java with Apache POI](http://www.baeldung.com/java-microsoft-word-with-apache-poi)
|
- [Microsoft Word Processing in Java with Apache POI](https://www.baeldung.com/java-microsoft-word-with-apache-poi)
|
||||||
- [Working with Microsoft Excel in Java](http://www.baeldung.com/java-microsoft-excel)
|
- [Working with Microsoft Excel in Java](https://www.baeldung.com/java-microsoft-excel)
|
||||||
- [Creating a MS PowerPoint Presentation in Java](http://www.baeldung.com/apache-poi-slideshow)
|
- [Creating a MS PowerPoint Presentation in Java](https://www.baeldung.com/apache-poi-slideshow)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Apache Pulsar
|
||||||
|
|
||||||
|
This module contains articles about Apache Pulsar
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [Introduction to Apache Pulsar](https://www.baeldung.com/apache-pulsar)
|
- [Introduction to Apache Pulsar](https://www.baeldung.com/apache-pulsar)
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
### Relevant articles
|
## Apache Shiro
|
||||||
- [Introduction to Apache Shiro](http://www.baeldung.com/apache-shiro)
|
|
||||||
|
This module contains articles about Apache Shiro
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Introduction to Apache Shiro](https://www.baeldung.com/apache-shiro)
|
|
@ -1,4 +1,7 @@
|
||||||
## Apache Solrj Tutorials Project
|
## Apache Solrj
|
||||||
|
|
||||||
### Relevant Articles
|
This module contains articles about Apache Solrj
|
||||||
- [Guide to Solr in Java with Apache Solrj](http://www.baeldung.com/apache-solrj)
|
|
||||||
|
### Relevant Articles:
|
||||||
|
|
||||||
|
- [Guide to Solr in Java with Apache Solrj](https://www.baeldung.com/apache-solrj)
|
|
@ -1,4 +1,8 @@
|
||||||
### Relevant articles
|
## Apache Spark
|
||||||
|
|
||||||
- [Introduction to Apache Spark](http://www.baeldung.com/apache-spark)
|
This module contains articles about Apache Spark
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Introduction to Apache Spark](https://www.baeldung.com/apache-spark)
|
||||||
- [Building a Data Pipeline with Kafka, Spark Streaming and Cassandra](https://www.baeldung.com/kafka-spark-data-pipeline)
|
- [Building a Data Pipeline with Kafka, Spark Streaming and Cassandra](https://www.baeldung.com/kafka-spark-data-pipeline)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
## Relevant articles:
|
## Apache Thrift
|
||||||
|
|
||||||
- [Working with Apache Thrift](http://www.baeldung.com/apache-thrift)
|
This module contains articles about Apache Thrift
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Working with Apache Thrift](https://www.baeldung.com/apache-thrift)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
## Relevant articles:
|
## Apache Tika
|
||||||
|
|
||||||
- [Content Analysis with Apache Tika](http://www.baeldung.com/apache-tika)
|
This module contains articles about Apache Tika
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Content Analysis with Apache Tika](https://www.baeldung.com/apache-tika)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
## Relevant articles:
|
## Apache Velocity
|
||||||
|
|
||||||
- [Introduction to Apache Velocity](http://www.baeldung.com/apache-velocity)
|
This module contains articles about Apache Velocity
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Introduction to Apache Velocity](https://www.baeldung.com/apache-velocity)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
## Relevant articles:
|
## Apache Zookeeper
|
||||||
|
|
||||||
- [Getting Started with Java and Zookeeper](http://www.baeldung.com/java-zookeeper)
|
This module contains articles about Apache Zookeeper
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Getting Started with Java and Zookeeper](https://www.baeldung.com/java-zookeeper)
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
### Relevant articles
|
## Asciidoctor
|
||||||
|
|
||||||
- [Generating a Book with Asciidoctor](http://www.baeldung.com/asciidoctor-book)
|
This module contains articles about Asciidoctor
|
||||||
- [Introduction to Asciidoctor in Java](http://www.baeldung.com/asciidoctor)
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Generating a Book with Asciidoctor](https://www.baeldung.com/asciidoctor-book)
|
||||||
|
- [Introduction to Asciidoctor in Java](https://www.baeldung.com/asciidoctor)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## ASM
|
||||||
|
|
||||||
|
This module contains articles about ASM
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [A Guide to Java Bytecode Manipulation with ASM](http://www.baeldung.com/java-asm)
|
- [A Guide to Java Bytecode Manipulation with ASM](https://www.baeldung.com/java-asm)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
## Relevant articles:
|
## Atomix
|
||||||
|
|
||||||
- [Introduction to Atomix](http://www.baeldung.com/atomix)
|
This module contains articles about Atomix
|
||||||
|
|
||||||
|
### Relevant articles:
|
||||||
|
|
||||||
|
- [Introduction to Atomix](https://www.baeldung.com/atomix)
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
|
## AutoValue
|
||||||
|
|
||||||
|
This module contains articles about automatic code generation
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Introduction to AutoValue](http://www.baeldung.com/introduction-to-autovalue)
|
- [Introduction to AutoValue](https://www.baeldung.com/introduction-to-autovalue)
|
||||||
- [Introduction to AutoFactory](http://www.baeldung.com/autofactory)
|
- [Introduction to AutoFactory](https://www.baeldung.com/autofactory)
|
||||||
- [Google AutoService](https://www.baeldung.com/google-autoservice)
|
- [Google AutoService](https://www.baeldung.com/google-autoservice)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## AWS Lambda
|
||||||
|
|
||||||
|
This module contains articles about AWS Lambda
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Using AWS Lambda with API Gateway](http://www.baeldung.com/aws-lambda-api-gateway)
|
- [Using AWS Lambda with API Gateway](https://www.baeldung.com/aws-lambda-api-gateway)
|
||||||
- [Introduction to AWS Serverless Application Model](http://www.baeldung.com/aws-serverless)
|
- [Introduction to AWS Serverless Application Model](https://www.baeldung.com/aws-serverless)
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
|
## AWS
|
||||||
|
|
||||||
|
This module contains articles about AWS
|
||||||
|
|
||||||
### Relevant articles
|
### Relevant articles
|
||||||
|
|
||||||
- [AWS Lambda Using DynamoDB With Java](http://www.baeldung.com/aws-lambda-dynamodb-java)
|
- [AWS Lambda Using DynamoDB With Java](https://www.baeldung.com/aws-lambda-dynamodb-java)
|
||||||
- [AWS S3 with Java](http://www.baeldung.com/aws-s3-java)
|
- [AWS S3 with Java](https://www.baeldung.com/aws-s3-java)
|
||||||
- [AWS Lambda With Java](http://www.baeldung.com/java-aws-lambda)
|
- [AWS Lambda With Java](https://www.baeldung.com/java-aws-lambda)
|
||||||
- [Managing EC2 Instances in Java](http://www.baeldung.com/ec2-java)
|
- [Managing EC2 Instances in Java](https://www.baeldung.com/ec2-java)
|
||||||
- [Multipart Uploads in Amazon S3 with Java](http://www.baeldung.com/aws-s3-multipart-upload)
|
- [Multipart Uploads in Amazon S3 with Java](https://www.baeldung.com/aws-s3-multipart-upload)
|
||||||
- [Integration Testing with a Local DynamoDB Instance](http://www.baeldung.com/dynamodb-local-integration-tests)
|
- [Integration Testing with a Local DynamoDB Instance](https://www.baeldung.com/dynamodb-local-integration-tests)
|
||||||
- [Using the JetS3t Java Client With Amazon S3](http://www.baeldung.com/jets3t-amazon-s3)
|
- [Using the JetS3t Java Client With Amazon S3](https://www.baeldung.com/jets3t-amazon-s3)
|
||||||
- [Managing Amazon SQS Queues in Java](http://www.baeldung.com/aws-queues-java)
|
- [Managing Amazon SQS Queues in Java](https://www.baeldung.com/aws-queues-java)
|
||||||
- [Guide to AWS Aurora RDS with Java](https://www.baeldung.com/aws-aurora-rds-java)
|
- [Guide to AWS Aurora RDS with Java](https://www.baeldung.com/aws-aurora-rds-java)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Axon
|
||||||
|
|
||||||
|
This module contains articles about Axon
|
||||||
|
|
||||||
### Relevant articles
|
### Relevant articles
|
||||||
|
|
||||||
- [A Guide to the Axon Framework](http://www.baeldung.com/axon-cqrs-event-sourcing)
|
- [A Guide to the Axon Framework](https://www.baeldung.com/axon-cqrs-event-sourcing)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [Deploy a Spring Boot App to Azure](http://www.baeldung.com/spring-boot-azure)
|
- [Deploy a Spring Boot App to Azure](https://www.baeldung.com/spring-boot-azure)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
- [Blade – A Complete Guidebook](http://www.baeldung.com/blade)
|
- [Blade – A Complete Guidebook](https://www.baeldung.com/blade)
|
||||||
|
|
||||||
Run Integration Tests with `mvn integration-test`
|
Run Integration Tests with `mvn integration-test`
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Introduction to Bootique](http://www.baeldung.com/bootique)
|
- [Introduction to Bootique](https://www.baeldung.com/bootique)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [CDI Interceptor vs Spring AspectJ](http://www.baeldung.com/cdi-interceptor-vs-spring-aspectj)
|
- [CDI Interceptor vs Spring AspectJ](https://www.baeldung.com/cdi-interceptor-vs-spring-aspectj)
|
||||||
- [An Introduction to CDI (Contexts and Dependency Injection) in Java](http://www.baeldung.com/java-ee-cdi)
|
- [An Introduction to CDI (Contexts and Dependency Injection) in Java](https://www.baeldung.com/java-ee-cdi)
|
||||||
- [Introduction to the Event Notification Model in CDI 2.0](https://www.baeldung.com/cdi-event-notification)
|
- [Introduction to the Event Notification Model in CDI 2.0](https://www.baeldung.com/cdi-event-notification)
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
package com.baeldung.cdi.cdi2observers.application;
|
package com.baeldung.cdi2observers.application;
|
||||||
|
|
||||||
import com.baeldung.cdi.cdi2observers.events.ExampleEvent;
|
import com.baeldung.cdi2observers.events.ExampleEvent;
|
||||||
import javax.enterprise.inject.se.SeContainer;
|
|
||||||
import javax.enterprise.inject.se.SeContainerInitializer;
|
import javax.enterprise.inject.se.SeContainer;
|
||||||
|
import javax.enterprise.inject.se.SeContainerInitializer;
|
||||||
public class BootstrappingApplication {
|
|
||||||
|
public class BootstrappingApplication {
|
||||||
public static void main(String... args) {
|
|
||||||
SeContainerInitializer containerInitializer = SeContainerInitializer.newInstance();
|
public static void main(String... args) {
|
||||||
try (SeContainer container = containerInitializer.initialize()) {
|
SeContainerInitializer containerInitializer = SeContainerInitializer.newInstance();
|
||||||
container.getBeanManager().fireEvent(new ExampleEvent("Welcome to Baeldung!"));
|
try (SeContainer container = containerInitializer.initialize()) {
|
||||||
}
|
container.getBeanManager().fireEvent(new ExampleEvent("Welcome to Baeldung!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package com.baeldung.cdi.cdi2observers.events;
|
package com.baeldung.cdi2observers.events;
|
||||||
|
|
||||||
public class ExampleEvent {
|
public class ExampleEvent {
|
||||||
|
|
||||||
private final String eventMessage;
|
private final String eventMessage;
|
||||||
|
|
||||||
public ExampleEvent(String eventMessage) {
|
public ExampleEvent(String eventMessage) {
|
||||||
this.eventMessage = eventMessage;
|
this.eventMessage = eventMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getEventMessage() {
|
public String getEventMessage() {
|
||||||
return eventMessage;
|
return eventMessage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package com.baeldung.cdi.cdi2observers.events;
|
package com.baeldung.cdi2observers.events;
|
||||||
|
|
||||||
import javax.enterprise.event.Event;
|
import javax.enterprise.event.Event;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
public class ExampleEventSource {
|
public class ExampleEventSource {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Event<ExampleEvent> exampleEvent;
|
Event<ExampleEvent> exampleEvent;
|
||||||
|
|
||||||
public void fireEvent() {
|
public void fireEvent() {
|
||||||
exampleEvent.fireAsync(new ExampleEvent("Welcome to Baeldung!"));
|
exampleEvent.fireAsync(new ExampleEvent("Welcome to Baeldung!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package com.baeldung.cdi.cdi2observers.observers;
|
package com.baeldung.cdi2observers.observers;
|
||||||
|
|
||||||
import com.baeldung.cdi.cdi2observers.events.ExampleEvent;
|
import com.baeldung.cdi2observers.events.ExampleEvent;
|
||||||
import javax.annotation.Priority;
|
|
||||||
import javax.enterprise.event.Observes;
|
import javax.annotation.Priority;
|
||||||
|
import javax.enterprise.event.Observes;
|
||||||
public class AnotherExampleEventObserver {
|
|
||||||
|
public class AnotherExampleEventObserver {
|
||||||
public String onEvent(@Observes @Priority(2) ExampleEvent event) {
|
|
||||||
return event.getEventMessage();
|
public String onEvent(@Observes @Priority(2) ExampleEvent event) {
|
||||||
}
|
return event.getEventMessage();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package com.baeldung.cdi.cdi2observers.observers;
|
package com.baeldung.cdi2observers.observers;
|
||||||
|
|
||||||
import com.baeldung.cdi.cdi2observers.events.ExampleEvent;
|
import com.baeldung.cdi2observers.events.ExampleEvent;
|
||||||
import com.baeldung.cdi.cdi2observers.services.TextService;
|
import com.baeldung.cdi2observers.services.TextService;
|
||||||
import javax.annotation.Priority;
|
import javax.annotation.Priority;
|
||||||
import javax.enterprise.event.Observes;
|
import javax.enterprise.event.Observes;
|
||||||
|
|
||||||
public class ExampleEventObserver {
|
public class ExampleEventObserver {
|
||||||
|
|
||||||
public String onEvent(@Observes @Priority(1) ExampleEvent event, TextService textService) {
|
public String onEvent(@Observes @Priority(1) ExampleEvent event, TextService textService) {
|
||||||
return textService.parseText(event.getEventMessage());
|
return textService.parseText(event.getEventMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package com.baeldung.cdi.cdi2observers.services;
|
package com.baeldung.cdi2observers.services;
|
||||||
|
|
||||||
public class TextService {
|
public class TextService {
|
||||||
|
|
||||||
public String parseText(String text) {
|
public String parseText(String text) {
|
||||||
return text.toUpperCase();
|
return text.toUpperCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<beans xmlns="http://java.sun.com/xml/ns/javaee"
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
|
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
|
||||||
http://java.sun.com/xml/ns/javaee/beans_1_2.xsd">
|
bean-discovery-mode="all">
|
||||||
<interceptors>
|
<interceptors>
|
||||||
<class>com.baeldung.interceptor.AuditedInterceptor</class>
|
<class>com.baeldung.interceptor.AuditedInterceptor</class>
|
||||||
</interceptors>
|
</interceptors>
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
package com.baeldung.cdi.cdi2observers.tests;
|
package com.baeldung.test.cdi2observers.tests;
|
||||||
|
|
||||||
import com.baeldung.cdi.cdi2observers.services.TextService;
|
import com.baeldung.cdi2observers.services.TextService;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import org.junit.Test;
|
||||||
import org.junit.Test;
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
public class TextServiceUnitTest {
|
|
||||||
|
public class TextServiceUnitTest {
|
||||||
@Test
|
|
||||||
public void givenTextServiceInstance_whenCalledparseText_thenCorrect() {
|
@Test
|
||||||
TextService textService = new TextService();
|
public void givenTextServiceInstance_whenCalledparseText_thenCorrect() {
|
||||||
assertThat(textService.parseText("Baeldung")).isEqualTo("BAELDUNG");
|
TextService textService = new TextService();
|
||||||
}
|
assertThat(textService.parseText("Baeldung")).isEqualTo("BAELDUNG");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class TimeLoggerFactoryUnitTest {
|
public class TimeLoggerFactoryUnitTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTimeLoggerFactory_whenCalledgetTimeLogger_thenOneAssertion() {
|
public void givenTimeLoggerFactory_whenCalledgetTimeLogger_thenOneAssertion() {
|
||||||
TimeLoggerFactory timeLoggerFactory = new TimeLoggerFactory();
|
TimeLoggerFactory timeLoggerFactory = new TimeLoggerFactory();
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
### Relevant articles
|
### Relevant articles
|
||||||
|
|
||||||
- [The Checker Framework – Pluggable Type Systems for Java](http://www.baeldung.com/checker-framework)
|
- [The Checker Framework – Pluggable Type Systems for Java](https://www.baeldung.com/checker-framework)
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
- [String Matching in Groovy](http://www.baeldung.com/)
|
|
||||||
- [Template Engines in Groovy](https://www.baeldung.com/groovy-template-engines)
|
- [Template Engines in Groovy](https://www.baeldung.com/groovy-template-engines)
|
||||||
- [Groovy def Keyword](https://www.baeldung.com/groovy-def-keyword)
|
- [Groovy def Keyword](https://www.baeldung.com/groovy-def-keyword)
|
||||||
- [Pattern Matching in Strings in Groovy](https://www.baeldung.com/groovy-pattern-matching)
|
- [Pattern Matching in Strings in Groovy](https://www.baeldung.com/groovy-pattern-matching)
|
||||||
- [Working with XML in Groovy](https://www.baeldung.com/groovy-xml)
|
- [Working with XML in Groovy](https://www.baeldung.com/groovy-xml)
|
||||||
- [Integrating Groovy into Java Applications](https://www.baeldung.com/groovy-java-applications)
|
- [Integrating Groovy into Java Applications](https://www.baeldung.com/groovy-java-applications)
|
||||||
- [Concatenate Strings with Groovy](https://www.baeldung.com/groovy-concatenate-strings)
|
- [Concatenate Strings with Groovy](https://www.baeldung.com/groovy-concatenate-strings)
|
||||||
|
- [Metaprogramming in Groovy](https://www.baeldung.com/groovy-metaprogramming)
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
# Groovy
|
## Core Groovy Collections
|
||||||
|
|
||||||
|
This module contains articles about Groovy core collections
|
||||||
|
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
## Relevant articles:
|
## Relevant articles:
|
||||||
|
|
||||||
- [JDBC with Groovy](http://www.baeldung.com/jdbc-groovy)
|
- [JDBC with Groovy](https://www.baeldung.com/jdbc-groovy)
|
||||||
- [Working with JSON in Groovy](http://www.baeldung.com/groovy-json)
|
- [Working with JSON in Groovy](https://www.baeldung.com/groovy-json)
|
||||||
- [Reading a File in Groovy](https://www.baeldung.com/groovy-file-read)
|
- [Reading a File in Groovy](https://www.baeldung.com/groovy-file-read)
|
||||||
- [Types of Strings in Groovy](https://www.baeldung.com/groovy-strings)
|
- [Types of Strings in Groovy](https://www.baeldung.com/groovy-strings)
|
||||||
- [A Quick Guide to Iterating a Map in Groovy](https://www.baeldung.com/groovy-map-iterating)
|
- [A Quick Guide to Iterating a Map in Groovy](https://www.baeldung.com/groovy-map-iterating)
|
||||||
|
@ -12,4 +12,4 @@
|
||||||
- [Finding Elements in Collections in Groovy](https://www.baeldung.com/groovy-collections-find-elements)
|
- [Finding Elements in Collections in Groovy](https://www.baeldung.com/groovy-collections-find-elements)
|
||||||
- [Lists in Groovy](https://www.baeldung.com/groovy-lists)
|
- [Lists in Groovy](https://www.baeldung.com/groovy-lists)
|
||||||
- [Converting a String to a Date in Groovy](https://www.baeldung.com/groovy-string-to-date)
|
- [Converting a String to a Date in Groovy](https://www.baeldung.com/groovy-string-to-date)
|
||||||
- [Guide to I/O in Groovy](https://www.baeldung.com/groovy-io)
|
- [Guide to I/O in Groovy](https://www.baeldung.com/groovy-io)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
## Core Java 10
|
||||||
|
|
||||||
|
This module contains articles about Java 10 core features
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Core Java 11
|
||||||
|
|
||||||
|
This module contains articles about Java 11 core features
|
||||||
|
|
||||||
### Relevant articles
|
### Relevant articles
|
||||||
|
|
||||||
- [Java 11 Single File Source Code](https://www.baeldung.com/java-single-file-source-code)
|
- [Java 11 Single File Source Code](https://www.baeldung.com/java-single-file-source-code)
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
=========
|
## Core Java 8 (part 2)
|
||||||
|
|
||||||
## Core Java 8 Cookbooks and Examples (part 2)
|
This module contains articles about Java 8 core features
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Anonymous Classes in Java](http://www.baeldung.com/)
|
- [Anonymous Classes in Java](http://www.baeldung.com/)
|
||||||
- [How to Delay Code Execution in Java](https://www.baeldung.com/java-delay-code-execution)
|
- [How to Delay Code Execution in Java](https://www.baeldung.com/java-delay-code-execution)
|
||||||
- [Run JAR Application With Command Line Arguments](https://www.baeldung.com/java-run-jar-with-arguments)
|
- [Run a Java Application from the Command Line](https://www.baeldung.com/java-run-jar-with-arguments)
|
||||||
- [Java 8 Stream skip() vs limit()](https://www.baeldung.com/java-stream-skip-vs-limit)
|
- [Java 8 Stream skip() vs limit()](https://www.baeldung.com/java-stream-skip-vs-limit)
|
||||||
- [Guide to Java BiFunction Interface](https://www.baeldung.com/java-bifunction-interface)
|
- [Guide to Java BiFunction Interface](https://www.baeldung.com/java-bifunction-interface)
|
||||||
|
- [[<-- Prev]](/core-java-modules/core-java-8)
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java 8
|
||||||
|
|
||||||
## Core Java 8 Cookbooks and Examples
|
This module contains articles about Java 8 core features
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [New Features in Java 8](https://www.baeldung.com/java-8-new-features)
|
- [New Features in Java 8](https://www.baeldung.com/java-8-new-features)
|
||||||
|
@ -12,3 +12,4 @@
|
||||||
- [Finding Min/Max in an Array with Java](https://www.baeldung.com/java-array-min-max)
|
- [Finding Min/Max in an Array with Java](https://www.baeldung.com/java-array-min-max)
|
||||||
- [Internationalization and Localization in Java 8](https://www.baeldung.com/java-8-localization)
|
- [Internationalization and Localization in Java 8](https://www.baeldung.com/java-8-localization)
|
||||||
- [Generalized Target-Type Inference in Java](https://www.baeldung.com/java-generalized-target-type-inference)
|
- [Generalized Target-Type Inference in Java](https://www.baeldung.com/java-generalized-target-type-inference)
|
||||||
|
- [[More -->]](/core-java-modules/core-java-8-2)
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
=========
|
## Core Java 9
|
||||||
|
|
||||||
## Core Java 9 Examples
|
This module contains articles about Java 9 core features
|
||||||
|
|
||||||
[Java 9 New Features](http://www.baeldung.com/new-java-9)
|
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
## Core Java Arrays (Part 2)
|
||||||
|
|
||||||
|
This module contains articles about Java arrays
|
||||||
|
|
||||||
## Relevant Articles
|
## Relevant Articles
|
||||||
|
|
||||||
- [Extending an Array’s Length](https://www.baeldung.com/java-array-add-element-at-the-end)
|
- [Extending an Array’s Length](https://www.baeldung.com/java-array-add-element-at-the-end)
|
||||||
|
@ -8,3 +12,4 @@
|
||||||
- [Intersection Between two Integer Arrays](https://www.baeldung.com/java-array-intersection)
|
- [Intersection Between two Integer Arrays](https://www.baeldung.com/java-array-intersection)
|
||||||
- [Removing an Element from an Array in Java](https://www.baeldung.com/java-array-remove-element)
|
- [Removing an Element from an Array in Java](https://www.baeldung.com/java-array-remove-element)
|
||||||
- [Removing the First Element of an Array](https://www.baeldung.com/java-array-remove-first-element)
|
- [Removing the First Element of an Array](https://www.baeldung.com/java-array-remove-first-element)
|
||||||
|
- [[<-- Prev]](/core-java-modules/core-java-arrays)
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Arrays
|
||||||
|
|
||||||
## Core Java Arrays Cookbooks and Examples
|
This module contains articles about Java arrays
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [How to Copy an Array in Java](https://www.baeldung.com/java-array-copy)
|
- [How to Copy an Array in Java](https://www.baeldung.com/java-array-copy)
|
||||||
|
@ -10,6 +10,8 @@
|
||||||
- [Multi-Dimensional Arrays In Java](https://www.baeldung.com/java-jagged-arrays)
|
- [Multi-Dimensional Arrays In Java](https://www.baeldung.com/java-jagged-arrays)
|
||||||
- [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average)
|
- [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average)
|
||||||
- [Arrays in Java: A Reference Guide](https://www.baeldung.com/java-arrays-guide)
|
- [Arrays in Java: A Reference Guide](https://www.baeldung.com/java-arrays-guide)
|
||||||
- [How to Invert an Array in Java](https://www.baeldung.com/java-invert-array)
|
- [Read and Write User Input in Java](https://www.baeldung.com/java-console-input-output)
|
||||||
|
- [How to Reverse an Array in Java](http://www.baeldung.com/java-invert-array)
|
||||||
- [Sorting Arrays in Java](https://www.baeldung.com/java-sorting-arrays)
|
- [Sorting Arrays in Java](https://www.baeldung.com/java-sorting-arrays)
|
||||||
- [Checking If an Array Is Sorted in Java](https://www.baeldung.com/java-check-sorted-array)
|
- [Checking If an Array Is Sorted in Java](https://www.baeldung.com/java-check-sorted-array)
|
||||||
|
- [[More -->]](/core-java-modules/core-java-arrays-2)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections ArrayList
|
||||||
|
|
||||||
## Core Java Collections Array List Cookbooks and Examples
|
This module contains articles about the Java ArrayList collection
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list)
|
- [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections List (Part 2)
|
||||||
|
|
||||||
## Core Java Collections List Cookbooks and Examples
|
This module contains articles about the Java List collection
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Check If Two Lists are Equal in Java](http://www.baeldung.com/java-test-a-list-for-ordinality-and-equality)
|
- [Check If Two Lists are Equal in Java](http://www.baeldung.com/java-test-a-list-for-ordinality-and-equality)
|
||||||
|
@ -10,4 +10,5 @@
|
||||||
- [Java List Initialization in One Line](https://www.baeldung.com/java-init-list-one-line)
|
- [Java List Initialization in One Line](https://www.baeldung.com/java-init-list-one-line)
|
||||||
- [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list)
|
- [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list)
|
||||||
- [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections)
|
- [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections)
|
||||||
- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection)
|
- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection)
|
||||||
|
- [[<-- Prev]](/core-java-modules/core-java-collections-list)[[Next -->]](/core-java-modules/core-java-collections-list-3)
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections List (Part 3)
|
||||||
|
|
||||||
## Core Java Collections List Cookbooks and Examples
|
This module contains articles about the Java List collection
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list)
|
- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list)
|
||||||
|
@ -9,3 +9,4 @@
|
||||||
- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int)
|
- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int)
|
||||||
- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance)
|
- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance)
|
||||||
- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list)
|
- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list)
|
||||||
|
- [[<-- Prev]](/core-java-modules/core-java-collections-list-2)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections List
|
||||||
|
|
||||||
## Core Java Collections List Cookbooks and Examples
|
This module contains articles about the Java List collection
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Java – Get Random Item/Element From a List](http://www.baeldung.com/java-random-list-element)
|
- [Java – Get Random Item/Element From a List](http://www.baeldung.com/java-random-list-element)
|
||||||
|
@ -12,3 +12,4 @@
|
||||||
- [How to Find an Element in a List with Java](http://www.baeldung.com/find-list-element-java)
|
- [How to Find an Element in a List with Java](http://www.baeldung.com/find-list-element-java)
|
||||||
- [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max)
|
- [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max)
|
||||||
- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list)
|
- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list)
|
||||||
|
- [[Next -->]](/core-java-modules/core-java-collections-list-2)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections Set
|
||||||
|
|
||||||
## Core Java Sets Cookbooks and Examples
|
This module contains articles about the Java Set collection
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Set Operations in Java](http://www.baeldung.com/set-operations-in-java)
|
- [Set Operations in Java](http://www.baeldung.com/set-operations-in-java)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Collections
|
||||||
|
|
||||||
## Core Java Collections Cookbooks and Examples
|
This module contains articles about Java collections
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Collect a Java Stream to an Immutable Collection](https://www.baeldung.com/java-stream-immutable-collection)
|
- [Collect a Java Stream to an Immutable Collection](https://www.baeldung.com/java-stream-immutable-collection)
|
||||||
|
@ -13,3 +13,4 @@
|
||||||
- [Defining a Char Stack in Java](https://www.baeldung.com/java-char-stack)
|
- [Defining a Char Stack in Java](https://www.baeldung.com/java-char-stack)
|
||||||
- [Guide to the Java Queue Interface](https://www.baeldung.com/java-queue)
|
- [Guide to the Java Queue Interface](https://www.baeldung.com/java-queue)
|
||||||
- [An Introduction to Synchronized Java Collections](https://www.baeldung.com/java-synchronized-collections)
|
- [An Introduction to Synchronized Java Collections](https://www.baeldung.com/java-synchronized-collections)
|
||||||
|
- [[More -->]](/core-java-modules/core-java-collections-2)
|
|
@ -1,7 +1,7 @@
|
||||||
=========
|
|
||||||
|
|
||||||
## Core Java Concurrency Advanced Examples
|
## Core Java Concurrency Advanced Examples
|
||||||
|
|
||||||
|
This module contains articles about advanced concurrency in core Java.
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Introduction to Thread Pools in Java](http://www.baeldung.com/thread-pool-java-and-guava)
|
- [Introduction to Thread Pools in Java](http://www.baeldung.com/thread-pool-java-and-guava)
|
||||||
- [Guide to CountDownLatch in Java](http://www.baeldung.com/java-countdown-latch)
|
- [Guide to CountDownLatch in Java](http://www.baeldung.com/java-countdown-latch)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Concurrency Basic
|
||||||
|
|
||||||
## Core Java Concurrency Basic Examples
|
This module contains articles about basic Java concurrency
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Guide To CompletableFuture](https://www.baeldung.com/java-completablefuture)
|
- [Guide To CompletableFuture](https://www.baeldung.com/java-completablefuture)
|
||||||
|
@ -13,3 +13,4 @@
|
||||||
- [Runnable vs. Callable in Java](https://www.baeldung.com/java-runnable-callable)
|
- [Runnable vs. Callable in Java](https://www.baeldung.com/java-runnable-callable)
|
||||||
- [What is Thread-Safety and How to Achieve it?](https://www.baeldung.com/java-thread-safety)
|
- [What is Thread-Safety and How to Achieve it?](https://www.baeldung.com/java-thread-safety)
|
||||||
- [How to Start a Thread in Java](https://www.baeldung.com/java-start-thread)
|
- [How to Start a Thread in Java](https://www.baeldung.com/java-start-thread)
|
||||||
|
- [[Next -->]](/core-java-modules/core-java-concurrency-basic-2)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
=========
|
## Core Java Concurrency Collections
|
||||||
|
|
||||||
## Core Java Concurrency Collections Examples
|
This module contains articles about concurrent Java collections
|
||||||
|
|
||||||
### Relevant Articles:
|
### Relevant Articles:
|
||||||
- [Guide to java.util.concurrent.BlockingQueue](http://www.baeldung.com/java-blocking-queue)
|
- [Guide to java.util.concurrent.BlockingQueue](http://www.baeldung.com/java-blocking-queue)
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
## Relevant Articles:
|
## Core Java Exceptions
|
||||||
|
|
||||||
- [Will an Error Be Caught by Catch Block in Java?](https://www.baeldung.com/java-error-catch)
|
This module contains articles about core java exceptions
|
||||||
- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler)
|
|
||||||
- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
|
### Relevant articles:
|
||||||
- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
|
- [Chained Exceptions in Java](https://www.baeldung.com/java-chained-exceptions)
|
||||||
- [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause)
|
- [ClassNotFoundException vs NoClassDefFoundError](https://www.baeldung.com/java-classnotfoundexception-and-noclassdeffounderror)
|
||||||
- [Java – Try with Resources](https://www.baeldung.com/java-try-with-resources)
|
- [Create a Custom Exception in Java](https://www.baeldung.com/java-new-custom-exception)
|
||||||
|
- [Exception Handling in Java](https://www.baeldung.com/java-exceptions)
|
||||||
|
- [Differences Between Final, Finally and Finalize in Java](https://www.baeldung.com/java-final-finally-finalize)
|
||||||
|
- [Difference Between Throw and Throws in Java](https://www.baeldung.com/java-throw-throws)
|
||||||
|
- [“Sneaky Throws” in Java](https://www.baeldung.com/java-sneaky-throws)
|
||||||
|
- [The StackOverflowError in Java](https://www.baeldung.com/java-stack-overflow-error)
|
||||||
|
|
|
@ -1,55 +1,46 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<groupId>com.baeldung.exceptions</groupId>
|
||||||
<groupId>com.baeldung.exception.numberformat</groupId>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>core-java-exceptions</artifactId>
|
<artifactId>core-java-exceptions</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.1.0-SNAPSHOT</version>
|
||||||
<name>core-java-exceptions</name>
|
<name>core-java-exceptions</name>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.baeldung</groupId>
|
<groupId>com.baeldung</groupId>
|
||||||
<artifactId>parent-java</artifactId>
|
<artifactId>parent-java</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<relativePath>../../parent-java</relativePath>
|
<relativePath>../../parent-java</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>javax.mail</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>mail</artifactId>
|
||||||
<version>${junit.version}</version>
|
<version>${javax.mail.version}</version>
|
||||||
<scope>test</scope>
|
</dependency>
|
||||||
</dependency>
|
<dependency>
|
||||||
<dependency>
|
<groupId>org.projectlombok</groupId>
|
||||||
<groupId>org.apache.commons</groupId>
|
<artifactId>lombok</artifactId>
|
||||||
<artifactId>commons-lang3</artifactId>
|
<version>${lombok.version}</version>
|
||||||
<version>${commons-lang3.version}</version>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<!-- test scoped -->
|
||||||
<groupId>org.openjdk.jmh</groupId>
|
<dependency>
|
||||||
<artifactId>jmh-core</artifactId>
|
<groupId>org.assertj</groupId>
|
||||||
<version>${jmh-core.version}</version>
|
<artifactId>assertj-core</artifactId>
|
||||||
</dependency>
|
<version>${assertj-core.version}</version>
|
||||||
<dependency>
|
<scope>test</scope>
|
||||||
<groupId>org.openjdk.jmh</groupId>
|
</dependency>
|
||||||
<artifactId>jmh-generator-annprocess</artifactId>
|
</dependencies>
|
||||||
<version>${jmh-generator-annprocess.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- test scoped -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.assertj</groupId>
|
|
||||||
<artifactId>assertj-core</artifactId>
|
|
||||||
<version>${assertj-core.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<commons-lang3.version>3.9</commons-lang3.version>
|
<javax.mail.version>1.5.0-b01</javax.mail.version>
|
||||||
<jmh-core.version>1.19</jmh-core.version>
|
<!-- testing -->
|
||||||
<assertj-core.version>3.10.0</assertj-core.version>
|
<assertj-core.version>3.10.0</assertj-core.version>
|
||||||
<jmh-generator-annprocess.version>1.19</jmh-generator-annprocess.version>
|
</properties>
|
||||||
</properties>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -1,20 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class Arithmetic {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(Arithmetic.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
int result = 30 / 0; // Trying to divide by zero
|
|
||||||
} catch (ArithmeticException e) {
|
|
||||||
LOGGER.error("ArithmeticException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class ArrayIndexOutOfBounds {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(ArrayIndexOutOfBounds.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
int[] nums = new int[] { 1, 2, 3 };
|
|
||||||
|
|
||||||
try {
|
|
||||||
int numFromNegativeIndex = nums[-1]; // Trying to access at negative index
|
|
||||||
int numFromGreaterIndex = nums[4]; // Trying to access at greater index
|
|
||||||
int numFromLengthIndex = nums[3]; // Trying to access at index equal to size of the array
|
|
||||||
} catch (ArrayIndexOutOfBoundsException e) {
|
|
||||||
LOGGER.error("ArrayIndexOutOfBoundsException caught");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
|
|
||||||
public class CheckedUncheckedExceptions {
|
|
||||||
public static void checkedExceptionWithThrows() throws FileNotFoundException {
|
|
||||||
File file = new File("not_existing_file.txt");
|
|
||||||
FileInputStream stream = new FileInputStream(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void checkedExceptionWithTryCatch() {
|
|
||||||
File file = new File("not_existing_file.txt");
|
|
||||||
try {
|
|
||||||
FileInputStream stream = new FileInputStream(file);
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int divideByZero() {
|
|
||||||
int numerator = 1;
|
|
||||||
int denominator = 0;
|
|
||||||
return numerator / denominator;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void checkFile(String fileName) throws IncorrectFileNameException {
|
|
||||||
if (fileName == null || fileName.isEmpty()) {
|
|
||||||
throw new NullOrEmptyException("The filename is null.");
|
|
||||||
}
|
|
||||||
if (!isCorrectFileName(fileName)) {
|
|
||||||
throw new IncorrectFileNameException("Incorrect filename : " + fileName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isCorrectFileName(String fileName) {
|
|
||||||
if (fileName.equals("wrongFileName.txt"))
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
class Animal {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class Dog extends Animal {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class Lion extends Animal {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ClassCast {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(ClassCast.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
Animal animalOne = new Dog(); // At runtime the instance is dog
|
|
||||||
Dog bruno = (Dog) animalOne; // Downcasting
|
|
||||||
|
|
||||||
Animal animalTwo = new Lion(); // At runtime the instance is animal
|
|
||||||
Dog tommy = (Dog) animalTwo; // Downcasting
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
LOGGER.error("ClassCastException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileReader;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class FileNotFound {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(FileNotFound.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
BufferedReader reader = null;
|
|
||||||
try {
|
|
||||||
reader = new BufferedReader(new FileReader(new File("/invalid/file/location")));
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
LOGGER.error("FileNotFoundException caught!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class GlobalExceptionHandler {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
Handler globalExceptionHandler = new Handler();
|
|
||||||
Thread.setDefaultUncaughtExceptionHandler(globalExceptionHandler);
|
|
||||||
new GlobalExceptionHandler().performArithmeticOperation(10, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int performArithmeticOperation(int num1, int num2) {
|
|
||||||
return num1/num2;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class Handler implements Thread.UncaughtExceptionHandler {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(Handler.class);
|
|
||||||
|
|
||||||
public void uncaughtException(Thread t, Throwable e) {
|
|
||||||
LOGGER.info("Unhandled exception caught!");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class IllegalArgument {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(IllegalArgument.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
try {
|
|
||||||
Thread.sleep(-1000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
LOGGER.error("IllegalArgumentException caught!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class IllegalState {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(IllegalState.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
List<Integer> intList = new ArrayList<>();
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
intList.add(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
Iterator<Integer> intListIterator = intList.iterator(); // Initialized with index at -1
|
|
||||||
|
|
||||||
try {
|
|
||||||
intListIterator.remove(); // IllegalStateException
|
|
||||||
} catch (IllegalStateException e) {
|
|
||||||
LOGGER.error("IllegalStateException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
public class IncorrectFileNameException extends Exception {
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public IncorrectFileNameException(String errorMessage) {
|
|
||||||
super(errorMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
public IncorrectFileNameException(String errorMessage, Throwable thr) {
|
|
||||||
super(errorMessage, thr);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
class ChildThread extends Thread {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(ChildThread.class);
|
|
||||||
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
Thread.sleep(1000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
LOGGER.error("InterruptedException caught!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class InterruptedExceptionExample {
|
|
||||||
|
|
||||||
public static void main(String[] args) throws InterruptedException {
|
|
||||||
ChildThread childThread = new ChildThread();
|
|
||||||
childThread.start();
|
|
||||||
childThread.interrupt();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.net.URL;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class MalformedURL {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(MalformedURL.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
URL baeldungURL = null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
baeldungURL = new URL("malformedurl");
|
|
||||||
} catch (MalformedURLException e) {
|
|
||||||
LOGGER.error("MalformedURLException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
public class NullOrEmptyException extends RuntimeException {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public NullOrEmptyException(String errorMessage) {
|
|
||||||
super(errorMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
public NullOrEmptyException(String errorMessage, Throwable thr) {
|
|
||||||
super(errorMessage, thr);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class NullPointer {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(NullPointer.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
Person personObj = null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
String name = personObj.personName; // Accessing the field of a null object
|
|
||||||
personObj.personName = "Jon Doe"; // Modifying the field of a null object
|
|
||||||
} catch (NullPointerException e) {
|
|
||||||
LOGGER.error("NullPointerException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Person {
|
|
||||||
|
|
||||||
public String personName;
|
|
||||||
|
|
||||||
public String getPersonName() {
|
|
||||||
return personName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPersonName(String personName) {
|
|
||||||
this.personName = personName;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class NumberFormat {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(NumberFormat.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
String str1 = "100ABCD";
|
|
||||||
|
|
||||||
try {
|
|
||||||
int x = Integer.parseInt(str1); // Converting string with inappropriate format
|
|
||||||
int y = Integer.valueOf(str1);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
LOGGER.error("NumberFormatException caught!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class ParseExceptionExample {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(ParseExceptionExample.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
DateFormat format = new SimpleDateFormat("MM, dd, yyyy");
|
|
||||||
|
|
||||||
try {
|
|
||||||
format.parse("01, , 2010");
|
|
||||||
} catch (ParseException e) {
|
|
||||||
LOGGER.error("ParseException caught!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.Period;
|
|
||||||
import java.time.format.DateTimeParseException;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility class to find root cause exceptions.
|
|
||||||
*/
|
|
||||||
public class RootCauseFinder {
|
|
||||||
|
|
||||||
private RootCauseFinder() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Throwable findCauseUsingPlainJava(Throwable throwable) {
|
|
||||||
Objects.requireNonNull(throwable);
|
|
||||||
Throwable rootCause = throwable;
|
|
||||||
while (rootCause.getCause() != null && rootCause.getCause() != rootCause) {
|
|
||||||
rootCause = rootCause.getCause();
|
|
||||||
}
|
|
||||||
return rootCause;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Calculates the age of a person from a given date.
|
|
||||||
*/
|
|
||||||
static class AgeCalculator {
|
|
||||||
|
|
||||||
private AgeCalculator() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int calculateAge(String birthDate) {
|
|
||||||
if (birthDate == null || birthDate.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
return Period
|
|
||||||
.between(parseDate(birthDate), LocalDate.now())
|
|
||||||
.getYears();
|
|
||||||
} catch (DateParseException ex) {
|
|
||||||
throw new CalculationException(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static LocalDate parseDate(String birthDateAsString) {
|
|
||||||
|
|
||||||
LocalDate birthDate;
|
|
||||||
try {
|
|
||||||
birthDate = LocalDate.parse(birthDateAsString);
|
|
||||||
} catch (DateTimeParseException ex) {
|
|
||||||
throw new InvalidFormatException(birthDateAsString, ex);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (birthDate.isAfter(LocalDate.now())) {
|
|
||||||
throw new DateOutOfRangeException(birthDateAsString);
|
|
||||||
}
|
|
||||||
|
|
||||||
return birthDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static class CalculationException extends RuntimeException {
|
|
||||||
|
|
||||||
CalculationException(DateParseException ex) {
|
|
||||||
super(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static class DateParseException extends RuntimeException {
|
|
||||||
|
|
||||||
DateParseException(String input) {
|
|
||||||
super(input);
|
|
||||||
}
|
|
||||||
|
|
||||||
DateParseException(String input, Throwable thr) {
|
|
||||||
super(input, thr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static class InvalidFormatException extends DateParseException {
|
|
||||||
|
|
||||||
InvalidFormatException(String input, Throwable thr) {
|
|
||||||
super("Invalid date format: " + input, thr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static class DateOutOfRangeException extends DateParseException {
|
|
||||||
|
|
||||||
DateOutOfRangeException(String date) {
|
|
||||||
super("Date out of range: " + date);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
|
|
||||||
public class StackTraceToString {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
// Convert a StackTrace to String using core java
|
|
||||||
try {
|
|
||||||
throw new NullPointerException();
|
|
||||||
} catch (Exception e) {
|
|
||||||
StringWriter sw = new StringWriter();
|
|
||||||
PrintWriter pw = new PrintWriter(sw);
|
|
||||||
e.printStackTrace(pw);
|
|
||||||
|
|
||||||
System.out.println(sw.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert a StackTrace to String using Apache Commons
|
|
||||||
try {
|
|
||||||
throw new IndexOutOfBoundsException();
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println(ExceptionUtils.getStackTrace(e));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package com.baeldung.exceptions;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class StringIndexOutOfBounds {
|
|
||||||
|
|
||||||
private static Logger LOGGER = LoggerFactory.getLogger(StringIndexOutOfBounds.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
String str = "Hello World";
|
|
||||||
|
|
||||||
try {
|
|
||||||
char charAtNegativeIndex = str.charAt(-1); // Trying to access at negative index
|
|
||||||
char charAtLengthIndex = str.charAt(11); // Trying to access at index equal to size of the string
|
|
||||||
} catch (StringIndexOutOfBoundsException e) {
|
|
||||||
LOGGER.error("StringIndexOutOfBoundsException caught");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.baeldung.chainedexception;
|
package com.baeldung.exceptions.chainedexception;
|
||||||
|
|
||||||
import com.baeldung.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
||||||
import com.baeldung.chainedexception.exceptions.ManagerUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.ManagerUpsetException;
|
||||||
import com.baeldung.chainedexception.exceptions.NoLeaveGrantedException;
|
import com.baeldung.exceptions.chainedexception.exceptions.NoLeaveGrantedException;
|
||||||
import com.baeldung.chainedexception.exceptions.TeamLeadUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.TeamLeadUpsetException;
|
||||||
|
|
||||||
public class LogWithChain {
|
public class LogWithChain {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.baeldung.chainedexception;
|
package com.baeldung.exceptions.chainedexception;
|
||||||
|
|
||||||
import com.baeldung.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
||||||
import com.baeldung.chainedexception.exceptions.ManagerUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.ManagerUpsetException;
|
||||||
import com.baeldung.chainedexception.exceptions.NoLeaveGrantedException;
|
import com.baeldung.exceptions.chainedexception.exceptions.NoLeaveGrantedException;
|
||||||
import com.baeldung.chainedexception.exceptions.TeamLeadUpsetException;
|
import com.baeldung.exceptions.chainedexception.exceptions.TeamLeadUpsetException;
|
||||||
|
|
||||||
public class LogWithoutChain {
|
public class LogWithoutChain {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.chainedexception.exceptions;
|
package com.baeldung.exceptions.chainedexception.exceptions;
|
||||||
|
|
||||||
public class GirlFriendOfManagerUpsetException extends Exception {
|
public class GirlFriendOfManagerUpsetException extends Exception {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.chainedexception.exceptions;
|
package com.baeldung.exceptions.chainedexception.exceptions;
|
||||||
|
|
||||||
public class ManagerUpsetException extends Exception {
|
public class ManagerUpsetException extends Exception {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.chainedexception.exceptions;
|
package com.baeldung.exceptions.chainedexception.exceptions;
|
||||||
|
|
||||||
public class NoLeaveGrantedException extends Exception {
|
public class NoLeaveGrantedException extends Exception {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.chainedexception.exceptions;
|
package com.baeldung.exceptions.chainedexception.exceptions;
|
||||||
|
|
||||||
public class TeamLeadUpsetException extends Exception {
|
public class TeamLeadUpsetException extends Exception {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.customexception;
|
package com.baeldung.exceptions.customexception;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.customexception;
|
package com.baeldung.exceptions.customexception;
|
||||||
|
|
||||||
public class IncorrectFileExtensionException extends RuntimeException{
|
public class IncorrectFileExtensionException extends RuntimeException{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.customexception;
|
package com.baeldung.exceptions.customexception;
|
||||||
|
|
||||||
public class IncorrectFileNameException extends Exception {
|
public class IncorrectFileNameException extends Exception {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.exceptionhandling;
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
|
public class MyException extends Throwable {
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.exceptionhandling;
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
public class Player {
|
public class Player {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.exceptionhandling;
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.exceptionhandling;
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
public class PlayerScoreException extends Exception {
|
public class PlayerScoreException extends Exception {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.baeldung.exceptionhandling;
|
package com.baeldung.exceptions.exceptionhandling;
|
||||||
|
|
||||||
public class TimeoutException extends Exception {
|
public class TimeoutException extends Exception {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue