Skip to content

Commit adefe66

Browse files
committed
Implemented dependency injection
1 parent bcc0e9d commit adefe66

File tree

5 files changed

+33
-3
lines changed

5 files changed

+33
-3
lines changed

pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,19 @@
5252
<url>https://github.com/JavaWebStack/orm/tree/master</url>
5353
</scm>
5454

55+
<repositories>
56+
<repository>
57+
<id>ossrh</id>
58+
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
59+
</repository>
60+
</repositories>
61+
5562
<dependencies>
63+
<dependency>
64+
<groupId>org.javawebstack</groupId>
65+
<artifactId>commons</artifactId>
66+
<version>1.0.0-SNAPSHOT</version>
67+
</dependency>
5668
<dependency>
5769
<groupId>org.javawebstack</groupId>
5870
<artifactId>abstract-data</artifactId>

src/main/java/org/javawebstack/orm/Model.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.javawebstack.orm;
22

3+
import org.javawebstack.commons.inject.Injector;
34
import org.javawebstack.orm.query.Query;
45

56
import java.lang.reflect.Field;
@@ -22,6 +23,9 @@ public class Model {
2223

2324
{
2425
updateOriginal();
26+
Injector injector = Repo.get(getClass()).getInfo().getConfig().getInjector();
27+
if(injector != null)
28+
injector.inject(this);
2529
}
2630

2731
static {

src/main/java/org/javawebstack/orm/ORM.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@
1010
import java.util.HashMap;
1111
import java.util.List;
1212
import java.util.Map;
13-
import java.util.logging.Logger;
1413

1514
public class ORM {
1615

17-
public static final Logger LOGGER = Logger.getLogger("ORM");
18-
1916
private static final Map<Class<? extends Model>, Repo<?>> repositories = new HashMap<>();
2017

2118
public static <T extends Model> Repo<T> repo(Class<T> model) {

src/main/java/org/javawebstack/orm/ORMConfig.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.javawebstack.orm;
22

3+
import org.javawebstack.commons.inject.Injector;
34
import org.javawebstack.orm.exception.ORMConfigurationException;
45
import org.javawebstack.orm.mapper.DefaultMapper;
56
import org.javawebstack.orm.mapper.TypeMapper;
@@ -15,6 +16,7 @@ public class ORMConfig {
1516
private boolean idAutoIncrement = true;
1617
private final List<TypeMapper> typeMappers = new ArrayList<>();
1718
private boolean preventUnnecessaryUpdates = true;
19+
private Injector injector;
1820

1921
public ORMConfig() {
2022
typeMappers.add(new DefaultMapper());
@@ -39,6 +41,8 @@ public ORMConfig setDefaultSize(int defaultSize) throws ORMConfigurationExceptio
3941
}
4042

4143
public ORMConfig addTypeMapper(TypeMapper typeMapper) {
44+
if(injector != null)
45+
injector.inject(typeMapper);
4246
typeMappers.add(typeMapper);
4347
return this;
4448
}
@@ -112,4 +116,16 @@ public ORMConfig setPreventUnnecessaryUpdates(boolean preventUnnecessaryUpdates)
112116
this.preventUnnecessaryUpdates = preventUnnecessaryUpdates;
113117
return this;
114118
}
119+
120+
public ORMConfig setInjector(Injector injector) {
121+
this.injector = injector;
122+
if(injector != null)
123+
typeMappers.forEach(injector::inject);
124+
return this;
125+
}
126+
127+
public Injector getInjector() {
128+
return injector;
129+
}
130+
115131
}

src/main/java/org/javawebstack/orm/SQLMapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.javawebstack.orm;
22

3+
import org.javawebstack.commons.inject.Injector;
34
import org.javawebstack.orm.exception.ORMQueryException;
45
import org.javawebstack.orm.mapper.DefaultMapper;
56
import org.javawebstack.orm.mapper.TypeMapper;

0 commit comments

Comments
 (0)