/** * Adds a public interface to this package. */ public JDefinedClass _interface(String name) throws JClassAlreadyExistsException { return _interface(JMod.PUBLIC, name); }
/** * Adds a public interface to this package. */ public JDefinedClass _interface(String name) throws JClassAlreadyExistsException { return _interface(JMod.PUBLIC, name); }
/** * Adds a public interface to this package. */ public JDefinedClass _interface(String name) throws JClassAlreadyExistsException { return _interface(JMod.PUBLIC, name); }
/** * Adds a public interface to this package. */ public JDefinedClass _interface(String name) throws JClassAlreadyExistsException { return _interface(JMod.PUBLIC, name); }
/** * Adds a public interface to this package. */ public JDefinedClass _interface(String name) throws JClassAlreadyExistsException { return _interface(JMod.PUBLIC, name); }
@Override public void propertyField(JFieldVar field, JDefinedClass clazz, String propertyName, JsonNode propertyNode) { super.propertyField(field, clazz, propertyName, propertyNode); if (propertyNode.hasNonNull(IS_INTERFACE_FIELD)) { field.annotate(JsonUnwrapped.class); // todo: fix me, this won't work if a type has several fields using interfaces String interfaceFQN = propertyNode.get(JAVA_TYPE_FIELD).asText(); // create interface if we haven't done it yet try { final JDefinedClass fieldInterface = clazz._interface(interfaceFQN.substring(interfaceFQN.lastIndexOf('.') + 1)); fieldInterface._extends(Serializable.class); } catch (JClassAlreadyExistsException e) { throw new RuntimeException(e); } annotateIfNotDone(clazz, ClassWithInterfaceFieldsDeserializer.class); } }