2424import java .io .IOException ;
2525import java .io .InputStream ;
2626import java .net .InetAddress ;
27- import java .util .Collections ;
2827import java .util .List ;
2928import java .util .Optional ;
3029
@@ -150,9 +149,8 @@ private int getDatabaseType() {
150149 type |= DatabaseType .ISP .type ;
151150 }
152151 if (type == 0 ) {
153- // XXX - exception type
154- throw new UnsupportedOperationException (
155- "Invalid attempt to open an unknown database type: " + databaseType );
152+ throw new IllegalArgumentException (
153+ "Unsupported database type: " + databaseType );
156154 }
157155 return type ;
158156 }
@@ -174,7 +172,7 @@ public static final class Builder {
174172 final File database ;
175173 final InputStream stream ;
176174
177- List <String > locales = Collections . singletonList ("en" );
175+ List <String > locales = List . of ("en" );
178176 FileMode mode = FileMode .MEMORY_MAPPED ;
179177 NodeCache cache = NoCache .getInstance ();
180178
@@ -239,28 +237,7 @@ public DatabaseReader build() throws IOException {
239237 }
240238 }
241239
242- static final class LookupResult <T > {
243- final T model ;
244- final String ipAddress ;
245- final Network network ;
246-
247- LookupResult (T model , String ipAddress , Network network ) {
248- this .model = model ;
249- this .ipAddress = ipAddress ;
250- this .network = network ;
251- }
252-
253- T getModel () {
254- return this .model ;
255- }
256-
257- String getIpAddress () {
258- return this .ipAddress ;
259- }
260-
261- Network getNetwork () {
262- return this .network ;
263- }
240+ static record LookupResult <T >(T model , String ipAddress , Network network ) {
264241 }
265242
266243 /**
@@ -333,15 +310,15 @@ private Optional<CountryResponse> getCountry(
333310 CountryResponse .class ,
334311 DatabaseType .COUNTRY
335312 );
336- CountryResponse response = result .getModel ();
313+ CountryResponse response = result .model ();
337314 if (response == null ) {
338315 return Optional .empty ();
339316 }
340317 return Optional .of (
341318 new CountryResponse (
342319 response ,
343- result .getIpAddress (),
344- result .getNetwork (),
320+ result .ipAddress (),
321+ result .network (),
345322 locales
346323 )
347324 );
@@ -372,15 +349,15 @@ private Optional<CityResponse> getCity(
372349 CityResponse .class ,
373350 DatabaseType .CITY
374351 );
375- CityResponse response = result .getModel ();
352+ CityResponse response = result .model ();
376353 if (response == null ) {
377354 return Optional .empty ();
378355 }
379356 return Optional .of (
380357 new CityResponse (
381358 response ,
382- result .getIpAddress (),
383- result .getNetwork (),
359+ result .ipAddress (),
360+ result .network (),
384361 locales
385362 )
386363 );
@@ -419,15 +396,15 @@ private Optional<AnonymousIpResponse> getAnonymousIp(
419396 AnonymousIpResponse .class ,
420397 DatabaseType .ANONYMOUS_IP
421398 );
422- AnonymousIpResponse response = result .getModel ();
399+ AnonymousIpResponse response = result .model ();
423400 if (response == null ) {
424401 return Optional .empty ();
425402 }
426403 return Optional .of (
427404 new AnonymousIpResponse (
428405 response ,
429- result .getIpAddress (),
430- result .getNetwork ()
406+ result .ipAddress (),
407+ result .network ()
431408 )
432409 );
433410 }
@@ -466,15 +443,15 @@ private Optional<AnonymousPlusResponse> getAnonymousPlus(
466443 AnonymousPlusResponse .class ,
467444 DatabaseType .ANONYMOUS_PLUS
468445 );
469- AnonymousPlusResponse response = result .getModel ();
446+ AnonymousPlusResponse response = result .model ();
470447 if (response == null ) {
471448 return Optional .empty ();
472449 }
473450 return Optional .of (
474451 new AnonymousPlusResponse (
475452 response ,
476- result .getIpAddress (),
477- result .getNetwork ()
453+ result .ipAddress (),
454+ result .network ()
478455 )
479456 );
480457 }
@@ -487,9 +464,7 @@ private Optional<AnonymousPlusResponse> getAnonymousPlus(
487464 * @return a IPRiskResponse for the requested IP address.
488465 * @throws GeoIp2Exception if there is an error looking up the IP
489466 * @throws IOException if there is an IO error
490- * @deprecated This database has been discontinued.
491467 */
492- @ Deprecated
493468 @ Override
494469 public IpRiskResponse ipRisk (InetAddress ipAddress ) throws IOException ,
495470 GeoIp2Exception {
@@ -501,30 +476,28 @@ public IpRiskResponse ipRisk(InetAddress ipAddress) throws IOException,
501476 return r .get ();
502477 }
503478
504- @ Deprecated
505479 @ Override
506480 public Optional <IpRiskResponse > tryIpRisk (InetAddress ipAddress ) throws IOException ,
507481 GeoIp2Exception {
508482 return getIpRisk (ipAddress );
509483 }
510484
511- @ Deprecated
512485 private Optional <IpRiskResponse > getIpRisk (InetAddress ipAddress ) throws IOException ,
513486 GeoIp2Exception {
514487 LookupResult <IpRiskResponse > result = this .get (
515488 ipAddress ,
516489 IpRiskResponse .class ,
517490 DatabaseType .IP_RISK
518491 );
519- IpRiskResponse response = result .getModel ();
492+ IpRiskResponse response = result .model ();
520493 if (response == null ) {
521494 return Optional .empty ();
522495 }
523496 return Optional .of (
524497 new IpRiskResponse (
525498 response ,
526- result .getIpAddress (),
527- result .getNetwork ()
499+ result .ipAddress (),
500+ result .network ()
528501 )
529502 );
530503 }
@@ -561,15 +534,15 @@ private Optional<AsnResponse> getAsn(InetAddress ipAddress)
561534 AsnResponse .class ,
562535 DatabaseType .ASN
563536 );
564- AsnResponse response = result .getModel ();
537+ AsnResponse response = result .model ();
565538 if (response == null ) {
566539 return Optional .empty ();
567540 }
568541 return Optional .of (
569542 new AsnResponse (
570543 response ,
571- result .getIpAddress (),
572- result .getNetwork ()
544+ result .ipAddress (),
545+ result .network ()
573546 )
574547 );
575548 }
@@ -607,15 +580,15 @@ private Optional<ConnectionTypeResponse> getConnectionType(
607580 ConnectionTypeResponse .class ,
608581 DatabaseType .CONNECTION_TYPE
609582 );
610- ConnectionTypeResponse response = result .getModel ();
583+ ConnectionTypeResponse response = result .model ();
611584 if (response == null ) {
612585 return Optional .empty ();
613586 }
614587 return Optional .of (
615588 new ConnectionTypeResponse (
616589 response ,
617- result .getIpAddress (),
618- result .getNetwork ()
590+ result .ipAddress (),
591+ result .network ()
619592 )
620593 );
621594 }
@@ -653,15 +626,15 @@ private Optional<DomainResponse> getDomain(
653626 DomainResponse .class ,
654627 DatabaseType .DOMAIN
655628 );
656- DomainResponse response = result .getModel ();
629+ DomainResponse response = result .model ();
657630 if (response == null ) {
658631 return Optional .empty ();
659632 }
660633 return Optional .of (
661634 new DomainResponse (
662635 response ,
663- result .getIpAddress (),
664- result .getNetwork ()
636+ result .ipAddress (),
637+ result .network ()
665638 )
666639 );
667640 }
@@ -699,15 +672,15 @@ private Optional<EnterpriseResponse> getEnterprise(
699672 EnterpriseResponse .class ,
700673 DatabaseType .ENTERPRISE
701674 );
702- EnterpriseResponse response = result .getModel ();
675+ EnterpriseResponse response = result .model ();
703676 if (response == null ) {
704677 return Optional .empty ();
705678 }
706679 return Optional .of (
707680 new EnterpriseResponse (
708681 response ,
709- result .getIpAddress (),
710- result .getNetwork (),
682+ result .ipAddress (),
683+ result .network (),
711684 locales
712685 )
713686 );
@@ -746,15 +719,15 @@ private Optional<IspResponse> getIsp(
746719 IspResponse .class ,
747720 DatabaseType .ISP
748721 );
749- IspResponse response = result .getModel ();
722+ IspResponse response = result .model ();
750723 if (response == null ) {
751724 return Optional .empty ();
752725 }
753726 return Optional .of (
754727 new IspResponse (
755728 response ,
756- result .getIpAddress (),
757- result .getNetwork ()
729+ result .ipAddress (),
730+ result .network ()
758731 )
759732 );
760733 }
0 commit comments