Package org.locationtech.geogig.api

Source Code of org.locationtech.geogig.api.ContextBuilder$HintsModule

/* Copyright (c) 2014 Boundless and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Distribution License v1.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/edl-v10.html
*
* Contributors:
* Gabriel Roldan (Boundless) - initial implementation
*/
package org.locationtech.geogig.api;

import org.locationtech.geogig.di.GeogigModule;
import org.locationtech.geogig.repository.Hints;

import com.google.inject.AbstractModule;
import com.google.inject.Guice;

public class ContextBuilder {

    public final Context build() {
        return build(new Hints());
    }

    /**
     * @param hints a set of hints to pass over to the injector to be injected into components that
     *        can make use of it
     */
    public Context build(Hints hints) {
        return Guice.createInjector(new GeogigModule(), new HintsModule(hints)).getInstance(
                org.locationtech.geogig.api.Context.class);
    }

    protected static class HintsModule extends AbstractModule {
        private Hints instance;

        public HintsModule(Hints instance) {
            this.instance = instance;

        }

        @Override
        protected void configure() {
            bind(Hints.class).toInstance(instance);
        }
    }

}
TOP

Related Classes of org.locationtech.geogig.api.ContextBuilder$HintsModule

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.