org.eclipse.xtext.service
Class MethodBasedModule

java.lang.Object
  extended by org.eclipse.xtext.service.MethodBasedModule
All Implemented Interfaces:
com.google.inject.Module
Direct Known Subclasses:
BindModule, FreeModule, ProviderModule

public abstract class MethodBasedModule
extends java.lang.Object
implements com.google.inject.Module

Author:
Sebastian Zarnekow - Initial contribution and API, Sven Efftinge

Constructor Summary
protected MethodBasedModule(java.lang.reflect.Method method, java.lang.Object owner)
           
 
Method Summary
protected  void bindToClass(com.google.inject.binder.LinkedBindingBuilder<java.lang.Object> bind, java.lang.Class<?> value)
           
protected  void bindToInstance(com.google.inject.binder.LinkedBindingBuilder<java.lang.Object> bind, java.lang.Object instance)
           
 void configure(com.google.inject.Binder binder)
           
protected  java.lang.reflect.Type getFirstTypeParameter(java.lang.reflect.ParameterizedType type)
           
 java.lang.reflect.Type getKeyType()
           
 java.lang.reflect.Method getMethod()
           
 java.lang.Object getOwner()
           
 java.lang.Object invokeMethod(java.lang.Object... parameters)
           
 boolean isClassBinding()
           
 boolean isEager()
           
protected  boolean isSame(java.lang.reflect.Type typeA, java.lang.reflect.Type typeB)
           
 boolean isSingleton()
           
protected  java.lang.IllegalStateException throwIllegalReturnTypeDeclaration(java.lang.reflect.Method method)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodBasedModule

protected MethodBasedModule(java.lang.reflect.Method method,
                            java.lang.Object owner)
Method Detail

getMethod

public java.lang.reflect.Method getMethod()

getOwner

public java.lang.Object getOwner()

configure

public void configure(com.google.inject.Binder binder)
Specified by:
configure in interface com.google.inject.Module

bindToClass

protected void bindToClass(com.google.inject.binder.LinkedBindingBuilder<java.lang.Object> bind,
                           java.lang.Class<?> value)

bindToInstance

protected void bindToInstance(com.google.inject.binder.LinkedBindingBuilder<java.lang.Object> bind,
                              java.lang.Object instance)

isSame

protected boolean isSame(java.lang.reflect.Type typeA,
                         java.lang.reflect.Type typeB)

getKeyType

public java.lang.reflect.Type getKeyType()

getFirstTypeParameter

protected java.lang.reflect.Type getFirstTypeParameter(java.lang.reflect.ParameterizedType type)

throwIllegalReturnTypeDeclaration

protected java.lang.IllegalStateException throwIllegalReturnTypeDeclaration(java.lang.reflect.Method method)

isClassBinding

public boolean isClassBinding()

isEager

public boolean isEager()

isSingleton

public boolean isSingleton()

invokeMethod

public java.lang.Object invokeMethod(java.lang.Object... parameters)