From 0eb467e46e7a700f8a53c3b17605ca689eff06b8 Mon Sep 17 00:00:00 2001 From: Martin Ehrnhoefer Date: Sun, 7 Dec 2014 09:52:52 +0100 Subject: [PATCH] Introduced a factory for codegen data containers implementation completed --- .../com/wordnik/swagger/codegen/CodegenModelFactory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenModelFactory.java b/src/main/java/com/wordnik/swagger/codegen/CodegenModelFactory.java index a24e1ed4aca..b369623f37c 100644 --- a/src/main/java/com/wordnik/swagger/codegen/CodegenModelFactory.java +++ b/src/main/java/com/wordnik/swagger/codegen/CodegenModelFactory.java @@ -24,10 +24,11 @@ public final class CodegenModelFactory { typeMapping.put(type, implementation); } + @SuppressWarnings("unchecked") public static T newInstance(CodegenModelType type) { - @SuppressWarnings("unchecked") Class classType = (Class) typeMapping.get(type); + Class classType = typeMapping.get(type); try { - return classType.newInstance(); + return (T) (classType != null ? classType : type.getDefaultImplementation()).newInstance(); } catch (InstantiationException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) {