Skip to content

Commit f5ae35e

Browse files
authored
Merge pull request #1 from g3force/migrate-to-log4j2
Migrate to log4j2
2 parents 703479c + ed5bfa3 commit f5ae35e

File tree

8 files changed

+111
-227
lines changed

8 files changed

+111
-227
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
/target/
2+
.idea
3+
*.iml

pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.github.g3force</groupId>
55
<artifactId>instanceables</artifactId>
6-
<version>v1.3</version>
6+
<version>2.0</version>
77
<name>instanceables</name>
88

99
<properties>
@@ -20,15 +20,15 @@
2020
<dependencies>
2121

2222
<dependency>
23-
<groupId>log4j</groupId>
24-
<artifactId>log4j</artifactId>
25-
<version>1.2.17</version>
23+
<groupId>org.apache.logging.log4j</groupId>
24+
<artifactId>log4j-api</artifactId>
25+
<version>2.12.1</version>
2626
</dependency>
2727

2828
<dependency>
2929
<groupId>com.github.g3force</groupId>
3030
<artifactId>String2ValueConverter</artifactId>
31-
<version>v1.6</version>
31+
<version>2.1</version>
3232
</dependency>
3333

3434
</dependencies>
@@ -74,4 +74,4 @@
7474
</plugin>
7575
</plugins>
7676
</build>
77-
</project>
77+
</project>

src/main/java/com/github/g3force/instanceables/IInstanceableEnum.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,11 @@
1010

1111
/**
1212
* Implement this in an enum that provides {@link InstanceableClass}s
13-
*
14-
* @author Nicolai Ommer <[email protected]>
1513
*/
1614
public interface IInstanceableEnum
1715
{
18-
/**
19-
* @return
20-
*/
2116
InstanceableClass getInstanceableClass();
22-
23-
24-
/**
25-
* @return
26-
*/
17+
18+
2719
String name();
2820
}

src/main/java/com/github/g3force/instanceables/IInstanceableObserver.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,8 @@
1010

1111
/**
1212
* Observer interface to get notified about new instances
13-
*
14-
* @author Nicolai Ommer <[email protected]>
1513
*/
1614
public interface IInstanceableObserver
1715
{
18-
/**
19-
* @param object
20-
*/
2116
void onNewInstance(Object object);
2217
}

src/main/java/com/github/g3force/instanceables/InstanceableClass.java

Lines changed: 29 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -9,48 +9,30 @@
99
package com.github.g3force.instanceables;
1010

1111
import java.lang.reflect.Constructor;
12-
import java.lang.reflect.InvocationTargetException;
1312
import java.util.ArrayList;
1413
import java.util.Arrays;
1514
import java.util.List;
1615

1716

1817
/**
1918
* An {@link InstanceableClass} can be used to create an object from a class and a set of parameters.
20-
*
21-
* @author Nicolai Ommer <[email protected]>
2219
*/
2320
public class InstanceableClass
2421
{
25-
// --------------------------------------------------------------------------
26-
// --- variables and constants ----------------------------------------------
27-
// --------------------------------------------------------------------------
28-
private final Class<?> impl;
29-
private final List<InstanceableParameter> params;
30-
31-
32-
// --------------------------------------------------------------------------
33-
// --- constructors ---------------------------------------------------------
34-
// --------------------------------------------------------------------------
35-
36-
/**
37-
* @param impl
38-
* @param params
39-
*/
22+
private final Class<?> impl;
23+
private final List<InstanceableParameter> params;
24+
25+
4026
public InstanceableClass(final Class<?> impl, final InstanceableParameter... params)
4127
{
4228
this.impl = impl;
4329
this.params = Arrays.asList(params);
4430
}
45-
46-
47-
// --------------------------------------------------------------------------
48-
// --- methods --------------------------------------------------------------
49-
// --------------------------------------------------------------------------
50-
31+
32+
5133
/**
5234
* Create a new instance with the specified arguments
53-
*
35+
*
5436
* @param args
5537
* @return
5638
* @throws NotCreateableException
@@ -62,35 +44,20 @@ public Object newInstance(final Object... args) throws NotCreateableException
6244
{
6345
Constructor<?> con = getConstructor();
6446
result = con.newInstance(args);
65-
} catch (final SecurityException err)
66-
{
67-
throw new NotCreateableException("", err);
68-
} catch (final InstantiationException err)
69-
{
70-
throw new NotCreateableException("", err);
71-
} catch (final IllegalAccessException err)
72-
{
73-
throw new NotCreateableException("", err);
74-
} catch (final IllegalArgumentException err)
75-
{
76-
throw new NotCreateableException("", err);
77-
} catch (final InvocationTargetException err)
78-
{
79-
throw new NotCreateableException("", err);
80-
} catch (final IllegalStateException err)
81-
{
82-
throw new NotCreateableException("", err);
8347
} catch (NoSuchMethodException err)
8448
{
8549
throw new NotCreateableException("Wrong constructor types.", err);
50+
} catch (final Exception err)
51+
{
52+
throw new NotCreateableException("Can not create instance", err);
8653
}
8754
return result;
8855
}
89-
90-
56+
57+
9158
/**
9259
* Create a new instance with default parameters (as defined in enum)
93-
*
60+
*
9461
* @return
9562
* @throws NotCreateableException
9663
*/
@@ -100,79 +67,62 @@ public Object newDefaultInstance() throws NotCreateableException
10067
{
10168
return newInstance();
10269
}
103-
List<Object> objParams = new ArrayList<Object>(getParams().size());
70+
List<Object> objParams = new ArrayList<>(getParams().size());
10471
for (InstanceableParameter param : getParams())
10572
{
10673
Object objParam = param.parseString(param.getDefaultValue());
10774
objParams.add(objParam);
10875
}
10976
return newInstance(objParams.toArray());
11077
}
111-
112-
78+
79+
11380
/**
11481
* Add parameter
115-
*
82+
*
11683
* @param param
11784
*/
11885
public void addParam(final InstanceableParameter param)
11986
{
12087
params.add(param);
12188
}
122-
123-
124-
// --------------------------------------------------------------------------
125-
// --- getter/setter --------------------------------------------------------
126-
// --------------------------------------------------------------------------
127-
128-
89+
90+
12991
/**
13092
* Returns the first public constructor of the Play.
131-
*
132-
* @return
133-
* @throws NoSuchMethodException
134-
* @throws SecurityException
13593
*/
13694
public Constructor<?> getConstructor() throws NoSuchMethodException
13795
{
138-
Class<?> paramTypes[] = new Class<?>[params.size()];
96+
Class<?>[] paramTypes = new Class<?>[params.size()];
13997
for (int i = 0; i < params.size(); i++)
14098
{
14199
paramTypes[i] = params.get(i).getImpl();
142100
}
143101
return impl.getConstructor(paramTypes);
144102
}
145-
146-
103+
104+
147105
/**
148106
* @return the params
149107
*/
150108
public final List<InstanceableParameter> getParams()
151109
{
152110
return params;
153111
}
154-
155-
156-
/**
157-
* @author Nicolai Ommer <[email protected]>
158-
*/
112+
113+
159114
public static class NotCreateableException extends Exception
160115
{
161-
/** */
162-
private static final long serialVersionUID = 89775383135278930L;
163-
164-
165-
/**
166-
* @param message
167-
* @param cause
168-
*/
116+
private static final long serialVersionUID = 89775383135278930L;
117+
118+
169119
public NotCreateableException(final String message, final Throwable cause)
170120
{
171121
super(message, cause);
172122
}
173123
}
174-
175-
124+
125+
176126
/**
177127
* @return the impl
178128
*/

0 commit comments

Comments
 (0)