final AnnotationTypeBuilder rc = getter.addAnnotation(clazz.getPackage().getName(), clazz.getSimpleName()); final String packageName = packageNameForGeneratedType(basePackageName, identity.getPath()); final String genTypeName = BindingMapping.getClassName(identity.getQName().getLocalName()); rc.addParameter("value", packageName + "." + genTypeName + ".class");
/** * Seeks for identity reference <code>idref</code> the JAVA <code>type</code>. * * <p> * <i>Example:<br /> * If identy which is referenced via <code>idref</code> has name <b>Idn</b> * then returning type is <b>{@code Class<? extends Idn>}</b></i> * * @param idref identityref type definition for which JAVA <code>Type</code> is sought * @return JAVA <code>Type</code> of the identity which is referenced through <code>idref</code> */ private Type provideTypeForIdentityref(final IdentityrefTypeDefinition idref) { final Collection<IdentitySchemaNode> identities = idref.getIdentities(); if (identities.size() > 1) { LOG.warn("Identity reference {} has multiple identities, using only the first one", idref); } final QName baseIdQName = identities.iterator().next().getQName(); final Module module = schemaContext.findModule(baseIdQName.getModule()).orElse(null); IdentitySchemaNode identity = null; for (IdentitySchemaNode id : module.getIdentities()) { if (id.getQName().equals(baseIdQName)) { identity = id; } } Preconditions.checkArgument(identity != null, "Target identity '" + baseIdQName + "' do not exists"); final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule()); final JavaTypeName identifier = JavaTypeName.create(BindingGeneratorUtil.packageNameForGeneratedType( basePackageName, identity.getPath()), BindingMapping.getClassName(identity.getQName())); return Types.classType(Types.wildcardTypeFor(identifier)); }
final String packageName = packageNameForGeneratedType(basePackageName, identity.getPath()); final String genTypeName = BindingMapping.getClassName(identity.getQName().getLocalName()); rc.addParameter("value", packageName + "." + genTypeName + ".class");
return; final String packageName = packageNameForGeneratedType(basePackageName, identity.getPath()); final String genTypeName = BindingMapping.getClassName(identity.getQName()); final GeneratedTOBuilderImpl newType = new GeneratedTOBuilderImpl(packageName, genTypeName); newType.setReference(identity.getReference()); newType.setModuleName(module.getName()); newType.setSchemaPath(identity.getPath().getPathFromRoot());
final String packageName = packageNameForGeneratedType(basePackageName, identity.getPath()); final String genTypeName = BindingMapping.getClassName(identity.getQName());