private BiMap<String, String> getEnumMapping(final Entry<GeneratedType, Object> typeWithSchema) { final TypeDefinition<?> typeDef = (TypeDefinition<?>) typeWithSchema.getValue(); final EnumerationType enumType; if(typeDef instanceof ExtendedType) { enumType = (EnumerationType) ((ExtendedType) typeDef).getBaseType(); } else { Preconditions.checkArgument(typeDef instanceof EnumerationType); enumType = (EnumerationType) typeDef; } final HashBiMap<String, String> mappedEnums = HashBiMap.create(); for (final EnumTypeDefinition.EnumPair enumPair : enumType.getValues()) { mappedEnums.put(enumPair.getName(), BindingMapping.getClassName(enumPair.getName())); } // TODO cache these maps for future use return mappedEnums; }
/** * Converts the pattern constraints from <code>typedef</code> to the list of * the strings which represents these constraints. * * @param typedef * extended type in which are the pattern constraints sought * @return list of strings which represents the constraint patterns * @throws IllegalArgumentException * if <code>typedef</code> equals null * */ private List<String> resolveRegExpressionsFromTypedef(final ExtendedType typedef) { final List<String> regExps = new ArrayList<String>(); Preconditions.checkArgument(typedef != null, "typedef can't be null"); final TypeDefinition<?> strTypeDef = baseTypeDefForExtendedType(typedef); if (strTypeDef instanceof StringType) { final List<PatternConstraint> patternConstraints = typedef.getPatternConstraints(); if (!patternConstraints.isEmpty()) { String regEx; String modifiedRegEx; for (PatternConstraint patternConstraint : patternConstraints) { regEx = patternConstraint.getRegularExpression(); modifiedRegEx = StringEscapeUtils.escapeJava(regEx); regExps.add(modifiedRegEx); } } } return regExps; }
final String unionTypeName = unionSubtype.getQName().getLocalName(); final Type genTO = findGenTO(unionTypeName, unionSubtype); if (genTO != null) {
QName typeQName = type.getQName(); Module module = null; Set<Module> modules = schemaContext.findModuleByNamespace(typeQName.getNamespace());
final ExtendedType extUnionType = (ExtendedType) nodeFrom.getWrappedType(); final UnionTypeDefinition unionType = (UnionTypeDefinition) extUnionType.getBaseType();
final String innerTypeDef = innerExtendedType.getQName().getLocalName(); final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl(basePackageName, classTypedefName);