Skip to content

Commit 8d18f47

Browse files
committed
Using JSpecify annotations
1 parent 57fe48d commit 8d18f47

31 files changed

+198
-184
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ Add the following to your pom.xml to use this artifact, replacing `x.y.z` with t
5858

5959
# News and noteworthy
6060

61+
v3.1.0 - 2025-11-17
62+
* Updated to ph-commons 12.1.0
63+
* Using JSpecify annotations
64+
6165
v3.0.0 - 2025-08-29
6266
* Requires Java 17 as the minimum version
6367
* Updated to ph-commons 12.0.0

pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,59 +65,59 @@
6565
<dependency>
6666
<groupId>com.helger.commons</groupId>
6767
<artifactId>ph-commons-parent-pom</artifactId>
68-
<version>12.0.4</version>
68+
<version>12.1.0</version>
6969
<type>pom</type>
7070
<scope>import</scope>
7171
</dependency>
7272
<dependency>
7373
<groupId>com.helger.masterdata</groupId>
7474
<artifactId>ph-masterdata-parent-pom</artifactId>
75-
<version>8.0.2</version>
75+
<version>8.1.0</version>
7676
<type>pom</type>
7777
<scope>import</scope>
7878
</dependency>
7979
<dependency>
8080
<groupId>com.helger</groupId>
8181
<artifactId>ph-ebinterface</artifactId>
82-
<version>8.0.0</version>
82+
<version>8.1.0</version>
8383
</dependency>
8484
<dependency>
8585
<groupId>com.helger.ubl</groupId>
8686
<artifactId>ph-ubl-parent-pom</artifactId>
87-
<version>10.0.0</version>
87+
<version>10.1.0</version>
8888
<type>pom</type>
8989
<scope>import</scope>
9090
</dependency>
9191
<dependency>
9292
<groupId>com.helger.peppol</groupId>
9393
<artifactId>peppol-commons-parent-pom</artifactId>
94-
<version>12.0.4</version>
94+
<version>12.2.0</version>
9595
<type>pom</type>
9696
<scope>import</scope>
9797
</dependency>
9898
<dependency>
9999
<groupId>at.austriapro</groupId>
100100
<artifactId>ebinterface-ubl-mapping</artifactId>
101-
<version>6.0.0</version>
101+
<version>6.1.0</version>
102102
</dependency>
103103
<dependency>
104104
<groupId>com.helger.phive</groupId>
105105
<artifactId>phive-parent-pom</artifactId>
106-
<version>11.0.1</version>
106+
<version>11.1.0</version>
107107
<type>pom</type>
108108
<scope>import</scope>
109109
</dependency>
110110
<dependency>
111111
<groupId>com.helger.phive.rules</groupId>
112112
<artifactId>phive-rules-parent-pom</artifactId>
113-
<version>4.0.3</version>
113+
<version>4.1.0</version>
114114
<type>pom</type>
115115
<scope>import</scope>
116116
</dependency>
117117
<dependency>
118118
<groupId>com.helger</groupId>
119119
<artifactId>en16931-cii2ubl</artifactId>
120-
<version>3.0.1</version>
120+
<version>3.1.0</version>
121121
</dependency>
122122
</dependencies>
123123
</dependencyManagement>

src/main/java/at/austriapro/ebinterface/xrechnung/AbstractEbInterfaceXRechnungConverter.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818
import java.util.Locale;
1919

20+
import org.jspecify.annotations.NonNull;
21+
import org.jspecify.annotations.Nullable;
22+
2023
import com.helger.annotation.Nonempty;
2124
import com.helger.annotation.Nonnegative;
2225
import com.helger.annotation.misc.Translatable;
@@ -28,9 +31,6 @@
2831
import com.helger.text.resolve.DefaultTextResolver;
2932
import com.helger.text.util.TextHelper;
3033

31-
import jakarta.annotation.Nonnull;
32-
import jakarta.annotation.Nullable;
33-
3434
/**
3535
* Abstract base class for converter between XRechnung to ebInterface (in both
3636
* directions).
@@ -52,16 +52,16 @@ protected enum EText implements IHasDisplayTextWithArgs
5252
CHARGE ("Zuschlag", "Charge"),
5353
DUE_DATE ("Fällig am {0}", "Due at {0}");
5454

55-
@Nonnull
55+
@NonNull
5656
private final IMultilingualText m_aTP;
5757

58-
EText (@Nonnull final String sDE, @Nonnull final String sEN)
58+
EText (@NonNull final String sDE, @NonNull final String sEN)
5959
{
6060
m_aTP = TextHelper.create_DE_EN (sDE, sEN);
6161
}
6262

6363
@Nullable
64-
public String getDisplayText (@Nonnull final Locale aContentLocale)
64+
public String getDisplayText (@NonNull final Locale aContentLocale)
6565
{
6666
return DefaultTextResolver.getTextStatic (this, m_aTP, aContentLocale);
6767
}
@@ -70,8 +70,8 @@ public String getDisplayText (@Nonnull final Locale aContentLocale)
7070
protected final Locale m_aDisplayLocale;
7171
protected final Locale m_aContentLocale;
7272

73-
protected AbstractEbInterfaceXRechnungConverter (@Nonnull final Locale aDisplayLocale,
74-
@Nonnull final Locale aContentLocale)
73+
protected AbstractEbInterfaceXRechnungConverter (@NonNull final Locale aDisplayLocale,
74+
@NonNull final Locale aContentLocale)
7575
{
7676
ValueEnforcer.notNull (aDisplayLocale, "DisplayLocale");
7777
ValueEnforcer.notNull (aContentLocale, "ContentLocale");
@@ -80,20 +80,20 @@ protected AbstractEbInterfaceXRechnungConverter (@Nonnull final Locale aDisplayL
8080
}
8181

8282
@Nonnegative
83-
protected static final int countWarnings (@Nonnull final IErrorList aErrorList)
83+
protected static final int countWarnings (@NonNull final IErrorList aErrorList)
8484
{
8585
return aErrorList.getCount (x -> x.getErrorLevel () == EErrorLevel.WARN);
8686
}
8787

88-
@Nonnull
88+
@NonNull
8989
@Nonempty
9090
protected final String warningText (@Nonnegative final int nWarn)
9191
{
9292
return nWarn == 1 ? EText.WARNING_1.getDisplayText (m_aDisplayLocale)
9393
: EText.WARNINGS_N.getDisplayTextWithArgs (m_aDisplayLocale, Integer.toString (nWarn));
9494
}
9595

96-
@Nonnull
96+
@NonNull
9797
@Nonempty
9898
protected final String errorText (@Nonnegative final int nErrs)
9999
{

src/main/java/at/austriapro/ebinterface/xrechnung/EXRechnungVersion.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
*/
1616
package at.austriapro.ebinterface.xrechnung;
1717

18+
import org.jspecify.annotations.NonNull;
19+
1820
import com.helger.annotation.Nonempty;
1921
import com.helger.diver.api.coord.DVRCoordinate;
2022
import com.helger.phive.xrechnung.XRechnungValidation;
2123

22-
import jakarta.annotation.Nonnull;
23-
2424
/**
2525
* XRechnung version specifics.
2626
*
@@ -65,44 +65,44 @@ public enum EXRechnungVersion
6565
private final DVRCoordinate m_aUBLInvoice;
6666
private final DVRCoordinate m_aUBLCreditNote;
6767

68-
EXRechnungVersion (@Nonnull @Nonempty final String sCustomizationID,
69-
@Nonnull final DVRCoordinate aCII,
70-
@Nonnull final DVRCoordinate aUBLInvoice,
71-
@Nonnull final DVRCoordinate aUBLCreditNote)
68+
EXRechnungVersion (@NonNull @Nonempty final String sCustomizationID,
69+
@NonNull final DVRCoordinate aCII,
70+
@NonNull final DVRCoordinate aUBLInvoice,
71+
@NonNull final DVRCoordinate aUBLCreditNote)
7272
{
7373
m_sCustomizationID = sCustomizationID;
7474
m_aCII = aCII;
7575
m_aUBLInvoice = aUBLInvoice;
7676
m_aUBLCreditNote = aUBLCreditNote;
7777
}
7878

79-
@Nonnull
79+
@NonNull
8080
@Nonempty
8181
public String getCustomizationID ()
8282
{
8383
return m_sCustomizationID;
8484
}
8585

86-
@Nonnull
86+
@NonNull
8787
@Nonempty
8888
public String getProfileID ()
8989
{
9090
return "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0";
9191
}
9292

93-
@Nonnull
93+
@NonNull
9494
public DVRCoordinate getVESID_CII ()
9595
{
9696
return m_aCII;
9797
}
9898

99-
@Nonnull
99+
@NonNull
100100
public DVRCoordinate getVESID_UBLInvoice ()
101101
{
102102
return m_aUBLInvoice;
103103
}
104104

105-
@Nonnull
105+
@NonNull
106106
public DVRCoordinate getVESID_UBLCreditNote ()
107107
{
108108
return m_aUBLCreditNote;

src/main/java/at/austriapro/ebinterface/xrechnung/from/AbstractXRechnungToEbInterfaceConverter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717

1818
import java.util.Locale;
1919

20+
import org.jspecify.annotations.NonNull;
21+
2022
import at.austriapro.ebinterface.ubl.from.ToEbinterfaceSettings;
2123
import at.austriapro.ebinterface.xrechnung.AbstractEbInterfaceXRechnungConverter;
22-
import jakarta.annotation.Nonnull;
2324

2425
/**
2526
* Abstract base class to convert XRechnung to ebInterface.
@@ -30,8 +31,8 @@ public abstract class AbstractXRechnungToEbInterfaceConverter extends AbstractEb
3031
{
3132
protected final ToEbinterfaceSettings m_aToEbiSettings;
3233

33-
protected AbstractXRechnungToEbInterfaceConverter (@Nonnull final Locale aDisplayLocale,
34-
@Nonnull final Locale aContentLocale)
34+
protected AbstractXRechnungToEbInterfaceConverter (@NonNull final Locale aDisplayLocale,
35+
@NonNull final Locale aContentLocale)
3536
{
3637
super (aDisplayLocale, aContentLocale);
3738
m_aToEbiSettings = new ToEbinterfaceSettings ().setUBLVersionIDMandatory (false)

src/main/java/at/austriapro/ebinterface/xrechnung/from/cii/AbstractXRechnungCIIToEbInterfaceConverter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import java.io.Serializable;
1919
import java.util.Locale;
2020

21+
import org.jspecify.annotations.NonNull;
22+
import org.jspecify.annotations.Nullable;
2123
import org.slf4j.Logger;
2224
import org.slf4j.LoggerFactory;
2325

@@ -26,8 +28,6 @@
2628
import com.helger.en16931.cii2ubl.EUBLCreationMode;
2729

2830
import at.austriapro.ebinterface.xrechnung.from.AbstractXRechnungToEbInterfaceConverter;
29-
import jakarta.annotation.Nonnull;
30-
import jakarta.annotation.Nullable;
3131
import oasis.names.specification.ubl.schema.xsd.invoice_21.InvoiceType;
3232
import un.unece.uncefact.data.standard.crossindustryinvoice._100.CrossIndustryInvoiceType;
3333

@@ -40,15 +40,15 @@ public abstract class AbstractXRechnungCIIToEbInterfaceConverter extends Abstrac
4040
{
4141
private static final Logger LOGGER = LoggerFactory.getLogger (AbstractXRechnungCIIToEbInterfaceConverter.class);
4242

43-
protected AbstractXRechnungCIIToEbInterfaceConverter (@Nonnull final Locale aDisplayLocale,
44-
@Nonnull final Locale aContentLocale)
43+
protected AbstractXRechnungCIIToEbInterfaceConverter (@NonNull final Locale aDisplayLocale,
44+
@NonNull final Locale aContentLocale)
4545
{
4646
super (aDisplayLocale, aContentLocale);
4747
}
4848

4949
@Nullable
50-
protected InvoiceType convertCIIToUBL (@Nonnull final CrossIndustryInvoiceType aCIIInvoice,
51-
@Nonnull final ErrorList aErrorList)
50+
protected InvoiceType convertCIIToUBL (@NonNull final CrossIndustryInvoiceType aCIIInvoice,
51+
@NonNull final ErrorList aErrorList)
5252
{
5353
final CIIToUBL21Converter aConverter = new CIIToUBL21Converter ();
5454
aConverter.setUBLCreationMode (EUBLCreationMode.INVOICE);

src/main/java/at/austriapro/ebinterface/xrechnung/from/cii/XRechnungCIIInvoiceToEbInterface40Converter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717

1818
import java.util.Locale;
1919

20+
import org.jspecify.annotations.NonNull;
21+
import org.jspecify.annotations.Nullable;
22+
2023
import com.helger.diagnostics.error.list.ErrorList;
2124
import com.helger.ebinterface.v40.Ebi40InvoiceType;
2225

2326
import at.austriapro.ebinterface.ubl.from.invoice.ICustomInvoiceToEbInterface40Converter;
2427
import at.austriapro.ebinterface.xrechnung.from.ubl.XRechnungUBLInvoiceToEbInterface40Converter;
25-
import jakarta.annotation.Nonnull;
26-
import jakarta.annotation.Nullable;
2728
import oasis.names.specification.ubl.schema.xsd.invoice_21.InvoiceType;
2829
import un.unece.uncefact.data.standard.crossindustryinvoice._100.CrossIndustryInvoiceType;
2930

@@ -36,20 +37,20 @@ public class XRechnungCIIInvoiceToEbInterface40Converter extends AbstractXRechnu
3637
{
3738
private ICustomInvoiceToEbInterface40Converter m_aCustomizer;
3839

39-
public XRechnungCIIInvoiceToEbInterface40Converter (@Nonnull final Locale aDisplayLocale, @Nonnull final Locale aContentLocale)
40+
public XRechnungCIIInvoiceToEbInterface40Converter (@NonNull final Locale aDisplayLocale, @NonNull final Locale aContentLocale)
4041
{
4142
super (aDisplayLocale, aContentLocale);
4243
}
4344

44-
@Nonnull
45+
@NonNull
4546
public XRechnungCIIInvoiceToEbInterface40Converter setCustomizer (@Nullable final ICustomInvoiceToEbInterface40Converter aCustomizer)
4647
{
4748
m_aCustomizer = aCustomizer;
4849
return this;
4950
}
5051

5152
@Nullable
52-
public Ebi40InvoiceType convert (@Nonnull final CrossIndustryInvoiceType aCIIInvoice, @Nonnull final ErrorList aTransformErrorList)
53+
public Ebi40InvoiceType convert (@NonNull final CrossIndustryInvoiceType aCIIInvoice, @NonNull final ErrorList aTransformErrorList)
5354
{
5455
final InvoiceType aUBLInvoice = convertCIIToUBL (aCIIInvoice, aTransformErrorList);
5556
if (aUBLInvoice == null)

src/main/java/at/austriapro/ebinterface/xrechnung/from/cii/XRechnungCIIInvoiceToEbInterface41Converter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717

1818
import java.util.Locale;
1919

20+
import org.jspecify.annotations.NonNull;
21+
import org.jspecify.annotations.Nullable;
22+
2023
import com.helger.diagnostics.error.list.ErrorList;
2124
import com.helger.ebinterface.v41.Ebi41InvoiceType;
2225

2326
import at.austriapro.ebinterface.ubl.from.invoice.ICustomInvoiceToEbInterface41Converter;
2427
import at.austriapro.ebinterface.xrechnung.from.ubl.XRechnungUBLInvoiceToEbInterface41Converter;
25-
import jakarta.annotation.Nonnull;
26-
import jakarta.annotation.Nullable;
2728
import oasis.names.specification.ubl.schema.xsd.invoice_21.InvoiceType;
2829
import un.unece.uncefact.data.standard.crossindustryinvoice._100.CrossIndustryInvoiceType;
2930

@@ -36,20 +37,20 @@ public class XRechnungCIIInvoiceToEbInterface41Converter extends AbstractXRechnu
3637
{
3738
private ICustomInvoiceToEbInterface41Converter m_aCustomizer;
3839

39-
public XRechnungCIIInvoiceToEbInterface41Converter (@Nonnull final Locale aDisplayLocale, @Nonnull final Locale aContentLocale)
40+
public XRechnungCIIInvoiceToEbInterface41Converter (@NonNull final Locale aDisplayLocale, @NonNull final Locale aContentLocale)
4041
{
4142
super (aDisplayLocale, aContentLocale);
4243
}
4344

44-
@Nonnull
45+
@NonNull
4546
public XRechnungCIIInvoiceToEbInterface41Converter setCustomizer (@Nullable final ICustomInvoiceToEbInterface41Converter aCustomizer)
4647
{
4748
m_aCustomizer = aCustomizer;
4849
return this;
4950
}
5051

5152
@Nullable
52-
public Ebi41InvoiceType convert (@Nonnull final CrossIndustryInvoiceType aCIIInvoice, @Nonnull final ErrorList aTransformErrorList)
53+
public Ebi41InvoiceType convert (@NonNull final CrossIndustryInvoiceType aCIIInvoice, @NonNull final ErrorList aTransformErrorList)
5354
{
5455
final InvoiceType aUBLInvoice = convertCIIToUBL (aCIIInvoice, aTransformErrorList);
5556
if (aUBLInvoice == null)

0 commit comments

Comments
 (0)