embulk 0.7.11 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +1 -1
  4. data/build.gradle +2 -2
  5. data/embulk-core/build.gradle +2 -0
  6. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +11 -3
  7. data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +53 -0
  8. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -1
  9. data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +479 -69
  10. data/embulk-core/src/main/java/org/embulk/spi/Column.java +3 -0
  11. data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +2 -0
  12. data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +12 -5
  13. data/embulk-core/src/main/java/org/embulk/spi/Page.java +19 -0
  14. data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +26 -5
  15. data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +13 -0
  16. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +17 -0
  17. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +125 -0
  18. data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +55 -0
  19. data/embulk-core/src/main/java/org/embulk/spi/type/JsonType.java +14 -0
  20. data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +1 -0
  21. data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +2 -0
  22. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +6 -0
  23. data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +5 -0
  24. data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +10 -0
  25. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +3 -0
  26. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +7 -0
  27. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +2 -0
  28. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +7 -0
  29. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java +73 -0
  30. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +11 -2
  31. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +5 -0
  32. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +5 -0
  33. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +7 -0
  34. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +9 -1
  35. data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +7 -0
  36. data/embulk-docs/src/built-in.rst +40 -3
  37. data/embulk-docs/src/conf.py +2 -2
  38. data/embulk-docs/src/release.rst +1 -1
  39. data/embulk-docs/src/release/release-0.8.0.rst +68 -0
  40. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +12 -1
  41. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +18 -0
  42. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +1 -1
  43. data/embulk.gemspec +1 -1
  44. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  45. data/gradle/wrapper/gradle-wrapper.properties +2 -2
  46. data/gradlew +3 -7
  47. data/lib/embulk/column.rb +2 -0
  48. data/lib/embulk/command/embulk_migrate_plugin.rb +76 -10
  49. data/lib/embulk/command/embulk_new_plugin.rb +2 -0
  50. data/lib/embulk/command/embulk_run.rb +17 -10
  51. data/lib/embulk/data/bundle/.ruby-version +1 -1
  52. data/lib/embulk/data/new/java/build.gradle.erb +21 -0
  53. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +128 -0
  54. data/lib/embulk/data/new/java/config/checkstyle/default.xml +108 -0
  55. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  56. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +2 -2
  57. data/lib/embulk/data/new/java/gradlew +3 -7
  58. data/lib/embulk/data/new/ruby/.ruby-version +1 -1
  59. data/lib/embulk/guess/csv.rb +1 -1
  60. data/lib/embulk/guess/schema_guess.rb +6 -0
  61. data/lib/embulk/guess_plugin.rb +1 -1
  62. data/lib/embulk/java/imports.rb +4 -0
  63. data/lib/embulk/plugin_registry.rb +8 -12
  64. data/lib/embulk/schema.rb +6 -0
  65. data/lib/embulk/version.rb +1 -1
  66. data/test/guess/test_csv_guess.rb +170 -0
  67. data/test/helper.rb +2 -0
  68. metadata +19 -17
  69. data/embulk-core/src/main/java/org/embulk/exec/LocalThreadExecutor.java +0 -34
  70. data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +0 -157
  71. data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +0 -22
  72. data/embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java +0 -145
  73. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java +0 -26
  74. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjectorProxy.java +0 -61
  75. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java +0 -187
  76. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java +0 -89
  77. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java +0 -38
  78. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java +0 -97
  79. data/embulk-docs/src/release/release-0.7.11.rst +0 -13
data/test/helper.rb CHANGED
@@ -19,3 +19,5 @@ SimpleCov.start 'embulk'
19
19
 
20
20
  require 'embulk/java/bootstrap'
21
21
  require 'embulk'
22
+
23
+ Embulk.setup
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.11
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-09 00:00:00.000000000 Z
11
+ date: 2016-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jruby-jars
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 9.0.0.0
19
+ version: 9.0.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 9.0.0.0
26
+ version: 9.0.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -107,10 +107,11 @@ files:
107
107
  - classpath/bval-jsr303-0.5.jar
108
108
  - classpath/commons-beanutils-core-1.8.3.jar
109
109
  - classpath/commons-lang3-3.1.jar
110
- - classpath/embulk-core-0.7.11.jar
111
- - classpath/embulk-standards-0.7.11.jar
110
+ - classpath/embulk-core-0.8.0.jar
111
+ - classpath/embulk-standards-0.8.0.jar
112
112
  - classpath/guava-18.0.jar
113
113
  - classpath/guice-4.0.jar
114
+ - classpath/guice-bootstrap-0.1.1.jar
114
115
  - classpath/guice-multibindings-4.0.jar
115
116
  - classpath/jackson-annotations-2.5.3.jar
116
117
  - classpath/jackson-core-2.5.3.jar
@@ -123,6 +124,7 @@ files:
123
124
  - classpath/joda-time-2.8.1.jar
124
125
  - classpath/logback-classic-1.1.3.jar
125
126
  - classpath/logback-core-1.1.3.jar
127
+ - classpath/msgpack-core-0.8.1.jar
126
128
  - classpath/netty-buffer-5.0.0.Alpha1.jar
127
129
  - classpath/netty-common-5.0.0.Alpha1.jar
128
130
  - classpath/slf4j-api-1.7.12.jar
@@ -162,6 +164,7 @@ files:
162
164
  - embulk-core/src/main/java/org/embulk/config/TaskValidator.java
163
165
  - embulk-core/src/main/java/org/embulk/config/UserDataException.java
164
166
  - embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java
167
+ - embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java
165
168
  - embulk-core/src/main/java/org/embulk/exec/BulkLoader.java
166
169
  - embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java
167
170
  - embulk-core/src/main/java/org/embulk/exec/ExecModule.java
@@ -172,7 +175,6 @@ files:
172
175
  - embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java
173
176
  - embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java
174
177
  - embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java
175
- - embulk-core/src/main/java/org/embulk/exec/LocalThreadExecutor.java
176
178
  - embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
177
179
  - embulk-core/src/main/java/org/embulk/exec/NoSampleException.java
178
180
  - embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java
@@ -186,15 +188,6 @@ files:
186
188
  - embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java
187
189
  - embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java
188
190
  - embulk-core/src/main/java/org/embulk/exec/TransactionStage.java
189
- - embulk-core/src/main/java/org/embulk/guice/Bootstrap.java
190
- - embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java
191
- - embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java
192
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java
193
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleInjectorProxy.java
194
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java
195
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java
196
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java
197
- - embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java
198
191
  - embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java
199
192
  - embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java
200
193
  - embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java
@@ -255,6 +248,9 @@ files:
255
248
  - embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java
256
249
  - embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java
257
250
  - embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java
251
+ - embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java
252
+ - embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java
253
+ - embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java
258
254
  - embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java
259
255
  - embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java
260
256
  - embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java
@@ -267,6 +263,7 @@ files:
267
263
  - embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java
268
264
  - embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java
269
265
  - embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java
266
+ - embulk-core/src/main/java/org/embulk/spi/type/JsonType.java
270
267
  - embulk-core/src/main/java/org/embulk/spi/type/LongType.java
271
268
  - embulk-core/src/main/java/org/embulk/spi/type/StringType.java
272
269
  - embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java
@@ -306,6 +303,7 @@ files:
306
303
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java
307
304
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java
308
305
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
306
+ - embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java
309
307
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java
310
308
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java
311
309
  - embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java
@@ -411,7 +409,6 @@ files:
411
409
  - embulk-docs/src/release/release-0.7.0.rst
412
410
  - embulk-docs/src/release/release-0.7.1.rst
413
411
  - embulk-docs/src/release/release-0.7.10.rst
414
- - embulk-docs/src/release/release-0.7.11.rst
415
412
  - embulk-docs/src/release/release-0.7.2.rst
416
413
  - embulk-docs/src/release/release-0.7.3.rst
417
414
  - embulk-docs/src/release/release-0.7.4.rst
@@ -420,6 +417,7 @@ files:
420
417
  - embulk-docs/src/release/release-0.7.7.rst
421
418
  - embulk-docs/src/release/release-0.7.8.rst
422
419
  - embulk-docs/src/release/release-0.7.9.rst
420
+ - embulk-docs/src/release/release-0.8.0.rst
423
421
  - embulk-standards/build.gradle
424
422
  - embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java
425
423
  - embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java
@@ -464,6 +462,8 @@ files:
464
462
  - lib/embulk/data/new/README.md.erb
465
463
  - lib/embulk/data/new/gitignore.erb
466
464
  - lib/embulk/data/new/java/build.gradle.erb
465
+ - lib/embulk/data/new/java/config/checkstyle/checkstyle.xml
466
+ - lib/embulk/data/new/java/config/checkstyle/default.xml
467
467
  - lib/embulk/data/new/java/decoder.java.erb
468
468
  - lib/embulk/data/new/java/encoder.java.erb
469
469
  - lib/embulk/data/new/java/file_input.java.erb
@@ -526,6 +526,7 @@ files:
526
526
  - lib/embulk/schema.rb
527
527
  - lib/embulk/version.rb
528
528
  - settings.gradle
529
+ - test/guess/test_csv_guess.rb
529
530
  - test/guess/test_schema_guess.rb
530
531
  - test/guess/test_time_format_guess.rb
531
532
  - test/helper.rb
@@ -555,6 +556,7 @@ signing_key:
555
556
  specification_version: 4
556
557
  summary: Embulk, a plugin-based parallel bulk data loader
557
558
  test_files:
559
+ - test/guess/test_csv_guess.rb
558
560
  - test/guess/test_schema_guess.rb
559
561
  - test/guess/test_time_format_guess.rb
560
562
  - test/helper.rb
@@ -1,34 +0,0 @@
1
- package org.embulk.exec;
2
-
3
- import java.util.concurrent.Executors;
4
- import java.util.concurrent.ExecutorService;
5
- import com.google.common.util.concurrent.ThreadFactoryBuilder;
6
- import com.google.inject.Inject;
7
- import org.embulk.config.ConfigSource;
8
-
9
- /*
10
- * Injected in SINGLETON scope at ExecModule
11
- */
12
- public class LocalThreadExecutor
13
- {
14
- private final ExecutorService executor;
15
-
16
- @Inject
17
- public LocalThreadExecutor(@ForSystemConfig ConfigSource systemConfig)
18
- {
19
- int defaultMaxThreads = Runtime.getRuntime().availableProcessors() * 2;
20
- int maxThreads = systemConfig.get(Integer.class, "max_threads", defaultMaxThreads);
21
- this.executor = Executors.newFixedThreadPool(maxThreads,
22
- new ThreadFactoryBuilder()
23
- .setNameFormat("embulk-executor-%d")
24
- .setDaemon(true)
25
- .build());
26
- }
27
-
28
- public ExecutorService getExecutorService()
29
- {
30
- return executor;
31
- }
32
-
33
- // TODO shutdown
34
- }
@@ -1,157 +0,0 @@
1
- /*
2
- * Copyright 2015 Sadayuki Furuhashi
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- package org.embulk.guice;
17
-
18
- import com.google.common.base.Function;
19
- import com.google.common.collect.ImmutableList;
20
- import com.google.common.collect.Iterables;
21
- import com.google.common.annotations.Beta;
22
-
23
- import com.google.inject.Binder;
24
- import com.google.inject.Guice;
25
- import com.google.inject.Module;
26
- import com.google.inject.Stage;
27
- import com.google.inject.Injector;
28
- import java.util.Arrays;
29
- import java.util.List;
30
-
31
- @Beta
32
- public class Bootstrap
33
- {
34
- private List<Module> modules;
35
-
36
- private boolean requireExplicitBindings = true;
37
-
38
- private boolean started;
39
-
40
- public Bootstrap(Module... modules)
41
- {
42
- this(Arrays.asList(modules));
43
- }
44
-
45
- public Bootstrap(Iterable<? extends Module> modules)
46
- {
47
- this.modules = ImmutableList.copyOf(modules);
48
- }
49
-
50
- public Bootstrap requireExplicitBindings(boolean requireExplicitBindings)
51
- {
52
- this.requireExplicitBindings = requireExplicitBindings;
53
- return this;
54
- }
55
-
56
- public Bootstrap addModules(Module... additionalModules)
57
- {
58
- return addModules(Arrays.asList(additionalModules));
59
- }
60
-
61
- public Bootstrap addModules(Iterable<? extends Module> additionalModules)
62
- {
63
- modules = ImmutableList.copyOf(Iterables.concat(modules, additionalModules));
64
- return this;
65
- }
66
-
67
- //public Bootstrap onPreDestroy()
68
- //{
69
- //}
70
-
71
- //public Bootstrap onPreDestroyException()
72
- //{
73
- //}
74
-
75
- //public Bootstrap onStop()
76
- //{
77
- //}
78
-
79
- //public Bootstrap forEachModule(Consumer<? super Module> function)
80
- //{
81
- // for (Module module : modules) {
82
- // function.accept(module);
83
- // }
84
- // return this;
85
- //}
86
-
87
- //public <T> Bootstrap forEachModule(Class<T> ifClass, Consumer<? super T> function)
88
- //{
89
- // for (Module module : modules) {
90
- // if (ifClass.instance(module) {
91
- // function.accept(module);
92
- // }
93
- // }
94
- // return this;
95
- //}
96
-
97
- public Bootstrap overrideModules(Function<? super List<Module>, ? extends Iterable<? extends Module>> function)
98
- {
99
- modules = ImmutableList.copyOf(function.apply(modules));
100
- return this;
101
- }
102
-
103
- public LifeCycleInjector initialize()
104
- {
105
- return build(true);
106
- }
107
-
108
- public CloseableInjector initializeCloseable()
109
- {
110
- return build(false);
111
- }
112
-
113
- private LifeCycleInjectorProxy build(boolean destroyOnShutdownHook)
114
- {
115
- Injector injector = start();
116
- LifeCycleManager lifeCycleManager = injector.getInstance(LifeCycleManager.class);
117
- if (destroyOnShutdownHook) {
118
- lifeCycleManager.destroyOnShutdownHook();
119
- }
120
- return new LifeCycleInjectorProxy(injector, lifeCycleManager);
121
- }
122
-
123
- private Injector start()
124
- {
125
- if (started) {
126
- throw new IllegalStateException("System already initialized");
127
- }
128
- started = true;
129
-
130
- ImmutableList.Builder<Module> moduleList = ImmutableList.builder();
131
-
132
- moduleList.addAll(modules);
133
-
134
- moduleList.add(new Module()
135
- {
136
- @Override
137
- public void configure(Binder binder)
138
- {
139
- binder.disableCircularProxies();
140
- if (requireExplicitBindings) {
141
- binder.requireExplicitBindings();
142
- }
143
- }
144
- });
145
-
146
- moduleList.add(new LifeCycleModule());
147
-
148
- Injector injector = Guice.createInjector(Stage.PRODUCTION, moduleList.build());
149
-
150
- LifeCycleManager lifeCycleManager = injector.getInstance(LifeCycleManager.class);
151
- if (lifeCycleManager.size() > 0) {
152
- lifeCycleManager.start();
153
- }
154
-
155
- return injector;
156
- }
157
- }
@@ -1,22 +0,0 @@
1
- /*
2
- * Copyright 2015 Sadayuki Furuhashi
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- package org.embulk.guice;
17
-
18
- import com.google.inject.Injector;
19
-
20
- public interface CloseableInjector
21
- extends LifeCycleInjector, AutoCloseable
22
- { }
@@ -1,145 +0,0 @@
1
- /*
2
- * Copyright 2015 Sadayuki Furuhashi
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- package org.embulk.guice;
17
-
18
- import com.google.inject.Binding;
19
- import com.google.inject.Injector;
20
- import com.google.inject.Key;
21
- import com.google.inject.MembersInjector;
22
- import com.google.inject.Module;
23
- import com.google.inject.Provider;
24
- import com.google.inject.Scope;
25
- import com.google.inject.TypeLiteral;
26
- import com.google.inject.spi.TypeConverterBinding;
27
-
28
- import java.lang.annotation.Annotation;
29
- import java.util.List;
30
- import java.util.Map;
31
- import java.util.Set;
32
-
33
- abstract class InjectorProxy
34
- implements Injector
35
- {
36
- protected abstract Injector injector();
37
-
38
- @Override
39
- public void injectMembers(Object instance)
40
- {
41
- injector().injectMembers(instance);
42
- }
43
-
44
- @Override
45
- public <T> MembersInjector<T> getMembersInjector(TypeLiteral<T> typeLiteral)
46
- {
47
- return injector().getMembersInjector(typeLiteral);
48
- }
49
-
50
- @Override
51
- public <T> MembersInjector<T> getMembersInjector(Class<T> type)
52
- {
53
- return injector().getMembersInjector(type);
54
- }
55
-
56
- @Override
57
- public Map<Key<?>, Binding<?>> getBindings()
58
- {
59
- return injector().getBindings();
60
- }
61
-
62
- @Override
63
- public Map<Key<?>, Binding<?>> getAllBindings()
64
- {
65
- return injector().getAllBindings();
66
- }
67
-
68
- @Override
69
- public <T> Binding<T> getBinding(Key<T> key)
70
- {
71
- return injector().getBinding(key);
72
- }
73
-
74
- @Override
75
- public <T> Binding<T> getBinding(Class<T> type)
76
- {
77
- return injector().getBinding(type);
78
- }
79
-
80
- @Override
81
- public <T> Binding<T> getExistingBinding(Key<T> key)
82
- {
83
- return injector().getExistingBinding(key);
84
- }
85
-
86
- @Override
87
- public <T> List<Binding<T>> findBindingsByType(TypeLiteral<T> type)
88
- {
89
- return injector().findBindingsByType(type);
90
- }
91
-
92
- @Override
93
- public <T> Provider<T> getProvider(Key<T> key)
94
- {
95
- return injector().getProvider(key);
96
- }
97
-
98
- @Override
99
- public <T> Provider<T> getProvider(Class<T> type)
100
- {
101
- return injector().getProvider(type);
102
- }
103
-
104
- @Override
105
- public <T> T getInstance(Key<T> key)
106
- {
107
- return injector().getInstance(key);
108
- }
109
-
110
- @Override
111
- public <T> T getInstance(Class<T> type)
112
- {
113
- return injector().getInstance(type);
114
- }
115
-
116
- @Override
117
- public Injector getParent()
118
- {
119
- return injector().getParent();
120
- }
121
-
122
- @Override
123
- public Injector createChildInjector(Iterable<? extends Module> modules)
124
- {
125
- return injector().createChildInjector(modules);
126
- }
127
-
128
- @Override
129
- public Injector createChildInjector(Module... modules)
130
- {
131
- return injector().createChildInjector(modules);
132
- }
133
-
134
- @Override
135
- public Map<Class<? extends Annotation>, Scope> getScopeBindings()
136
- {
137
- return injector().getScopeBindings();
138
- }
139
-
140
- @Override
141
- public Set<TypeConverterBinding> getTypeConverterBindings()
142
- {
143
- return injector().getTypeConverterBindings();
144
- }
145
- }