
com.asayama.gwt.angular.client.Injector Maven / Gradle / Ivy
package com.asayama.gwt.angular.client;
import com.asayama.gwt.angular.client.Angular.Bind;
import com.asayama.gwt.jsni.client.JSArray;
/**
* Used to retrieve object instances.
*
* http://docs.angularjs.org/api/auto/service/$injector
*
*
* @author kyoken74
* @see AbstractModule
*/
public class Injector implements Service {
NGInjector ngo;
public S get(Class klass) {
return ngo.getService(klass.getName());
}
public boolean has(String name) {
return ngo.has(name);
}
/**
* FIXME Unclear what this method does.
*/
public void instantiate() {
ngo.instantiate();
}
public String[] annotate() {
return ngo.annotate().toArray(JSArray.STRING_ARRAY);
}
}
@Bind("$injector")
class NGInjector extends NGObject {
protected NGInjector() {
}
final native S getService(String name) /*-{
return this.get(name);
}-*/;
final native boolean has(String name) /*-{
return this.has(name);
}-*/;
final native void instantiate() /*-{
this.instantiate();
}-*/;
final native JSArray annotate() /*-{
return this.annotate();
}-*/;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy