jlcout / epctagcoder

Java library for RFID EPC encode / decode

Home Page:https://jlcout.github.io/epctagcoder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GIAI Builder returns null when input RFID tag is not valid

yolave opened this issue · comments

When using org.epctagcoder.parse.GIAI.ParseGIAI.Builder() to create a new instance, setting an invalid RFID tag in the method org.epctagcoder.parse.GIAI.ParseGIAI.ChoiceStep.withRFIDTag(String) produces a NullPointerException when finally calling org.epctagcoder.parse.GIAI.ParseGIAI.BuildStep.build() method.

For example, the following snippet will fail:

ParseGIAI.Builder()
.withRFIDTag("anyNonComplaintValue").build()
 .getGIAI() 

Instead of null, the org.epctagcoder.parse.GIAI.ParseGIAI.BuildStep.build() method might throw a ParseException (or any other dedicated exception) or even better, it could return a java.util.Optional to be easier to check the result of the parsing.

Thank you for this awesome library!

Hi Yolave!

I'm analyzing, I prefer Optional. I don't particularly like the idea of ​​throwing an exception, although it is very easy to implement.

As I implemented using the step builder pattern I will have problems cascading Optional.
It would be a good challenge.

Thank you for the idea.