private void visitClassRefBuilder(ClassRefBuilder builder) { builder.withFullyQualifiedName(builder.getFullyQualifiedName().replace(target, replacement)); if (builder.getDefinition() != null && builder.getDefinition().getPackageName() != null && builder.getDefinition().getPackageName().equals(target)) { builder.editDefinition().withPackageName(replacement).endDefinition(); } List<TypeRef> updatedArguments = new ArrayList<TypeRef>(); for (TypeRef arg : builder.getArguments()) { if (arg instanceof ClassRef && ((ClassRef) arg).getDefinition().getPackageName().equals(target)) { updatedArguments.add(new ClassRefBuilder((ClassRef) arg).editDefinition().withPackageName(replacement).endDefinition().build()); } else { updatedArguments.add(arg); } } builder.withArguments(updatedArguments); }
public ClassRefBuilder(ClassRef instance, Boolean validationEnabled) { this.fluent = this; this.withDefinition(instance.getDefinition()); this.withFullyQualifiedName(instance.getFullyQualifiedName()); this.withDimensions(instance.getDimensions()); this.withArguments(instance.getArguments()); this.withAttributes(instance.getAttributes()); this.validationEnabled = validationEnabled; }