public static FileHelper of(final Structure structure, final FileRole role, final IGenTemplateContext context, final Config config) {
FileHelper _xblockexpression = null;
{
final FileHelper helper = new FileHelper(context, config);
EObject _eContainer = structure.eContainer();
final DataModel dataModel = ((DataModel) _eContainer);
if (role != null) {
switch (role) {
case INTERFACE:
helper.inNamespace(NamespaceComponent.ROOT, dataModel).inFolder(FolderComponent.ROOT, FolderComponent.MODELS, dataModel).using(UsingItem.SYSTEM, UsingItem.JSON_CONVERTERS, UsingItem.GEN_ATTR, UsingItem.COLLECTIONS,
UsingItem.JSON, UsingItem.JSON_SERIALIZATION);
break;
case POCOS:
helper.inNamespace(NamespaceComponent.ROOT, dataModel).inFolder(FolderComponent.ROOT, FolderComponent.MODELS, dataModel, FolderComponent.POCOS).using(UsingItem.SYSTEM, UsingItem.GEN_ATTR, UsingItem.COLLECTIONS, UsingItem.REPREZEN);
break;
default:
break;
}
} else {
}
_xblockexpression = helper;
}
return _xblockexpression;
}