Package org.apache.nutch.indexer.geoip

## Class GeoIPDocumentCreator

- java.lang.Object
- - org.apache.nutch.indexer.geoip.GeoIPDocumentCreator

-     public class GeoIPDocumentCreator
      extends Object

  Simple utility class which enables efficient, structured `NutchDocument` building based on input from `GeoIPIndexingFilter`, where configuration is also read.

  Based on the nature of the input, this class wraps factory type implementations for populating `NutchDocument` 's with the correct `NutchField` information.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GeoIPDocumentCreator()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `addIfNotNull​(NutchDocument doc, String name, Object value)` | Add field to document but only if value isn't null
    `static NutchDocument` | `createDocFromCityDb​(String serverIp, NutchDocument doc, com.maxmind.geoip2.DatabaseReader reader)` |
    `static NutchDocument` | `createDocFromCityService​(String serverIp, NutchDocument doc, com.maxmind.geoip2.WebServiceClient client)` |
    `static NutchDocument` | `createDocFromConnectionDb​(String serverIp, NutchDocument doc, com.maxmind.geoip2.DatabaseReader reader)` |
    `static NutchDocument` | `createDocFromCountryService​(String serverIp, NutchDocument doc, com.maxmind.geoip2.WebServiceClient client)` |
    `static NutchDocument` | `createDocFromDomainDb​(String serverIp, NutchDocument doc, com.maxmind.geoip2.DatabaseReader reader)` |
    `static NutchDocument` | `createDocFromInsightsService​(String serverIp, NutchDocument doc, com.maxmind.geoip2.WebServiceClient client)` |
    `static NutchDocument` | `createDocFromIspDb​(String serverIp, NutchDocument doc, com.maxmind.geoip2.DatabaseReader reader)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### GeoIPDocumentCreator

          public GeoIPDocumentCreator()

  - ### Method Detail

    - #### addIfNotNull

          public static void addIfNotNull​(NutchDocument doc,
                                          String name,
                                          Object value)

      Add field to document but only if value isn't null
      Parameters:
        `doc` - the `NutchDocument` to augment
        `name` - the name of the target field
        `value` - the String value to associate with the target field

    - #### createDocFromInsightsService

          public static NutchDocument createDocFromInsightsService​(String serverIp,
                                                                   NutchDocument doc,
                                                                   com.maxmind.geoip2.WebServiceClient client)
                                                            throws UnknownHostException,
                                                                   IOException,
                                                                   com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromCityService

          public static NutchDocument createDocFromCityService​(String serverIp,
                                                               NutchDocument doc,
                                                               com.maxmind.geoip2.WebServiceClient client)
                                                        throws UnknownHostException,
                                                               IOException,
                                                               com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromCountryService

          public static NutchDocument createDocFromCountryService​(String serverIp,
                                                                  NutchDocument doc,
                                                                  com.maxmind.geoip2.WebServiceClient client)
                                                           throws UnknownHostException,
                                                                  IOException,
                                                                  com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromIspDb

          public static NutchDocument createDocFromIspDb​(String serverIp,
                                                         NutchDocument doc,
                                                         com.maxmind.geoip2.DatabaseReader reader)
                                                  throws UnknownHostException,
                                                         IOException,
                                                         com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromDomainDb

          public static NutchDocument createDocFromDomainDb​(String serverIp,
                                                            NutchDocument doc,
                                                            com.maxmind.geoip2.DatabaseReader reader)
                                                     throws UnknownHostException,
                                                            IOException,
                                                            com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromConnectionDb

          public static NutchDocument createDocFromConnectionDb​(String serverIp,
                                                                NutchDocument doc,
                                                                com.maxmind.geoip2.DatabaseReader reader)
                                                         throws UnknownHostException,
                                                                IOException,
                                                                com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`

    - #### createDocFromCityDb

          public static NutchDocument createDocFromCityDb​(String serverIp,
                                                          NutchDocument doc,
                                                          com.maxmind.geoip2.DatabaseReader reader)
                                                   throws UnknownHostException,
                                                          IOException,
                                                          com.maxmind.geoip2.exception.GeoIp2Exception

      Throws:
        `UnknownHostException`
        `IOException`
        `com.maxmind.geoip2.exception.GeoIp2Exception`