Skip to content

Commit 5e72f7d

Browse files
authored
add configurations module (#33)
for registration of configuration classes in DI container. closes #23
1 parent 9129603 commit 5e72f7d

File tree

4 files changed

+43
-9
lines changed

4 files changed

+43
-9
lines changed

src/main/java/aquality/selenium/core/applications/AqualityModule.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* Describes all dependencies which is registered for the project.
2222
*/
2323
public class AqualityModule<T extends IApplication> extends AbstractModule
24-
implements ILocalizationModule, IUtilitiesModule, IWaitingsModule, IElementsModule {
24+
implements IConfigurationsModule, IElementsModule, ILocalizationModule, IUtilitiesModule, IWaitingsModule {
2525

2626
private final Provider<T> applicationProvider;
2727

@@ -37,10 +37,10 @@ protected void configure() {
3737
bind(IApplication.class).toProvider(applicationProvider);
3838
bind(ISettingsFile.class).toInstance(getInstanceOfSettingsFile());
3939
bind(Logger.class).toInstance(Logger.getInstance());
40-
bind(ILoggerConfiguration.class).to(LoggerConfiguration.class).in(Singleton.class);
41-
bind(ITimeoutConfiguration.class).to(TimeoutConfiguration.class).in(Singleton.class);
42-
bind(IRetryConfiguration.class).to(RetryConfiguration.class).in(Singleton.class);
43-
bind(IElementCacheConfiguration.class).to(ElementCacheConfiguration.class).in(Singleton.class);
40+
bind(ILoggerConfiguration.class).to(getLoggerConfigurationImplementation()).in(Singleton.class);
41+
bind(ITimeoutConfiguration.class).to(getTimeoutConfigurationImplementation()).in(Singleton.class);
42+
bind(IRetryConfiguration.class).to(getRetryConfigurationImplementation()).in(Singleton.class);
43+
bind(IElementCacheConfiguration.class).to(getElementCacheConfigurationImplementation()).in(Singleton.class);
4444
bind(IElementActionRetrier.class).to(getElementActionRetrierImplementation()).in(Singleton.class);
4545
bind(ILocalizationManager.class).to(getLocalizationManagerImplementation()).in(Singleton.class);
4646
bind(ILocalizedLogger.class).to(getLocalizedLoggerImplementation()).in(Singleton.class);
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package aquality.selenium.core.configurations;
2+
3+
/**
4+
* Describes implementations of configurations to be registered in DI container.
5+
*/
6+
public interface IConfigurationsModule {
7+
/**
8+
* @return class which implements {@link IElementCacheConfiguration}
9+
*/
10+
default Class<? extends IElementCacheConfiguration> getElementCacheConfigurationImplementation() {
11+
return ElementCacheConfiguration.class;
12+
}
13+
14+
/**
15+
* @return class which implements {@link ILoggerConfiguration}
16+
*/
17+
default Class<? extends ILoggerConfiguration> getLoggerConfigurationImplementation() {
18+
return LoggerConfiguration.class;
19+
}
20+
21+
/**
22+
* @return class which implements {@link IRetryConfiguration}
23+
*/
24+
default Class<? extends IRetryConfiguration> getRetryConfigurationImplementation() {
25+
return RetryConfiguration.class;
26+
}
27+
28+
/**
29+
* @return class which implements {@link ITimeoutConfiguration}
30+
*/
31+
default Class<? extends ITimeoutConfiguration> getTimeoutConfigurationImplementation() {
32+
return TimeoutConfiguration.class;
33+
}
34+
}

src/main/java/aquality/selenium/core/elements/IElementsModule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
*/
99
public interface IElementsModule {
1010
/**
11-
* @return class which implements IElementFinder
11+
* @return class which implements {@link IElementFinder}
1212
*/
1313
default Class<? extends IElementFinder> getElementFinderImplementation() {
1414
return ElementFinder.class;
1515
}
1616

1717
/**
18-
* @return class which implements IElementFactory
18+
* @return class which implements {@link IElementFactory}
1919
*/
2020
default Class<? extends IElementFactory> getElementFactoryImplementation() {
2121
return ElementFactory.class;

src/main/java/aquality/selenium/core/localization/ILocalizationModule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
*/
66
public interface ILocalizationModule {
77
/**
8-
* @return class which implements ILocalizationManager
8+
* @return class which implements {@link ILocalizationManager}
99
*/
1010
default Class<? extends ILocalizationManager> getLocalizationManagerImplementation() {
1111
return LocalizationManager.class;
1212
}
1313

1414
/**
15-
* @return class which implements ILocalizedLogger
15+
* @return class which implements {@link ILocalizedLogger}
1616
*/
1717
default Class<? extends ILocalizedLogger> getLocalizedLoggerImplementation() {
1818
return LocalizedLogger.class;

0 commit comments

Comments
 (0)