GVKun编程网logo

Button按钮--inject与provide(button 按钮)

9

如果您想了解Button按钮--inject与provide的相关知识,那么本文是一篇不可错过的文章,我们将对button按钮进行全面详尽的解释,并且为您提供关于Angular$injector可以用

如果您想了解Button按钮--inject与provide的相关知识,那么本文是一篇不可错过的文章,我们将对button 按钮进行全面详尽的解释,并且为您提供关于Angular $ injector可以用$ provide.decorator装饰吗?、angularjs – 错误:[$injector:unpr]未知的提供者:$routeProvider、com.google.inject.throwingproviders.CheckedProvider的实例源码、com.google.inject.util.Providers的实例源码的有价值的信息。

本文目录一览:

Button按钮--inject与provide(button 按钮)

Button按钮--inject与provide(button 按钮)

inject 和 provider 是vue中的组合选项,需要一起使用。目的是允许一个祖先组件向其所有子孙后代注入依赖(简单地说就是祖先组件向子孙后代传值的一种方法,祖先组件通过provider提供变量,子孙后代通过inject注入接收变量)

provider: Object || () => Object

inject: Array || Object

 

Eg.

button.vue:

 1 <template>
 2   <button
 3 4     @click="handleClick"
 5     :disabled="buttonDisabled || loading"
 6     :autofocus="autofocus"
 7     :type="nativeType"
 8     :19   >
20     <iv-if="loading"></i>
21     <i :v-if="icon && !loading"></i>
22     <span v-if="$slots.default"><slot></slot></span>
23   </button>
24 </template>
25 <script>
26   export default {
27     name: ''ElButton'',
28 
29 //  通过inject向button中注入变量 
30     inject: {
31       elForm: {
32         default: ''''
33       },
34       elFormItem: {
35         default: ''''
36       }
37     },
38 
39     props: {
40       type: {
41         type: String,
42         default: ''default''
43       },
44       size: String,
45       icon: {
46         type: String,
47         default: ''''
48       },
49       nativeType: {
50         type: String,
51         default: ''button''
52       },
53       loading: Boolean,
54       disabled: Boolean,
55       plain: Boolean,
56       autofocus: Boolean,
57       round: Boolean,
58       circle: Boolean
59     },
60 
61     computed: {
62       _elFormItemSize() {
63         return (this.elFormItem || {}).elFormItemSize;
64       },
65       buttonSize() {
66         return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;   
67       },
68       buttonDisabled() {
69         return this.disabled || (this.elForm || {}).disabled; // 通过inject注入的form变量,获得祖先节点form的disabled属性
70       }
71     },
72 
73     methods: {
74       handleClick(evt) {
75         this.$emit(''click'', evt);
76       }
77     }
78   };
79 </script>
View Code

 

 form.vue:

  1 <template>
  2   <form:>
  6     <slot></slot>
  7   </form>
  8 </template>
  9 <script>
 10   import objectAssign from ''element-ui/src/utils/merge'';
 11 
 12   export default {
 13     name: ''ElForm'',
 14 
 15     componentName: ''ElForm'',
 16 
 17     // 通过provider向子孙后代注入变量elform,讲this(即form)注入给子孙后代,后代通过获取此变量获取form中的各种配置,如disabled属性等
 18     provide() {
 19       return {
 20         elForm: this
 21       };
 22     },
 23 
 24     props: {
 25       model: Object,
 26       rules: Object,
 27       labelPosition: String,
 28       labelWidth: String,
 29       labelSuffix: {
 30         type: String,
 31         default: ''''
 32       },
 33       inline: Boolean,
 34       inlineMessage: Boolean,
 35       statusIcon: Boolean,
 36       showMessage: {
 37         type: Boolean,
 38         default: true
 39       },
 40       size: String,
 41       disabled: Boolean,
 42       validateOnRuleChange: {
 43         type: Boolean,
 44         default: true
 45       },
 46       hideRequiredAsterisk: {
 47         type: Boolean,
 48         default: false
 49       }
 50     },
 51     watch: {
 52       rules() {
 53         if (this.validateOnRuleChange) {
 54           this.validate(() => {});
 55         }
 56       }
 57     },
 58     data() {
 59       return {
 60         fields: []
 61       };
 62     },
 63     created() {
 64       this.$on(''el.form.addField'', (field) => {
 65         if (field) {
 66           this.fields.push(field);
 67         }
 68       });
 69       /* istanbul ignore next */
 70       this.$on(''el.form.removeField'', (field) => {
 71         if (field.prop) {
 72           this.fields.splice(this.fields.indexOf(field), 1);
 73         }
 74       });
 75     },
 76     methods: {
 77       resetFields() {
 78         if (!this.model) {
 79           process.env.NODE_ENV !== ''production'' &&
 80           console.warn(''[Element Warn][Form]model is required for resetFields to work.'');
 81           return;
 82         }
 83         this.fields.forEach(field => {
 84           field.resetField();
 85         });
 86       },
 87       clearValidate(props = []) {
 88         const fields = props.length
 89           ? this.fields.filter(field => props.indexOf(field.prop) > -1)
 90           : this.fields;
 91         fields.forEach(field => {
 92           field.clearValidate();
 93         });
 94       },
 95       validate(callback) {
 96         if (!this.model) {
 97           console.warn(''[Element Warn][Form]model is required for validate to work!'');
 98           return;
 99         }
100 
101         let promise;
102         // if no callback, return promise
103         if (typeof callback !== ''function'' && window.Promise) {
104           promise = new window.Promise((resolve, reject) => {
105             callback = function(valid) {
106               valid ? resolve(valid) : reject(valid);
107             };
108           });
109         }
110 
111         let valid = true;
112         let count = 0;
113         // 如果需要验证的fields为空,调用验证时立刻返回callback
114         if (this.fields.length === 0 && callback) {
115           callback(true);
116         }
117         let invalidFields = {};
118         this.fields.forEach(field => {
119           field.validate('''', (message, field) => {
120             if (message) {
121               valid = false;
122             }
123             invalidFields = objectAssign({}, invalidFields, field);
124             if (typeof callback === ''function'' && ++count === this.fields.length) {
125               callback(valid, invalidFields);
126             }
127           });
128         });
129 
130         if (promise) {
131           return promise;
132         }
133       },
134       validateField(prop, cb) {
135         let field = this.fields.filter(field => field.prop === prop)[0];
136         if (!field) { throw new Error(''must call validateField with valid prop string!''); }
137 
138         field.validate('''', cb);
139       }
140     }
141   };
142 </script>
View Code

 

form-item.vue

  1 <template>
  2   <div:>
 12     <label :for="labelFor":v-if="label || $slots.label">
 13       <slot name="label">{{label + form.labelSuffix}}</slot>
 14     </label>
 15     <div:>
 16       <slot></slot>
 17       <transition name="el-zoom-in-top">
 18         <slot 
 19           v-if="validateState === ''error'' && showMessage && form.showMessage" 
 20           name="error" 
 21           :error="validateMessage">
 22           <div
 23 24             : 29           >
 30             {{validateMessage}}
 31           </div>
 32         </slot>
 33       </transition>
 34     </div>
 35   </div>
 36 </template>
 37 <script>
 38   import AsyncValidator from ''async-validator'';
 39   import emitter from ''element-ui/src/mixins/emitter'';
 40   import objectAssign from ''element-ui/src/utils/merge'';
 41   import { noop, getPropByPath } from ''element-ui/src/utils/util'';
 42 
 43   export default {
 44     name: ''ElFormItem'',
 45 
 46     componentName: ''ElFormItem'',
 47 
 48     mixins: [emitter],
 49 
 50     // 通过provider向子孙后代注入变量elform,讲this(即form-item)注入给子孙后代,后代通过获取此变量获取form中的各种配置,如size属性等
 51     provide() {
 52       return {
 53         elFormItem: this
 54       };
 55     },
 56 
 57     inject: [''elForm''],
 58 
 59     props: {
 60       label: String,
 61       labelWidth: String,
 62       prop: String,
 63       required: {
 64         type: Boolean,
 65         default: undefined
 66       },
 67       rules: [Object, Array],
 68       error: String,
 69       validateStatus: String,
 70       for: String,
 71       inlineMessage: {
 72         type: [String, Boolean],
 73         default: ''''
 74       },
 75       showMessage: {
 76         type: Boolean,
 77         default: true
 78       },
 79       size: String
 80     },
 81     watch: {
 82       error: {
 83         immediate: true,
 84         handler(value) {
 85           this.validateMessage = value;
 86           this.validateState = value ? ''error'' : '''';
 87         }
 88       },
 89       validateStatus(value) {
 90         this.validateState = value;
 91       }
 92     },
 93     computed: {
 94       labelFor() {
 95         return this.for || this.prop;
 96       },
 97       labelStyle() {
 98         const ret = {};
 99         if (this.form.labelPosition === ''top'') return ret;
100         const labelWidth = this.labelWidth || this.form.labelWidth;
101         if (labelWidth) {
102           ret.width = labelWidth;
103         }
104         return ret;
105       },
106       contentStyle() {
107         const ret = {};
108         const label = this.label;
109         if (this.form.labelPosition === ''top'' || this.form.inline) return ret;
110         if (!label && !this.labelWidth && this.isNested) return ret;
111         const labelWidth = this.labelWidth || this.form.labelWidth;
112         if (labelWidth) {
113           ret.marginLeft = labelWidth;
114         }
115         return ret;
116       },
117       form() {
118         let parent = this.$parent;
119         let parentName = parent.$options.componentName;
120         while (parentName !== ''ElForm'') {
121           if (parentName === ''ElFormItem'') {
122             this.isNested = true;
123           }
124           parent = parent.$parent;
125           parentName = parent.$options.componentName;
126         }
127         return parent;
128       },
129       fieldValue() {
130         const model = this.form.model;
131         if (!model || !this.prop) { return; }
132 
133         let path = this.prop;
134         if (path.indexOf('':'') !== -1) {
135           path = path.replace(/:/, ''.'');
136         }
137 
138         return getPropByPath(model, path, true).v;
139       },
140       isRequired() {
141         let rules = this.getRules();
142         let isRequired = false;
143 
144         if (rules && rules.length) {
145           rules.every(rule => {
146             if (rule.required) {
147               isRequired = true;
148               return false;
149             }
150             return true;
151           });
152         }
153         return isRequired;
154       },
155       _formSize() {
156         return this.elForm.size;
157       },
158       elFormItemSize() {
159         return this.size || this._formSize;
160       },
161       sizeClass() {
162         return this.elFormItemSize || (this.$ELEMENT || {}).size;
163       }
164     },
165     data() {
166       return {
167         validateState: '''',
168         validateMessage: '''',
169         validateDisabled: false,
170         validator: {},
171         isNested: false
172       };
173     },
174     methods: {
175       validate(trigger, callback = noop) {
176         this.validateDisabled = false;
177         const rules = this.getFilteredRule(trigger);
178         if ((!rules || rules.length === 0) && this.required === undefined) {
179           callback();
180           return true;
181         }
182 
183         this.validateState = ''validating'';
184 
185         const descriptor = {};
186         if (rules && rules.length > 0) {
187           rules.forEach(rule => {
188             delete rule.trigger;
189           });
190         }
191         descriptor[this.prop] = rules;
192 
193         const validator = new AsyncValidator(descriptor);
194         const model = {};
195 
196         model[this.prop] = this.fieldValue;
197 
198         validator.validate(model, { firstFields: true }, (errors, invalidFields) => {
199           this.validateState = !errors ? ''success'' : ''error'';
200           this.validateMessage = errors ? errors[0].message : '''';
201 
202           callback(this.validateMessage, invalidFields);
203           this.elForm && this.elForm.$emit(''validate'', this.prop, !errors, this.validateMessage || null);
204         });
205       },
206       clearValidate() {
207         this.validateState = '''';
208         this.validateMessage = '''';
209         this.validateDisabled = false;
210       },
211       resetField() {
212         this.validateState = '''';
213         this.validateMessage = '''';
214 
215         let model = this.form.model;
216         let value = this.fieldValue;
217         let path = this.prop;
218         if (path.indexOf('':'') !== -1) {
219           path = path.replace(/:/, ''.'');
220         }
221 
222         let prop = getPropByPath(model, path, true);
223 
224         this.validateDisabled = true;
225         if (Array.isArray(value)) {
226           prop.o[prop.k] = [].concat(this.initialValue);
227         } else {
228           prop.o[prop.k] = this.initialValue;
229         }
230 
231         this.broadcast(''ElTimeSelect'', ''fieldReset'', this.initialValue);
232       },
233       getRules() {
234         let formRules = this.form.rules;
235         const selfRules = this.rules;
236         const requiredRule = this.required !== undefined ? { required: !!this.required } : [];
237 
238         const prop = getPropByPath(formRules, this.prop || '''');
239         formRules = formRules ? (prop.o[this.prop || ''''] || prop.v) : [];
240 
241         return [].concat(selfRules || formRules || []).concat(requiredRule);
242       },
243       getFilteredRule(trigger) {
244         const rules = this.getRules();
245 
246         return rules.filter(rule => {
247           if (!rule.trigger || trigger === '''') return true;
248           if (Array.isArray(rule.trigger)) {
249             return rule.trigger.indexOf(trigger) > -1;
250           } else {
251             return rule.trigger === trigger;
252           }
253         }).map(rule => objectAssign({}, rule));
254       },
255       onFieldBlur() {
256         this.validate(''blur'');
257       },
258       onFieldChange() {
259         if (this.validateDisabled) {
260           this.validateDisabled = false;
261           return;
262         }
263 
264         this.validate(''change'');
265       }
266     },
267     mounted() {
268       if (this.prop) {
269         this.dispatch(''ElForm'', ''el.form.addField'', [this]);
270 
271         let initialValue = this.fieldValue;
272         if (Array.isArray(initialValue)) {
273           initialValue = [].concat(initialValue);
274         }
275         Object.defineProperty(this, ''initialValue'', {
276           value: initialValue
277         });
278 
279         let rules = this.getRules();
280 
281         if (rules.length || this.required !== undefined) {
282           this.$on(''el.form.blur'', this.onFieldBlur);
283           this.$on(''el.form.change'', this.onFieldChange);
284         }
285       }
286     },
287     beforeDestroy() {
288       this.dispatch(''ElForm'', ''el.form.removeField'', [this]);
289     }
290   };
291 </script>
View Code

 

Angular $ injector可以用$ provide.decorator装饰吗?

Angular $ injector可以用$ provide.decorator装饰吗?

也许这是一个可怕的主意,但如果是这样,请告诉我为什么,然后假装这是一项学术活动,不会在生产中日渐成熟。

我想在Angular $
injector服务中添加一些逻辑,以监视何时将某些服务注入到其他服务中。由于Angular似乎提供了一种装饰服务的机制,因此我认为这是可行的方法。但是,以下代码将引发错误。

(function () {    ''use strict'';    var app = angular.module(''app'');    app.config([''$provide'', function ($provide) {        $provide.decorator(''$injector'', [''$log'', ''$delegate'', addLoggingToInjector]);    }]);    function addLoggingToInjector($log, $delegate) {        var baseInstantiate = $delegate.instantiate;        var baseInvoke = $delegate.invoke;        $delegate.instantiate = function (type, locals) {            // $log.debug(''Calling $injector.instantiate'');            baseInstantiate(type, locals);        };        $delegate.invoke = function (fn, self, locals) {            // $log.debug(''Calling $injector.invoke'');            baseInvoke(fn, self, locals);        };        return $delegate;    };})();

具体错误是:

未捕获的错误:[$ injector:modulerr]由于以下原因而无法实例化模块应用程序:错误:[$ injector:unpr]未知提供程序:$
injectorProvider

答案1

小编典典

您不能在$ injector上使用Angular装饰器服务。正如Artur所说,$injector它与其他服务有些不同。但是我们可以创建自己的装饰器。

为什么我们不能使用Angular的装饰器

在代码级别,问题在于$injector没有构造函数-没有$injectorProvider

例如,这两个都返回true:

$injector.has(''$location'');$injector.has(''$locationProvider'')

但是,虽然返回true:

$injector.has(''$injector'')

这将返回false:

$injector.has(''$injectorProvider'')

当我们查看Angular装饰器函数时,我们看到了重要性:

function decorator(serviceName, decorFn) {   var origProvider = providerInjector.get(serviceName + providerSuffix),       orig$get = origProvider.$get;   origProvider.$get = function() {      var origInstance = instanceInjector.invoke(orig$get, origProvider);     return instanceInjector.invoke(decorFn, null, {$delegate: origInstance});   };}

providerSuffix = ''Provider''

因此,Angular装饰器希望在服务的构造函数(serviceName + providerSuffix)上进行操作。实用上,
由于没有$injectorProvider所以 不能使用decorator

我们可以做的是自己替换Angular注入器的get功能,方法是将注入器的默认值替换为get调用原始Angular定义的默认值,然后调用get我们的函数。

我们将其应用到$injector而不是$injectorProvider像这样不存在的应用:

app.config([''$provide'',''$injector'', function ($provide,$injector) {    // The function we''ll add to the injector    myFunc = function () {        console.log("injector called ", arguments);    };    // Get a copy of the injector''s get function    var origProvider = $injector,        origGet = origProvider.get;    //Override injector''s get with our own    origProvider.get = function() {        // Call the original get function         var returnValue = origGet.apply(this, arguments);        // Call our function        myFunc.apply(this,arguments);        return returnValue;    }}]);

您会看到注入的提供程序是第一个扩充,因此会app.value(''aValue'', ''something'');产生以下日志语句:

injector called  ["aValueProvider"]

演示小提琴

angularjs – 错误:[$injector:unpr]未知的提供者:$routeProvider

angularjs – 错误:[$injector:unpr]未知的提供者:$routeProvider

我试图得到一个AngularJS 1.2 RC2应用程序并运行。目前,我一直在使用Angular种子项目来尝试让我的应用程序运行。不幸的是, Angular Seed项目使用v1.0.7。从Angular种子项目,我已经更新了依赖关系如下:
$script([
  'res/js/angular-1.2.0-rc.2.js','res/js/angular-route-1.2.0-rc.2.js','res/js/app.js?v=2',],function() {
  // when all is done,execute bootstrap angular application
  angular.bootstrap(document,['myApp']);
});

在app.js中,我有以下:

'use strict';

angular.module('myApp',[]).
    config(['$routeProvider',function($routeProvider) {
        $routeProvider.otherwise({redirectTo: '/home'});
    }]);

当我运行这个程序,我得到以下错误:

Error: [$injector:unpr] UnkNown provider: $routeProvider

我已经阅读了一些其他的回应,说像1)注入’ngroute’或2)你需要在路由中定义控制器。我的问题是,我不明白如何注入ngroute。此外,我真的需要在路由中定义控制器吗?这种方法似乎不可扩展。我的应用程式可能有一千次浏览。在我看来,它似乎有必要有一种方式来定义路由,而无需加载所有的控制器。

在角度1.4中,除了添加依赖性
angular.module('myApp',['ngRoute'])

,我们还需要引用单独的angular-route.js文件

<script src="angular.js">
<script src="angular-route.js">

见https://docs.angularjs.org/api/ngRoute

com.google.inject.throwingproviders.CheckedProvider的实例源码

com.google.inject.throwingproviders.CheckedProvider的实例源码

项目:guice    文件:CheckedProviderSubjectTest.java   
@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);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
@Test
public void providedValue_gotExpected_expectSuccess() {
  String expected = "keep Summer safe";
  CheckedProvider<String> provider = CheckedProviders.of(StringCheckedProvider.class,expected);

  assertthat(provider).providedValue().isEqualTo(expected);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
@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);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
@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);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
@Test
public void thrownException_threwExpected_expectSuccess() {
  CheckedProvider<?> provider =
      CheckedProviders.throwing(StringCheckedProvider.class,SummerException.class);

  assertthat(provider).thrownException().isinstanceOf(SummerException.class);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
@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);
}
项目:guice    文件:CheckedProviderSubjectTest.java   
private SimpleSubjectBuilder<
        CheckedProviderSubject<String,CheckedProvider<String>>,CheckedProvider<String>>
    expectWhenTesting() {
  return expect
      .whenTesting()
      .about(CheckedProviderSubject.<String,CheckedProvider<String>>checkedProviders());
}
项目:guice    文件:CheckedProviderSubject.java   
public static <T,P extends CheckedProvider<T>>
    Subject.Factory<CheckedProviderSubject<T,P>,P> checkedProviders() {
  return new CheckedProviderSubjectFactory<>();
}
项目:guice    文件:CheckedProviderSubject.java   
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.util.Providers的实例源码

com.google.inject.util.Providers的实例源码

项目:rotabuilder    文件:DomainApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(ComponentFactoryRegistrar.class).to(MyComponentFactoryRegistrar.class);

            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("RotaBuilder");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("RotaBuilder");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(
                    Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
            // if uncommented,then overrides isis.appManifest in config file.
            // bind(AppManifest.class).toInstance(new DomainAppAppManifest());
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:Proyecto2017Seguros    文件:PacinetesApplication.java   
@Override
 protected Module newIsisWicketModule() {
     final Module isisDefaults = super.newIsisWicketModule();

     final Module overrides = new AbstractModule() {
         @Override
         protected void configure() {
             bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("SiGeSe");
             bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
             bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
    bind(String.class).annotatedWith(Names.named("brandlogoSignin")).toInstance("/about/images/login.png");
    bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
    bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("SiGeSe");
    bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
}
     };

     return Modules.override(isisDefaults).with(overrides);
 }
项目:gossip    文件:Formatter.java   
Formatter(final String pattern) {
    final List<String> patterns = Splitter.on(VAR_BEGIN).omitEmptyStrings().splitToList(pattern);

    patterns.forEach(pt -> {
        if (!pt.contains(VAR_END)) {
            appenderList.add(Providers.of(pt));
        } else {
            StringTokenizer token = new StringTokenizer(pt,VAR_END);
            String guiceKey = token.nextToken();
            String rawString = null;
            if (token.hasMoretokens()) {
                rawString = token.nextToken();
            }
            final KeyResolver resolver = new KeyResolver(guiceKey);
            appenderList.add(resolver);
            resolvers.add(resolver);
            appenderList.add(Providers.of(rawString));
        }
    });
}
项目:isis-agri    文件:DomainApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Food App");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Food App");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(
                    Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
            // if uncommented,then overrides isis.appManifest in config file.
            // bind(AppManifest.class).toInstance(new DomainAppAppManifest());
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:riposte-microservice-template    文件:AppServerConfigTest.java   
@Test
public void constructor_does_not_blow_up_if_metricslistener_is_null() {
    // given
    AppServerConfig asc = new AppServerConfig(configForTesting) {
        @Override
        protected List<Module> getAppGuiceModules(Config appConfig) {
            return Arrays.asList(
                Modules.override(new AppGuiceModule(appConfig)).with(
                    binder -> binder
                        .bind(new TypeLiteral<CodahaleMetricslistener>() {})
                        .toProvider(Providers.of(null))),new BackstopperRiposteConfigGuiceModule()
            );
        }
    };

    // expect
    assertthat(asc.metricslistener()).isNull();
}
项目:ecpcrm    文件:EcpCrmApplication.java   
@Override
    protected Module newIsisWicketModule() {
        final Module isisDefaults = super.newIsisWicketModule();

        final Module overrides = new AbstractModule() {
            @Override
            protected void configure() {

                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("ECP CRM");
                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
                bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
//                bind(String.class).annotatedWith(Names.named("brandlogoHeader")).toInstance("/images/domainapp-logo-header.png");
//                bind(String.class).annotatedWith(Names.named("brandlogoSignin")).toInstance("/images/domainapp-logo-signin.png");
                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("ECP CRM");
                bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
            }
        };

        return Modules.override(isisDefaults).with(overrides);
    }
项目:guice-persist-neo4j    文件:Neo4jPersistModule.java   
protected void configurePersistence() {
    bind(String[].class).annotatedWith(Neo4j.class).toInstance(packages);

    if (null != properties) {
        bind(Properties.class).annotatedWith(Neo4j.class).toInstance(properties);
    } else {
        bind(Properties.class).annotatedWith(Neo4j.class).toProvider(Providers.of(null));
    }

    bind(Neo4jPersistService.class).in(Singleton.class);
    bind(PersistService.class).to(Neo4jPersistService.class);
    bind(UnitOfWork.class).to(Neo4jPersistService.class);
    bind(Session.class).toProvider(Neo4jPersistService.class);

    transactionInterceptor = new Neo4jLocalTxnInterceptor();
    requestInjection(transactionInterceptor);
}
项目:salta    文件:Jsr330Test.java   
public void testGuicify330Provider() {
    Provider<String> jsr330Provider = new Provider<String>() {
        @Override
        public String get() {
            return "A";
        }

        @Override
        public String toString() {
            return "jsr330Provider";
        }
    };

    com.google.inject.Provider<String> guicified = Providers
            .guicify(jsr330Provider);
    assertEquals("guicified(jsr330Provider)",guicified.toString());
    assertEquals("A",guicified.get());

    // when you guicify the Guice-friendly,it's a no-op
    assertSame(guicified,Providers.guicify(guicified));

}
项目:salta    文件:ProvisionListenerTest.java   
public void testBindToInjectorWithListeningGivesSaneException() {
    try {
        Guice.createInjector(new AbstractModule() {
            @Override
            protected void configure() {
                bindListener(Matchers.any(),new Counter());
                bind(Injector.class)
                        .toProvider(Providers.<Injector> of(null));
            }
        });
        fail();
    } catch (SaltaException ce) {
        assertContains(ce.getMessage(),"Binding to core guice framework type is not allowed: Injector.");
    }
}
项目:salta    文件:BinderTest.java   
@Test
public void testBindingToProvider() {
    try {
        Guice.createInjector(new AbstractModule() {
            @Override
            protected void configure() {
                bind(new TypeLiteral<Provider<String>>() {
                }).toInstance(Providers.of("A"));
            }
        });
        fail();
    } catch (SaltaException expected) {
        assertContains(expected.getMessage(),"Binding to core guice framework type is not allowed: Provider.");
    }
}
项目:salta    文件:BinderTest.java   
@Override
protected void configure() {
    bind(AbstractModule.class).annotatedWith(red)
            .toProvider(Providers.<AbstractModule> of(null));
    bind(Binder.class).annotatedWith(red)
            .toProvider(Providers.<Binder> of(null));
    bind(Binding.class).annotatedWith(red)
            .toProvider(Providers.<Binding> of(null));
    bind(Injector.class).annotatedWith(red)
            .toProvider(Providers.<Injector> of(null));
    bind(Key.class).annotatedWith(red)
            .toProvider(Providers.<Key> of(null));
    bind(Module.class).annotatedWith(red)
            .toProvider(Providers.<Module> of(null));
    bind(Provider.class).annotatedWith(red)
            .toProvider(Providers.<Provider> of(null));
    bind(Scope.class).annotatedWith(red)
            .toProvider(Providers.<Scope> of(null));
    bind(Stage.class).annotatedWith(red)
            .toProvider(Providers.<Stage> of(null));
    bind(TypeLiteral.class).annotatedWith(red)
            .toProvider(Providers.<TypeLiteral> of(null));
    bind(new TypeLiteral<Key<String>>() {
    }).toProvider(Providers.<Key<String>> of(null));
}
项目:keywhiz    文件:climodule.java   
@Override protected void configure() {
  bind(CliConfiguration.class).toInstance(config);

  bind(JCommander.class).annotatedWith(Names.named("ParentCommander"))
      .toInstance(parentCommander);

  if (commander == null) {
    bind(JCommander.class).annotatedWith(Names.named("Commander"))
        .toProvider(Providers.of((JCommander) null));
    bind(String.class).annotatedWith(Names.named("Command"))
        .toProvider(Providers.of((String) null));
  } else {
    bind(JCommander.class).annotatedWith(Names.named("Commander")).toInstance(commander);
    bindConstant().annotatedWith(Names.named("Command")).to(command);
  }

  bind(Map.class).annotatedWith(Names.named("CommandMap")).toInstance(commands);
}
项目:isis-app-quickstart    文件:DomainApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {

            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Domain App");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("brandlogoHeader")).toInstance("/images/domainapp-logo-header.png");
            bind(String.class).annotatedWith(Names.named("brandlogoSignin")).toInstance("/images/domainapp-logo-signin.png");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Domain App");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:isis-app-simpledsl    文件:DomainApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Simple App");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Simple App");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(
                    Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
            // if uncommented,then overrides isis.appManifest in config file.
            // bind(AppManifest.class).toInstance(new DomainAppAppManifest());
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:TarjetasISIS    文件:SimpleApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(" Mejorar ");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(" Mejorar ");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:isis-app-todoapp    文件:TodoApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {

            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Todo App");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("brandlogoHeader")).toInstance("/images/todoapp-logo-header.png");
            bind(String.class).annotatedWith(Names.named("brandlogoSignin")).toInstance("/images/todoapp-logo-signin.png");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Todo App");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:presto    文件:BackupModule.java   
@Override
protected void setup(Binder binder)
{
    configBinder(binder).bindConfig(BackupConfig.class);

    String provider = buildConfigObject(BackupConfig.class).getProvider();
    if (provider == null) {
        binder.bind(BackupStore.class).toProvider(Providers.of(null));
    }
    else {
        Module module = providers.get(provider);
        if (module == null) {
            binder.addError("UnkNown backup provider: %s",provider);
        }
        else {
            binder.install(module);
        }
    }
    binder.bind(BackupService.class).to(BackupServiceManager.class).in(Scopes.SINGLetoN);
}
项目:isis-app-petclinic    文件:PetClinicApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Simple App");
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Simple App");
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:gerrit    文件:Init.java   
@Override
protected void afterInit(SiteRun run) throws Exception {
  List<Module> modules = new ArrayList<>();
  modules.add(
      new AbstractModule() {
        @Override
        protected void configure() {
          bind(Path.class).annotatedWith(SitePath.class).toInstance(getSitePath());
          bind(browser.class);
          bind(String.class)
              .annotatedWith(SecureStoreClassName.class)
              .toProvider(Providers.of(getConfiguredSecureStoreClass()));
        }
      });
  modules.add(new GerritServerConfigModule());
  Guice.createInjector(modules).injectMembers(this);
  start(run);
}
项目:gerrit    文件:Passwd.java   
private Injector getSysInjector() {
  List<Module> modules = new ArrayList<>();
  modules.add(
      new FactoryModule() {
        @Override
        protected void configure() {
          bind(Path.class).annotatedWith(SitePath.class).toInstance(getSitePath());
          bind(ConsoleUI.class).toInstance(ConsoleUI.getInstance(password != null));
          factory(Section.Factory.class);
          bind(Boolean.class).annotatedWith(InstallAllPlugins.class).toInstance(Boolean.FALSE);
          bind(new TypeLiteral<List<String>>() {})
              .annotatedWith(InstallPlugins.class)
              .toInstance(new ArrayList<String>());
          bind(String.class)
              .annotatedWith(SecureStoreClassName.class)
              .toProvider(Providers.of(getConfiguredSecureStoreClass()));
        }
      });
  modules.add(new GerritServerConfigModule());
  return Guice.createInjector(modules);
}
项目:gerrit    文件:InProcessprotocol.java   
Context(
    SchemaFactory<ReviewDb> schemaFactory,IdentifiedUser.GenericFactory userFactory,Account.Id accountId,Project.NameKey project) {
  this.schemaFactory = schemaFactory;
  this.userFactory = userFactory;
  this.accountId = accountId;
  this.project = project;
  map = new HashMap<>();
  cleanup = new RequestCleanup();
  map.put(DB_KEY,new RequestScopedReviewDbProvider(schemaFactory,Providers.of(cleanup)));
  map.put(RC_KEY,cleanup);

  IdentifiedUser user = userFactory.create(accountId);
  user.setAccesspath(Accesspath.GIT);
  map.put(USER_KEY,user);
}
项目:gerrit    文件:GuiceRequestScopePropagator.java   
/** @see RequestScopePropagator#wrap(Callable) */
// ServletScopes#continueRequest is deprecated,but it's not obvIoUs their
// recommended replacement is an appropriate drop-in solution; see
// https://gerrit-review.googlesource.com/83971
@SuppressWarnings("deprecation")
@Override
protected <T> Callable<T> wrapImpl(Callable<T> callable) {
  Map<Key<?>,Object> seedMap = new HashMap<>();

  // Request scopes appear to use specific keys in their map,instead of only
  // providers. Add bindings for both the key to the instance directly and the
  // provider to the instance to be safe.
  seedMap.put(Key.get(typeOfProvider(String.class),CanonicalWebUrl.class),Providers.of(url));
  seedMap.put(Key.get(String.class,url);

  seedMap.put(Key.get(typeOfProvider(SocketAddress.class),RemotePeer.class),Providers.of(peer));
  seedMap.put(Key.get(SocketAddress.class,peer);

  return ServletScopes.continueRequest(callable,seedMap);
}
项目:gerrit    文件:IdentifiedUser.java   
/**
 * Returns a materialized copy of the user with all dependencies.
 *
 * <p>Invoke all providers and factories of dependent objects and store the references to a copy
 * of the current identified user.
 *
 * @return copy of the identified user
 */
public IdentifiedUser materializedcopy() {
  Provider<SocketAddress> remotePeer;
  try {
    remotePeer = Providers.of(remotePeerProvider.get());
  } catch (OutOfScopeException | ProvisionException e) {
    remotePeer =
        new Provider<SocketAddress>() {
          @Override
          public SocketAddress get() {
            throw e;
          }
        };
  }
  return new IdentifiedUser(
      authConfig,realm,anonymousCowardName,Providers.of(canonicalUrl.get()),accountCache,groupBackend,disableReversednsLookup,remotePeer,state,realUser);
}
项目:gerrit    文件:DynamicSetTest.java   
@Test
public void containsDynamic() throws Exception {
  DynamicSet<Integer> ds = new DynamicSet<>();
  ds.add(2);

  Key<Integer> key = Key.get(Integer.class);
  ReloadableRegistrationHandle<Integer> handle = ds.add(key,Providers.of(4));

  ds.add(6);

  // At first,4 is contained.
  assertthat(ds.contains(4)).isTrue(); //See above comment about ds.contains

  // Then we remove 4.
  handle.remove();

  // And Now 4 should no longer be contained.
  assertthat(ds.contains(4)).isFalse(); //See above comment about ds.contains
}
项目:gerrit    文件:CommitsCollectionTest.java   
@Before
public void setUp() throws Exception {
  Injector injector = Guice.createInjector(new InMemoryModule());
  injector.injectMembers(this);
  lifecycle = new LifecycleManager();
  lifecycle.add(injector);
  lifecycle.start();

  db = schemaFactory.open();
  schemaCreator.create(db);
  // Need to create at least one user to be admin before creating a "normal"
  // registered user.
  // See AccountManager#create().
  accountManager.authenticate(AuthRequest.forUser("admin")).getAccountId();
  admins = groupCache.get(new AccountGroup.NameKey("Administrators")).orElse(null).getGroupUUID();
  setUpPermissions();

  Account.Id userId = accountManager.authenticate(AuthRequest.forUser("user")).getAccountId();
  user = userFactory.create(userId);

  Project.NameKey name = new Project.NameKey("project");
  InMemoryRepository inMemoryRepo = repoManager.createRepository(name);
  project = new ProjectConfig(name);
  project.load(inMemoryRepo);
  repo = new TestRepository<>(inMemoryRepo);

  requestContext.setContext(
      new RequestContext() {
        @Override
        public CurrentUser getUser() {
          return user;
        }

        @Override
        public Provider<ReviewDb> getReviewDbProvider() {
          return Providers.of(db);
        }
      });
}
项目:DataCleaner    文件:OpenAnalysisJobActionListener.java   
@Override
public void actionPerformed(final ActionEvent event) {
    final DCFileChooser fileChooser = new DCFileChooser(_userPreferences.getAnalysisJobDirectory());

    final OpenAnalysisJobFileChooserAccessory accessory =
            new OpenAnalysisJobFileChooserAccessory(_windowContext,_configuration,fileChooser,Providers.of(this));
    fileChooser.setAccessory(accessory);

    fileChooser.addChoosableFileFilter(FileFilters.ANALYSIS_XML);
    fileChooser.addChoosableFileFilter(FileFilters.ANALYSIS_RESULT_SER);
    fileChooser.setFileFilter(FileFilters
            .combined("DataCleaner analysis files",FileFilters.ANALYSIS_XML,FileFilters.ANALYSIS_RESULT_SER));
    final int openFileResult = fileChooser.showOpenDialog(_parentwindow.toComponent());

    if (openFileResult == JFileChooser.APPROVE_OPTION) {
        final FileObject file = fileChooser.getSelectedFileObject();
        openFile(file);
    }
}
项目:DataCleaner    文件:OpenAnalysisJobAstemplateDialogTest.java   
private OpenAnalysisJobAstemplateDialog getDialog() {
    if (_dialog == null) {
        try {
            final WindowContext windowContext = new SimpleWindowContext();
            final Datastore datastore = TestHelper.createSampleDatabaseDatastore("orderdb");
            final DatastoreCatalog datastoreCatalog = new DatastoreCatalogImpl(datastore);
            final SimpleDescriptorProvider descriptorProvider = new SimpleDescriptorProvider();
            final DataCleanerConfiguration configuration =
                    new DataCleanerConfigurationImpl().withDatastoreCatalog(datastoreCatalog).withEnvironment(
                            new DataCleanerEnvironmentImpl().withDescriptorProvider(descriptorProvider));
            final FileObject file = Vfsutils.getFileSystemManager()
                    .resolveFile("src/test/resources/cli-examples/date_analysis_job.xml");
            final Provider<OpenAnalysisJobActionListener> providerMock = Providers.of(null);

            _dialog = new OpenAnalysisJobAstemplateDialog(windowContext,configuration,file,createMetadata(),providerMock);
        } catch (final filesystemexception e) {
            logger.error("Problem occurred while creating dialog instance. \n" + e.getMessage());
        }
    }

    return _dialog;
}
项目:isis-module-devutils    文件:DevUtilsModuleApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module simpleOverrides = new AbstractModule() {
        @Override
        protected void configure() {

            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(simpleOverrides);
}
项目:isis-app-kitchensink    文件:KitchensinkApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module simpleOverrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(simpleOverrides);
}
项目:isis-module-pdf    文件:PdfModuleApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module simpleOverrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(simpleOverrides);
}
项目:isis-module-audit    文件:AuditModuleApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module overrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(overrides);
}
项目:guice-old    文件:DuplicateBindingsTest.java   
@SuppressWarnings("unchecked")
public void testMixedTargetsFails() {
  try {
    Guice.createInjector(
        new SimpleModule(foo,pFoo,pclFoo,clFoo,cFoo),new SimpleModule(new FooImpl(),Providers.<Foo>of(new FooImpl()),(Class)BarProvider.class,(Class)Bar.class,(Constructor)Bar.cxtor())
    );
    fail("expected exception");
  } catch(CreationException ce) {
    assertContains(ce.getMessage(),"A binding to " + Foo.class.getName() + " annotated with " + named("pInstance") + " was already configured at " + SimpleModule.class.getName(),"at " + SimpleModule.class.getName(),"A binding to " + Foo.class.getName() + " annotated with " + named("pKey") + " was already configured at " + SimpleModule.class.getName(),"A binding to " + Foo.class.getName() + " annotated with " + named("linkedKey") + " was already configured at " + SimpleModule.class.getName(),"A binding to " + Foo.class.getName() + " annotated with " + named("constructor") + " was already configured at " + SimpleModule.class.getName(),"at " + SimpleModule.class.getName());
  }
}
项目:isis-module-security    文件:SecurityModuleApplication.java   
@Override
protected Module newIsisWicketModule() {
    final Module isisDefaults = super.newIsisWicketModule();

    final Module simpleOverrides = new AbstractModule() {
        @Override
        protected void configure() {
            bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
            bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
            bind(String.class).annotatedWith(Names.named("applicationjs")).toInstance("scripts/application.js");
            bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(),"welcome.html"));
            bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
            bind(InputStream.class).annotatedWith(Names.named("MetaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsstream("/meta-inf/MANIFEST.MF")));
        }
    };

    return Modules.override(isisDefaults).with(simpleOverrides);
}
项目:guice    文件:BoundFieldModuleTest.java   
public void testFieldBoundAsProvider_lazy() {
  LazyProviderClass asProvider = new LazyProviderClass();
  Provider<Integer> provider =
      Guice.createInjector(BoundFieldModule.of(asProvider)).getProvider(Integer.class);
  assertNull(provider.get());
  asProvider.foo = Providers.of(1);
  assertEquals(1,provider.get().intValue());
  asProvider.foo =
      new Provider<Integer>() {
        @Override
        public Integer get() {
          throw new RuntimeException("boom");
        }
      };
  try {
    provider.get();
    fail();
  } catch (ProvisionException e) {
    assertContains(e.getMessage(),"boom");
  }
}
项目:guice    文件:ServletTest.java   
private Injector createInjector(Module... modules) throws CreationException {
  return Guice.createInjector(
      Lists.<Module>asList(
          new AbstractModule() {
            @Override
            protected void configure() {
              install(new ServletModule());
              bind(InSession.class);
              bind(IN_SESSION_NULL_KEY)
                  .toProvider(Providers.<InSession>of(null))
                  .in(SessionScoped.class);
              bind(InRequest.class);
              bind(IN_REQUEST_NULL_KEY)
                  .toProvider(Providers.<InRequest>of(null))
                  .in(RequestScoped.class);
            }
          },modules));
}
项目:guice    文件:InjectorImpl.java   
ConvertedConstantBindingImpl(
    InjectorImpl injector,Key<T> key,T value,Binding<String> originalBinding,TypeConverterBinding typeConverterBinding) {
  super(
      injector,key,originalBinding.getSource(),new ConstantFactory<T>(Initializables.of(value)),scoping.UNScopED);
  this.value = value;
  provider = Providers.of(value);
  this.originalBinding = originalBinding;
  this.typeConverterBinding = typeConverterBinding;
}
项目:guice    文件:Jsr330Test.java   
public void testGuicify330Provider() {
  Provider<String> jsr330Provider =
      new Provider<String>() {
        @Override
        public String get() {
          return "A";
        }

        @Override
        public String toString() {
          return "jsr330Provider";
        }
      };

  com.google.inject.Provider<String> guicified = Providers.guicify(jsr330Provider);
  assertEquals("guicified(jsr330Provider)",guicified.toString());
  assertEquals("A",guicified.get());

  // when you guicify the Guice-friendly,it's a no-op
  assertSame(guicified,Providers.guicify(guicified));

  assertFalse(guicified instanceof HasDependencies);
}
项目:guice    文件:ProvisionListenerTest.java   
public void testBindToInjectorWithListeningGivesSaneException() {
  try {
    Guice.createInjector(
        new AbstractModule() {
          @Override
          protected void configure() {
            bindListener(Matchers.any(),new Counter());
            bind(Injector.class).toProvider(Providers.<Injector>of(null));
          }
        });
    fail();
  } catch (CreationException ce) {
    assertContains(
        ce.getMessage(),"Binding to core guice framework type is not allowed: Injector.");
  }
}
项目:guice    文件:BinderTest.java   
public void testBindingToProvider() {
  try {
    Guice.createInjector(
        new AbstractModule() {
          @Override
          protected void configure() {
            bind(new TypeLiteral<Provider<String>>() {}).toInstance(Providers.of("A"));
          }
        });
    fail();
  } catch (CreationException expected) {
    assertContains(
        expected.getMessage(),"1) Binding to Provider is not allowed.","at " + BinderTest.class.getName(),getDeclaringSourcePart(getClass()));
  }
}

今天关于Button按钮--inject与providebutton 按钮的分享就到这里,希望大家有所收获,若想了解更多关于Angular $ injector可以用$ provide.decorator装饰吗?、angularjs – 错误:[$injector:unpr]未知的提供者:$routeProvider、com.google.inject.throwingproviders.CheckedProvider的实例源码、com.google.inject.util.Providers的实例源码等相关知识,可以在本站进行查询。

本文标签: