最近很多小伙伴都在问Mobx入门之三:Provider&&inject和mockobjectmanager这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展c#–如何在Ninject
最近很多小伙伴都在问Mobx入门之三:Provider && inject和mockobjectmanager这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展c# – 如何在Ninject中使用Provider、com.google.inject.Provider的实例源码、com.google.inject.throwingproviders.CheckedProvider的实例源码、com.google.inject.throwingproviders.ThrowingProviderBinder.Result的实例源码等相关知识,下面开始了哦!
本文目录一览:- Mobx入门之三:Provider && inject(mockobjectmanager)
- c# – 如何在Ninject中使用Provider
- com.google.inject.Provider的实例源码
- com.google.inject.throwingproviders.CheckedProvider的实例源码
- com.google.inject.throwingproviders.ThrowingProviderBinder.Result的实例源码
Mobx入门之三:Provider && inject(mockobjectmanager)
上一节中<App/>组件传递状态temperatures给children -- <TemperatureInput />,如果组建是一个tree, 那么属性的传递则会非常繁琐。redux使用Provider给子组件提供store, connect将子组件和store联系起来,mobx使用Provider和inject注入
import ReactDOM from ''react-dom''
// import registerServiceWorker from ''./registerServiceWorker'';
import React from ''react''
import { action, computed, observable } from ''mobx''
import { Provider, observer, inject } from ''mobx-react''
import DevTools from ''mobx-react-devtools''
const APPID = ''415a88f2b45f08c3e561b058772ec6c3''
class Temperature {
id = Math.random()
@observable unit = ''C''
@observable temperatureCelsius = 25
@observable location = ''Amsterdam, NL''
@observable loading = true
constructor (location) {
this.location = location
this.fetch()
}
@computed get temperatureKelvin () {
console.log(''calculating Kelvin'')
return this.temperatureCelsius * (9 / 5) + 32
}
@computed get temperatureFahrenheit () {
console.log(''calculating Fahrenheit'')
return this.temperatureCelsius + 273.15
}
@computed get temperature () {
console.log(''calculating temperature'')
switch (this.unit) {
case ''K'':
return this.temperatureKelvin + ''°K''
case ''F'':
return this.temperatureFahrenheit + ''°F''
case ''C'':
return this.temperatureCelsius + ''°C''
default:
return this.temperatureCelsius + ''°C''
}
}
@action fetch () {
window.fetch(`http://api.openweathermap.org/data/2.5/weather?appid=${APPID}&q=${this.location}`)
.then(res => res.json())
.then(action(json => {
this.temperatureCelsius = json.main.temp - 273.15
this.loading = false
}))
}
@action setUnit (newUnit) {
this.unit = newUnit
}
@action setCelsius (degrees) {
this.temperatureCelsius = degrees
}
@action(''update temperature and unit'')
setTemperatureAndUnit (degrees, unit) {
this.setUnit(unit)
this.setCelsius(degrees)
}
@action inc() {
this.setCelsius(this.temperatureCelsius + 1)
}
}
@inject(''temperatures'')
@observer
class TemperatureInput extends React.Component {
@observable input = ''''
render () {
return (
<li>
Destination
<input value={this.input}
onChange={this.onChange}/>
<button onClick={this.onSubmit}>Add</button>
</li>
)
}
@action onChange = e => {
this.input = e.target.value
}
@action onSubmit = () => {
this.props.temperatures.push(new Temperature(this.input))
this.input = ''''
}
}
@observer
class TView extends React.Component {
render () {
const t = this.props.temperature
return (
<li key={t.id} onClick={() => this.onTemperatureClick()}>{t.location}: {t.loading ? ''loading...'' : t.temperature}</li>
)
}
@action onTemperatureClick = () => {
this.props.temperature.inc()
}
}
const App = inject(''temperatures'')(observer(
({ temperatures }) => (
<ul>
<TemperatureInput />
{temperatures.map(t =>
<TView key={t.id} temperature={t} />
)}
<DevTools/>
</ul>
)))
const temps = observable([])
ReactDOM.render(
<Provider temperatures={temps}>
<App />
</Provider>,
document.getElementById(''root'')
)
c# – 如何在Ninject中使用Provider
public class Something { [Inject] public Configuration config {get;set;} //singleton [Inject] public Provider<WindowHandler> windowsProvider { get; set; } //NOT singleton public void Search(string text) { WindowHandler handler = windowsProvider.Create(xxxxxx); //use the new handler that was created } }
但似乎提供商采用了IContext,我放了xxxxxx.不应该使用IContext从我引导并从内核创建Something.cs时使用. Provider上的no参数Create方法在哪里??? (我来自Guice的土地观点,它将被编码如上).
所以问题是如何正确地做到这一点?
谢谢,
院长
解决方法
Ninject术语中的提供者是一个工厂,它被赋予Ninject以创建特殊创建的对象.因此,它获取解析上下文,可用于创建不同的实例,具体取决于注入实例的位置.
public class FooProvider : Provider<IFoo> { public override IFoo CreateInstance(IContext ctx) { // add here your special IFoo creation code return new Foo(); } } kernel.Bind<IFoo>().ToProvider<FooProvider>();
你想要的是你的编码器中的工厂,它创建一个WindowHandler实例.因此,创建一个接口来创建这样的实例:
public interface IWindowHandlerFactory { WindowHandler Create(); } Bind<IWindowHandlerFactory>().ToFactory();
或者你可以注入Func< WindowHandler>没有添加配置.但在我看来,这没有什么意义.
注意:所有这些都需要Ninject.Extensions.Factory作为Nuget的预发布3.0.0-rc2.
另见:http://www.planetgeek.ch/2011/12/31/ninject-extensions-factory-introduction/
com.google.inject.Provider的实例源码
protected Result<TypeRef> thisTypeRefImpl(final RuleEnvironment G,final RuleApplicationTrace _trace_,final EObject location) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleThisTypeRefEObject(G,_subtrace_,location); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("thisTypeRefEObject") + stringRepForEnv(G) + " |~ " + stringRep(location) + " ~> " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleThisTypeRefEObject) { thisTypeRefThrowException(ruleName("thisTypeRefEObject") + stringRepForEnv(G) + " |~ " + stringRep(location) + " ~> " + "TypeRef",THISTYPEREFEOBJECT,e_applyRuleThisTypeRefEObject,location,new Errorinformation[] {new Errorinformation(location)}); return null; } }
protected Result<TypeArgument> substTypeVariablesImpl(final RuleEnvironment G,final ComposedTypeRef typeRef) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeArgument> _result_ = applyRuleSubstTypeVariablesInComposedTypeRef(G,typeRef); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("substTypeVariablesInComposedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(typeRef) + " ~> " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubstTypeVariablesInComposedTypeRef) { substTypeVariablesThrowException(ruleName("substTypeVariablesInComposedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(typeRef) + " ~> " + "ComposedTypeRef",SUBSTTYPEVARIABLESINCOMPOSEDTYPEREF,e_applyRuleSubstTypeVariablesInComposedTypeRef,typeRef,new Errorinformation[] {new Errorinformation(typeRef)}); return null; } }
@Override protected void configureModules() { super.configureModules(); addModule(new AbstractModule() { @Override public void configure() { bind(IWorldMessageTranslator.class).to(BotFSM.class); bind(IWorldView.class).to(IVisionWorldView.class); bind(IVisionWorldView.class).to(ILockableVisionWorldView.class); bind(ILockableWorldView.class).to(ILockableVisionWorldView.class); bind(ILockableVisionWorldView.class).to(UT2004SyncLockableWorldView.class); bind(ComponentDependencies.class).annotatedWith(Names.named(UT2004SyncLockableWorldView.WORLDVIEW_DEPENDENCY)).toProvider(worldViewDependenciesProvider); bind(IAgent.class).to(IAgent3D.class); bind(IAgent3D.class).to(IUT2004Bot.class); bind(IUT2004Bot.class).to(UT2004Bot.class); if (botControllerClass != null) { bind(IUT2004BotController.class).to(botControllerClass); } bind(UT2004BotParameters.class).toProvider((Provider<? extends UT2004BotParameters>) getAgentParamsProvider()); } }); }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final TypeTypeRef left,final TypeTypeRef right) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeTypeTypeRef(G,left,right); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("subtypeTypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeTypeTypeRef) { subtypeThrowException(ruleName("subtypeTypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right),SUBTYPETYPETYPEREF,e_applyRuleSubtypeTypeTypeRef,right,new Errorinformation[] {new Errorinformation(left),new Errorinformation(right)}); return null; } }
private Provider<?> getProvider(final Class<?> clazz,final BindType bindType) { Provider<?> provider = new Provider<Object>() { @Override public Object get() { try { Object instance = null; if (bindType == BindType.SPY) { instance = spy(clazz.newInstance()); } else if (bindType == BindType.MOCK) { instance = mock(clazz); } return instance; } catch (Exception e) { e.printstacktrace(); } return null; } }; return provider; }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final TEnumLiteral enumLiteral) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeTEnumLiteral(G,enumLiteral); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeTEnumLiteral") + stringRepForEnv(G) + " |- " + stringRep(enumLiteral) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeTEnumLiteral) { typeThrowException(ruleName("typeTEnumLiteral") + stringRepForEnv(G) + " |- " + stringRep(enumLiteral) + " : " + "TypeRef",TYPETENUMLIteraL,e_applyRuleTypeTEnumLiteral,enumLiteral,new Errorinformation[] {new Errorinformation(enumLiteral)}); return null; } }
protected Result<TypeRef> expectedTypeInImpl(final RuleEnvironment G,final PostfixExpression e,final Expression expression) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleExpectedTypeInPostfixExpression(G,e,expression); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("expectedTypeInPostfixExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " |> " + stringRep(expression) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleExpectedTypeInPostfixExpression) { expectedTypeInThrowException(ruleName("expectedTypeInPostfixExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " |> " + stringRep(expression) + " : " + "TypeRef",EXPECTEDTYPEINPOSTFIXEXPRESSION,e_applyRuleExpectedTypeInPostfixExpression,expression,new Errorinformation[] {new Errorinformation(e),new Errorinformation(expression)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final tvariable tvariable) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypetvariable(G,tvariable); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typetvariable") + stringRepForEnv(G) + " |- " + stringRep(tvariable) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypetvariable) { typeThrowException(ruleName("typetvariable") + stringRepForEnv(G) + " |- " + stringRep(tvariable) + " : " + "TypeRef",TYPEtvarIABLE,e_applyRuleTypetvariable,tvariable,new Errorinformation[] {new Errorinformation(tvariable)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final ObjectLiteral ol) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeObjectLiteral(G,ol); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeObjectLiteral") + stringRepForEnv(G) + " |- " + stringRep(ol) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeObjectLiteral) { typeThrowException(ruleName("typeObjectLiteral") + stringRepForEnv(G) + " |- " + stringRep(ol) + " : " + "TypeRef",TYPEOBJECTLIteraL,e_applyRuleTypeObjectLiteral,ol,new Errorinformation[] {new Errorinformation(ol)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final SuperLiteral superLiteral) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeSuperLiteral(G,superLiteral); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeSuperLiteral") + stringRepForEnv(G) + " |- " + stringRep(superLiteral) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeSuperLiteral) { typeThrowException(ruleName("typeSuperLiteral") + stringRepForEnv(G) + " |- " + stringRep(superLiteral) + " : " + "TypeRef",TYPESUPERLIteraL,e_applyRuleTypeSuperLiteral,superLiteral,new Errorinformation[] {new Errorinformation(superLiteral)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final IdentifierRef idref) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeIdentifierRef(G,idref); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeIdentifierRef") + stringRepForEnv(G) + " |- " + stringRep(idref) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeIdentifierRef) { typeThrowException(ruleName("typeIdentifierRef") + stringRepForEnv(G) + " |- " + stringRep(idref) + " : " + "TypeRef",TYPEIDENTIFIERREF,e_applyRuleTypeIdentifierRef,idref,new Errorinformation[] {new Errorinformation(idref)}); return null; } }
protected Result<TypeRef> expectedTypeInImpl(final RuleEnvironment G,final VariableBinding binding,final Expression initExpr) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleExpectedTypeOfRightSideInVariableBinding(G,binding,initExpr); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("expectedTypeOfRightSideInVariableBinding") + stringRepForEnv(G) + " |- " + stringRep(binding) + " |> " + stringRep(initExpr) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleExpectedTypeOfRightSideInVariableBinding) { expectedTypeInThrowException(ruleName("expectedTypeOfRightSideInVariableBinding") + stringRepForEnv(G) + " |- " + stringRep(binding) + " |> " + stringRep(initExpr) + " : " + "TypeRef",EXPECTEDTYPEOFRIGHTSIDEINVARIABLEBINDING,e_applyRuleExpectedTypeOfRightSideInVariableBinding,initExpr,new Errorinformation[] {new Errorinformation(binding),new Errorinformation(initExpr)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final N4EnumLiteral enumLiteral) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeN4EnumLiteral(G,new Provider<Object>() { public Object get() { return ruleName("typeN4EnumLiteral") + stringRepForEnv(G) + " |- " + stringRep(enumLiteral) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeN4EnumLiteral) { typeThrowException(ruleName("typeN4EnumLiteral") + stringRepForEnv(G) + " |- " + stringRep(enumLiteral) + " : " + "TypeRef",TYPEN4ENUMLIteraL,e_applyRuleTypeN4EnumLiteral,new Errorinformation[] {new Errorinformation(enumLiteral)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final ArrayLiteral al) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeArrayLiteral(G,al); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeArrayLiteral") + stringRepForEnv(G) + " |- " + stringRep(al) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeArrayLiteral) { typeThrowException(ruleName("typeArrayLiteral") + stringRepForEnv(G) + " |- " + stringRep(al) + " : " + "TypeRef",TYPEARRAYLIteraL,e_applyRuleTypeArrayLiteral,al,new Errorinformation[] {new Errorinformation(al)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final N4FieldDeclaration fieldDecl) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeN4FieldDeclaration(G,fieldDecl); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeN4FieldDeclaration") + stringRepForEnv(G) + " |- " + stringRep(fieldDecl) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeN4FieldDeclaration) { typeThrowException(ruleName("typeN4FieldDeclaration") + stringRepForEnv(G) + " |- " + stringRep(fieldDecl) + " : " + "TypeRef",TYPEN4FIELDDECLaraTION,e_applyRuleTypeN4FieldDeclaration,fieldDecl,new Errorinformation[] {new Errorinformation(fieldDecl)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final ParenExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeParenExpression(G,e); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeParenExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeParenExpression) { typeThrowException(ruleName("typeParenExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "TypeRef",TYPEPARENEXPRESSION,e_applyRuleTypeParenExpression,new Errorinformation[] {new Errorinformation(e)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final AwaitExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeAwaitExpression(G,new Provider<Object>() { public Object get() { return ruleName("typeAwaitExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeAwaitExpression) { typeThrowException(ruleName("typeAwaitExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "TypeRef",TYPEAWAITEXPRESSION,e_applyRuleTypeAwaitExpression,final ParameterizedPropertyAccessExpression expr) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypePropertyAccessExpression(G,expr); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typePropertyAccessExpression") + stringRepForEnv(G) + " |- " + stringRep(expr) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypePropertyAccessExpression) { typeThrowException(ruleName("typePropertyAccessExpression") + stringRepForEnv(G) + " |- " + stringRep(expr) + " : " + "TypeRef",TYPEPROPERTYACCESSEXPRESSION,e_applyRuleTypePropertyAccessExpression,expr,new Errorinformation[] {new Errorinformation(expr)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final NewTarget nt) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeNewTarget(G,nt); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeNewTarget") + stringRepForEnv(G) + " |- " + stringRep(nt) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeNewTarget) { typeThrowException(ruleName("typeNewTarget") + stringRepForEnv(G) + " |- " + stringRep(nt) + " : " + "TypeRef",TYPENEWTARGET,e_applyRuleTypeNewTarget,nt,new Errorinformation[] {new Errorinformation(nt)}); return null; } }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final ParameterizedTypeRef right) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeTypeTypeRef__ParameterizedTypeRef(G,new Provider<Object>() { public Object get() { return ruleName("subtypeTypeTypeRef__ParameterizedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeTypeTypeRef__ParameterizedTypeRef) { subtypeThrowException(ruleName("subtypeTypeTypeRef__ParameterizedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right),SUBTYPETYPETYPEREF__ParaMETERIZEDTYPEREF,e_applyRuleSubtypeTypeTypeRef__ParameterizedTypeRef,new Errorinformation(right)}); return null; } }
protected Result<TypeRef> thisTypeRefImpl(final RuleEnvironment G,final ParameterizedTypeRef type) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleThisTypeRefParameterizedTypeRef(G,type); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("thisTypeRefParameterizedTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(type) + " ~> " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleThisTypeRefParameterizedTypeRef) { thisTypeRefThrowException(ruleName("thisTypeRefParameterizedTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(type) + " ~> " + "BoundThisTypeRef",THISTYPEREFParaMETERIZEDTYPEREF,e_applyRuleThisTypeRefParameterizedTypeRef,type,new Errorinformation[] {new Errorinformation(type)}); return null; } }
protected Result<Boolean> supertypeImpl(final RuleEnvironment G,final TypeRef left,final TypeRef right) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSupertypeTypeRef(G,new Provider<Object>() { public Object get() { return ruleName("supertypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " :> " + stringRep(right); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSupertypeTypeRef) { supertypeThrowException(ruleName("supertypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " :> " + stringRep(right),SUPERTYPETYPEREF,e_applyRuleSupertypeTypeRef,new Errorinformation(right)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final ShiftExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeShiftExpression(G,new Provider<Object>() { public Object get() { return ruleName("typeShiftExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeShiftExpression) { typeThrowException(ruleName("typeShiftExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "ParameterizedTypeRef",TYPESHIFTEXPRESSION,e_applyRuleTypeShiftExpression,final RelationalExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeRelationalExpression(G,new Provider<Object>() { public Object get() { return ruleName("typeRelationalExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeRelationalExpression) { typeThrowException(ruleName("typeRelationalExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "ParameterizedTypeRef",TYPERELATIONALEXPRESSION,e_applyRuleTypeRelationalExpression,final BinaryBitwiseExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeBinaryBitwiseExpression(G,new Provider<Object>() { public Object get() { return ruleName("typeBinaryBitwiseExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeBinaryBitwiseExpression) { typeThrowException(ruleName("typeBinaryBitwiseExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "ParameterizedTypeRef",TYPEBINARYBITWISEEXPRESSION,e_applyRuleTypeBinaryBitwiseExpression,new Errorinformation[] {new Errorinformation(e)}); return null; } }
protected Result<TypeRef> upperBoundImpl(final RuleEnvironment G,final ExistentialTypeRef existentialTypeRef) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleUpperBoundExistentialTypeRef(G,existentialTypeRef); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("upperBoundExistentialTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(existentialTypeRef) + " /\\ " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleUpperBoundExistentialTypeRef) { upperBoundThrowException(ruleName("upperBoundExistentialTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(existentialTypeRef) + " /\\ " + "TypeRef",UPPERBOUNDEXISTENTIALTYPEREF,e_applyRuleUpperBoundExistentialTypeRef,existentialTypeRef,new Errorinformation[] {new Errorinformation(existentialTypeRef)}); return null; } }
protected Result<TypeRef> typeImpl(final RuleEnvironment G,final CastExpression e) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeCastExpression(G,new Provider<Object>() { public Object get() { return ruleName("typeCastExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeCastExpression) { typeThrowException(ruleName("typeCastExpression") + stringRepForEnv(G) + " |- " + stringRep(e) + " : " + "TypeRef",TYPECASTEXPRESSION,e_applyRuleTypeCastExpression,final ModuleNamespaceVirtualType t) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleTypeModuleNamespace(G,t); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("typeModuleNamespace") + stringRepForEnv(G) + " |- " + stringRep(t) + " : " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleTypeModuleNamespace) { typeThrowException(ruleName("typeModuleNamespace") + stringRepForEnv(G) + " |- " + stringRep(t) + " : " + "TypeRef",TYPEMODULENAMESPACE,e_applyRuleTypeModuleNamespace,t,new Errorinformation[] {new Errorinformation(t)}); return null; } }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final TypeRef right) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeTypeRef(G,new Provider<Object>() { public Object get() { return ruleName("subtypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeTypeRef) { subtypeThrowException(ruleName("subtypeTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right),SUBTYPETYPEREF,e_applyRuleSubtypeTypeRef,new Errorinformation(right)}); return null; } }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final UnkNownTypeRef left,final TypeRef right) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeUnkNownTypeRef_Left(G,new Provider<Object>() { public Object get() { return ruleName("subtypeUnkNownTypeRef_Left") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeUnkNownTypeRef_Left) { subtypeThrowException(ruleName("subtypeUnkNownTypeRef_Left") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(right),SUBTYPEUNKNowNTYPEREF_LEFT,e_applyRuleSubtypeUnkNownTypeRef_Left,final ParameterizedTypeRef leftOriginal,final ParameterizedTypeRef rightOriginal) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeParameterizedTypeRef(G,leftOriginal,rightOriginal); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("subtypeParameterizedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(leftOriginal) + " <: " + stringRep(rightOriginal); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeParameterizedTypeRef) { subtypeThrowException(ruleName("subtypeParameterizedTypeRef") + stringRepForEnv(G) + " |- " + stringRep(leftOriginal) + " <: " + stringRep(rightOriginal),SUBTYPEParaMETERIZEDTYPEREF,e_applyRuleSubtypeParameterizedTypeRef,rightOriginal,new Errorinformation[] {new Errorinformation(leftOriginal),new Errorinformation(rightOriginal)}); return null; } }
protected Result<TypeArgument> substTypeVariablesImpl(final RuleEnvironment G,final FunctionTypeRef typeRef) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeArgument> _result_ = applyRuleSubstTypeVariablesInFunctionTypeRef(G,new Provider<Object>() { public Object get() { return ruleName("substTypeVariablesInFunctionTypeRef") + stringRepForEnv(G) + " |- " + stringRep(typeRef) + " ~> " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubstTypeVariablesInFunctionTypeRef) { substTypeVariablesThrowException(ruleName("substTypeVariablesInFunctionTypeRef") + stringRepForEnv(G) + " |- " + stringRep(typeRef) + " ~> " + "TypeRef",SUBSTTYPEVARIABLESINFUNCTIONTYPEREF,e_applyRuleSubstTypeVariablesInFunctionTypeRef,new Errorinformation[] {new Errorinformation(typeRef)}); return null; } }
protected Result<TypeRef> upperBoundImpl(final RuleEnvironment G,final Wildcard wildcard) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<TypeRef> _result_ = applyRuleUpperBoundWildcardTypeRef(G,wildcard); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("upperBoundWildcardTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(wildcard) + " /\\ " + stringRep(_result_.getFirst()); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleUpperBoundWildcardTypeRef) { upperBoundThrowException(ruleName("upperBoundWildcardTypeRef") + stringRepForEnv(G) + " |~ " + stringRep(wildcard) + " /\\ " + "TypeRef",UPPERBOUNDWILDCARDTYPEREF,e_applyRuleUpperBoundWildcardTypeRef,wildcard,new Errorinformation[] {new Errorinformation(wildcard)}); return null; } }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final BoundThisTypeRef boundThisTypeRef) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeTypeRefBoundThisTypeRef(G,boundThisTypeRef); addToTrace(_trace_,new Provider<Object>() { public Object get() { return ruleName("subtypeTypeRefBoundThisTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(boundThisTypeRef); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeTypeRefBoundThisTypeRef) { subtypeThrowException(ruleName("subtypeTypeRefBoundThisTypeRef") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(boundThisTypeRef),SUBTYPETYPEREFBOUNDTHISTYPEREF,e_applyRuleSubtypeTypeRefBoundThisTypeRef,boundThisTypeRef,new Errorinformation(boundThisTypeRef)}); return null; } }
protected Result<Boolean> subtypeImpl(final RuleEnvironment G,final ExistentialTypeRef existentialTypeRef) throws RuleFailedException { try { final RuleApplicationTrace _subtrace_ = newTrace(_trace_); final Result<Boolean> _result_ = applyRuleSubtypeExistentialTypeRef_Right(G,new Provider<Object>() { public Object get() { return ruleName("subtypeExistentialTypeRef_Right") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(existentialTypeRef); } }); addAsSubtrace(_trace_,_subtrace_); return _result_; } catch (Exception e_applyRuleSubtypeExistentialTypeRef_Right) { subtypeThrowException(ruleName("subtypeExistentialTypeRef_Right") + stringRepForEnv(G) + " |- " + stringRep(left) + " <: " + stringRep(existentialTypeRef),SUBTYPEEXISTENTIALTYPEREF_RIGHT,e_applyRuleSubtypeExistentialTypeRef_Right,new Errorinformation(existentialTypeRef)}); return null; } }
@Inject public LeadServiceForTests(final DoubleLeadService lead) { super(new Provider<LeadService>() { @Override public LeadService get() { return lead; } }); }
@Inject public SamlProxySamlTransformationErrorExceptionMapper( Provider<HttpServletRequest> contextProvider,EventSinkMessageSender eventSinkMessageSender,LevelLoggerFactory<SamlProxySamlTransformationErrorExceptionMapper> levelLoggerFactory) { super(contextProvider); this.eventSinkMessageSender = eventSinkMessageSender; this.levelLogger = levelLoggerFactory.createLevelLogger(SamlProxySamlTransformationErrorExceptionMapper.class); }
/** * Provides new instances of the ImportednamesAdapter,e.g. concrete instances of N4JSImportednamesAdapter. * * @see ImportednamesAdapter */ public Provider<ImportednamesAdapter> provideImportednamesAdapter() { return new Provider<ImportednamesAdapter>() { @Override public ImportednamesAdapter get() { return new N4JSImportednamesAdapter(); } }; }
@SuppressWarnings("unchecked") @Override public <T> Provider scope(Key<T> key,Provider<T> creator) { synchronized(providers) { Provider p = providers.get(key); if (p != null) { return p; } SingletonProvider<T> provider = new SingletonProvider<T>(creator); providers.put(key,provider); return provider; } }
public Provider<? extends InternalPkmntcgoLexer> provideInternalPkmntcgoLexer() { return LexerProvider.create(InternalPkmntcgoLexer.class); }
com.google.inject.throwingproviders.CheckedProvider的实例源码
@Test public void thrownException_threwUnexpected_expectFailure() { Class<? extends Throwable> expected = SummerException.class; Class<? extends Throwable> unexpected = UnsupportedOperationException.class; CheckedProvider<String> provider = CheckedProviders.throwing(StringCheckedProvider.class,unexpected); String message = String.format( "exception thrown by <%s>: Not true that <%s> is an instance of <%s>. " + "It is an instance of <%s>",getThrowingProviderName(UnsupportedOperationException.class.getName()),UnsupportedOperationException.class.getName(),SummerException.class.getName(),UnsupportedOperationException.class.getName()); expectWhenTesting().that(provider).thrownException().isinstanceOf(expected); assertthat(expect.getFailure()).hasMessageThat().isEqualTo(message); }
@Test public void providedValue_gotExpected_expectSuccess() { String expected = "keep Summer safe"; CheckedProvider<String> provider = CheckedProviders.of(StringCheckedProvider.class,expected); assertthat(provider).providedValue().isEqualTo(expected); }
@Test public void providedValue_gotUnexpected_expectFailure() { String expected = "keep Summer safe"; String unexpected = "Summer is unsafe"; CheckedProvider<String> provider = CheckedProviders.of(StringCheckedProvider.class,unexpected); String message = String.format( "value provided by <%s>: Not true that <%s> is equal to <%s>",getReturningProviderName(unexpected),unexpected,expected); expectWhenTesting().that(provider).providedValue().isEqualTo(expected); assertthat(expect.getFailure()).hasMessageThat().isEqualTo(message); }
@Test public void providedValue_throws_expectFailure() { CheckedProvider<String> provider = CheckedProviders.throwing(StringCheckedProvider.class,SummerException.class); String message = String.format( "checked provider <%s> threw an exception",getThrowingProviderName(SummerException.class.getName())); expectWhenTesting().that(provider).providedValue(); AssertionError expected = expect.getFailure(); assertthat(expected).hasCauseThat().isinstanceOf(SummerException.class); assertthat(expected).hasMessageThat().isEqualTo(message); }
@Test public void thrownException_threwExpected_expectSuccess() { CheckedProvider<?> provider = CheckedProviders.throwing(StringCheckedProvider.class,SummerException.class); assertthat(provider).thrownException().isinstanceOf(SummerException.class); }
@Test public void thrownException_gets_expectFailure() { String getValue = "keep WINTER IS COMING safe"; CheckedProvider<String> provider = CheckedProviders.of(StringCheckedProvider.class,getValue); String message = String.format( "Not true that <%s> threw <an exception>. It provided <%s>",getReturningProviderName(getValue),getValue); expectWhenTesting().that(provider).thrownException(); assertthat(expect.getFailure()).hasMessageThat().isEqualTo(message); }
private SimpleSubjectBuilder< CheckedProviderSubject<String,CheckedProvider<String>>,CheckedProvider<String>> expectWhenTesting() { return expect .whenTesting() .about(CheckedProviderSubject.<String,CheckedProvider<String>>checkedProviders()); }
public static <T,P extends CheckedProvider<T>> Subject.Factory<CheckedProviderSubject<T,P>,P> checkedProviders() { return new CheckedProviderSubjectFactory<>(); }
public static <T,P extends CheckedProvider<T>> CheckedProviderSubject<T,P> assertthat( @Nullable P provider) { return assertAbout(CheckedProviderSubject.<T,P>checkedProviders()).that(provider); }
com.google.inject.throwingproviders.ThrowingProviderBinder.Result的实例源码
public void testResultExceptionSerializes() throws Exception { Result result = Result.forException(new Exception("boo")); result = Asserts.reserialize(result); try { result.getorThrow(); fail(); } catch (Exception ex) { assertEquals("boo",ex.getMessage()); } }
public void testResultExceptionSerializes() throws Exception { Result result = Result.forException(new Exception("boo")); result = Asserts.reserialize(result); try { result.getorThrow(); fail(); } catch(Exception ex) { assertEquals("boo",ex.getMessage()); } }
public void testResultExceptionSerializes() throws Exception { Result result = Result.forException(new Exception("boo")); result = Asserts.reserialize(result); try { result.getorThrow(); fail(); } catch(Exception ex) { assertEquals("boo",ex.getMessage()); } }
public void testResultSerializes() throws Exception { Result result = Result.forValue("foo"); result = Asserts.reserialize(result); assertEquals("foo",result.getorThrow()); }
public void testResultSerializes() throws Exception { Result result = Result.forValue("foo"); result = Asserts.reserialize(result); assertEquals("foo",result.getorThrow()); }
public void testResultSerializes() throws Exception { Result result = Result.forValue("foo"); result = Asserts.reserialize(result); assertEquals("foo",result.getorThrow()); }
关于Mobx入门之三:Provider && inject和mockobjectmanager的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于c# – 如何在Ninject中使用Provider、com.google.inject.Provider的实例源码、com.google.inject.throwingproviders.CheckedProvider的实例源码、com.google.inject.throwingproviders.ThrowingProviderBinder.Result的实例源码等相关内容,可以在本站寻找。
本文标签: