Java Examples for io.vertx.codegen.annotations.ModuleGen
The following java examples will help you to understand the usage of io.vertx.codegen.annotations.ModuleGen. These source code samples are taken from different open source projects.
Example 1
| Project: vertx-codegen-master File: CodeGen.java View source code |
public ModuleModel getModuleModel(String modulePackage) {
PackageElement element = modules.get(modulePackage);
ModuleGen annotation = element.getAnnotation(ModuleGen.class);
String moduleName = annotation.name();
if (moduleName.isEmpty()) {
throw new GenException(element, "A module name cannot be empty");
}
try {
Case.KEBAB.parse(moduleName);
} catch (IllegalArgumentException e) {
throw new GenException(element, "Module name '" + moduleName + "' does not follow the snake case format (dash separated name)");
}
String groupPackage = annotation.groupPackage();
if (groupPackage.equals("")) {
groupPackage = modulePackage;
} else if (!modulePackage.startsWith(groupPackage)) {
throw new GenException(element, "A module package (" + modulePackage + ") must be prefixed by the group package (" + groupPackage + ")");
}
try {
Case.QUALIFIED.parse(groupPackage);
} catch (Exception e) {
throw new GenException(element, "Invalid group package name " + groupPackage);
}
ModuleInfo info = new ModuleInfo(modulePackage, moduleName, groupPackage);
return new ModuleModel(element, info);
}