mirror of
https://github.com/apache/struts.git
synced 2026-08-11 09:36:57 +00:00
Uses factory's type to detect Initilizable interfaces
This commit is contained in:
@@ -57,6 +57,11 @@ public final class ContainerBuilder {
|
||||
public Container create(InternalContext context) {
|
||||
return context.getContainer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Container> type() {
|
||||
return Container.class;
|
||||
}
|
||||
};
|
||||
|
||||
private static final InternalFactory<Logger> LOGGER_FACTORY =
|
||||
@@ -66,6 +71,11 @@ public final class ContainerBuilder {
|
||||
return member == null ? Logger.getAnonymousLogger()
|
||||
: Logger.getLogger(member.getDeclaringClass().getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Logger> type() {
|
||||
return Logger.class;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -92,7 +102,7 @@ public final class ContainerBuilder {
|
||||
if (scope == Scope.SINGLETON) {
|
||||
singletonFactories.add(createCallableFactory(key, scopedFactory));
|
||||
}
|
||||
if (Initializable.class.isAssignableFrom(key.getType())) {
|
||||
if (Initializable.class.isAssignableFrom(factory.type())) {
|
||||
initializableFactories.add(createCallableFactory(key, scopedFactory));
|
||||
}
|
||||
return this;
|
||||
@@ -108,6 +118,11 @@ public final class ContainerBuilder {
|
||||
context.setExternalContext(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends T> type() {
|
||||
return scopedFactory.type();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -145,6 +160,11 @@ public final class ContainerBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends T> type() {
|
||||
return factory.type();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new LinkedHashMap<String, Object>() {{
|
||||
@@ -231,6 +251,11 @@ public final class ContainerBuilder {
|
||||
return (T) constructor.construct(context, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends T> type() {
|
||||
return implementation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new LinkedHashMap<String, Object>() {{
|
||||
@@ -515,6 +540,11 @@ public final class ContainerBuilder {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends T> type() {
|
||||
return (Class<? extends T>) value.getClass();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new LinkedHashMap<String, Object>() {
|
||||
|
||||
Reference in New Issue
Block a user