// Path: gchange-pod-es-plugin/src/main/java/org/duniter/elasticsearch/gchange/model/bma/GchangeEndpoindApi.java
// public enum GchangeEndpoindApi implements IEndpointApi {
// 
//     GCHANGE_API(),
// 
//     GCHANGE_SUBSCRIPTION_API()
//     ;
// 
// 
//     private static final Logger log = LoggerFactory.getLogger(GchangeEndpoindApi.class);
// 
//     private String label;
// 
//     GchangeEndpoindApi(String label) {
//         this.label = label;
//     }
// 
//     GchangeEndpoindApi() {
//         this.label = this.name();
//     }
// 
//     public String label() {
//         return this.label;
//     }
// 
//     /**
//      * Allow to change the API label.
//      * Useful for reuse and API enumeration, with a new label (eg: ES_CORE_API => GCHANGE_API)
//      * @param api
//      * @param label
//      */
//     public void setLabel(String label) {
//         if (!this.label.equals(label)) {
//             log.warn(String.format("Endpoint API '%s' label change to '%s'", this.name(), label));
//             this.label = label;
//         }
//     }
// }


import java.util.Set;
import com.google.common.base.Preconditions;
import org.duniter.core.client.model.bma.EndpointApi;
import org.duniter.elasticsearch.gchange.model.bma.GchangeEndpoindApi;
import org.elasticsearch.common.component.AbstractLifecycleComponent;
import org.elasticsearch.common.inject.Inject;
import java.util.Collection;
    public Collection<String> getPeeringTargetedApis() {
        return this.delegate.getPeeringTargetedApis();
    }

    public Collection<String> getPeeringPublishedApis() {
        return this.delegate.getPeeringPublishedApis();
    }

    public boolean enableDocStats() {
        return delegate.enableDocStats();
    }

    public String getDefaultStringAnalyzer() {
        return delegate.getDefaultStringAnalyzer();
    }

    /* -- protected methods -- */

    protected String getI18nBundleName() {
        return "gchange-pod-es-plugin-i18n";
    }


    /**
     * Override the version default option, from the MANIFEST implementation version (if any)
     * @param applicationConfig
     */
    protected String getPackageVersion() {
        // Override application version
        Package currentPackage = this.getClass().getPackage();
// Path: gchange-pod-es-plugin/src/main/java/org/duniter/elasticsearch/gchange/model/bma/GchangeEndpoindApi.java
// public enum GchangeEndpoindApi implements IEndpointApi {
// 
//     GCHANGE_API(),
// 
//     GCHANGE_SUBSCRIPTION_API()
//     ;
// 
// 
//     private static final Logger log = LoggerFactory.getLogger(GchangeEndpoindApi.class);
// 
//     private String label;
// 
//     GchangeEndpoindApi(String label) {
//         this.label = label;
//     }
// 
//     GchangeEndpoindApi() {
//         this.label = this.name();
//     }
// 
//     public String label() {
//         return this.label;
//     }
// 
//     /**
//      * Allow to change the API label.
//      * Useful for reuse and API enumeration, with a new label (eg: ES_CORE_API => GCHANGE_API)
//      * @param api
//      * @param label
//      */
//     public void setLabel(String label) {
//         if (!this.label.equals(label)) {
//             log.warn(String.format("Endpoint API '%s' label change to '%s'", this.name(), label));
//             this.label = label;
//         }
//     }
// }


// Path: gchange-pod-es-plugin/src/main/java/org/duniter/elasticsearch/gchange/PluginSettings.java
import java.util.Set;
import com.google.common.base.Preconditions;
import org.duniter.core.client.model.bma.EndpointApi;
import org.duniter.elasticsearch.gchange.model.bma.GchangeEndpoindApi;
import org.elasticsearch.common.component.AbstractLifecycleComponent;
import org.elasticsearch.common.inject.Inject;
import java.util.Collection;

    public Collection<String> getPeeringTargetedApis() {
        return this.delegate.getPeeringTargetedApis();
    }

    public Collection<String> getPeeringPublishedApis() {
        return this.delegate.getPeeringPublishedApis();
    }

    public boolean enableDocStats() {
        return delegate.enableDocStats();
    }

    public String getDefaultStringAnalyzer() {
        return delegate.getDefaultStringAnalyzer();
    }

    /* -- protected methods -- */

    protected String getI18nBundleName() {
        return "gchange-pod-es-plugin-i18n";
    }


    /**
     * Override the version default option, from the MANIFEST implementation version (if any)
     * @param applicationConfig
     */
    protected String getPackageVersion() {
        // Override application version
        Package currentPackage = this.getClass().getPackage();
        String newVersion = currentPackage.getImplementationVersion();