final ImmutableProject.Builder projectBuilder, final ImmutableUserPath.Builder userPathBuilder) { final ImmutableContainerForMulti.Builder initContainerBuilder = ImmutableContainerForMulti.builder().name(NAME_INIT).tag(TAG_INIT); projectFileReader.getInits().stream().map(containersByName::get).filter(Objects::nonNull).forEach(initContainerBuilder::addChilds); final ImmutableContainerForMulti.Builder actionsContainerBuilder = ImmutableContainerForMulti.builder().name(NAME_ACTIONS).tag(TAG_ACTIONS); if (projectFileReader.getActions().isEmpty()) { containersByName.values().stream() final ImmutableContainerForMulti.Builder endContainerBuilder = ImmutableContainerForMulti.builder().name(NAME_END).tag(TAG_END); projectFileReader.getEnds().stream().map(containersByName::get).filter(Objects::nonNull).forEach(endContainerBuilder::addChilds); final ImmutableContainerForMulti init = initContainerBuilder.build(); final ImmutableContainerForMulti actions = actionsContainerBuilder.build(); final ImmutableContainerForMulti end = endContainerBuilder.build(); userPathBuilder.initContainer(ImmutableContainerForMulti.builder().name(NAME_INIT).tag(TAG_INIT).addAllChilds(childContainer.getChilds()).build()); } else{ userPathBuilder.initContainer(init); userPathBuilder.actionsContainer(ImmutableContainerForMulti.builder().name(NAME_ACTIONS).tag(TAG_ACTIONS).addAllChilds(childContainer.getChilds()).build()); } else{ userPathBuilder.actionsContainer(actions); userPathBuilder.endContainer(ImmutableContainerForMulti.builder().name(NAME_END).tag(TAG_END).addAllChilds(childContainer.getChilds()).build()); } else{ userPathBuilder.endContainer(end);
private static void addChild(final Object container, final Element element) { if (container instanceof ImmutableContainer.Builder) { ((ImmutableContainer.Builder) container).addChilds(element); return; } else if (container instanceof ImmutableContainerForMulti.Builder) { ((ImmutableContainerForMulti.Builder) container).addChilds(element); return; } ((Container) container).getChilds().add(element); }
/** * Builds a new {@link ImmutableContainerForMulti ImmutableContainerForMulti}. * @return An immutable instance of ContainerForMulti * @throws java.lang.IllegalStateException if any required attributes are missing */ public ImmutableContainerForMulti build() { if (initBits != 0) { throw new IllegalStateException(formatRequiredAttributesMessage()); } return new ImmutableContainerForMulti(this); }
/** * @param json A JSON-bindable data structure * @return An immutable value type * @deprecated Do not use this method directly, it exists only for the <em>Jackson</em>-binding infrastructure */ @Deprecated @JsonCreator(mode = JsonCreator.Mode.DELEGATING) static ImmutableContainerForMulti fromJson(Json json) { ImmutableContainerForMulti.Builder builder = ImmutableContainerForMulti.builder(); if (json.tag != null) { builder.tag(json.tag); } if (json.childs != null) { builder.addAllChilds(json.childs); } if (json.isSharedIsSet) { builder.isShared(json.isShared); } if (json.name != null) { builder.name(json.name); } if (json.description != null) { builder.description(json.description); } return builder.build(); }
private void from(Object object) { if (object instanceof ShareableElement) { ShareableElement instance = (ShareableElement) object; isShared(instance.isShared()); } if (object instanceof IContainer) { IContainer instance = (IContainer) object; addAllChilds(instance.getChilds()); } if (object instanceof Element) { Element instance = (Element) object; name(instance.getName()); Optional<String> descriptionOptional = instance.getDescription(); if (descriptionOptional.isPresent()) { description(descriptionOptional); } } if (object instanceof ContainerForMulti) { ContainerForMulti instance = (ContainerForMulti) object; tag(instance.getTag()); } }
/** * Creates an immutable copy of a {@link ContainerForMulti} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable ContainerForMulti instance */ public static ImmutableContainerForMulti copyOf(ContainerForMulti instance) { if (instance instanceof ImmutableContainerForMulti) { return (ImmutableContainerForMulti) instance; } return ImmutableContainerForMulti.builder() .from(instance) .build(); }
/** * Build the container if the parameter is an ImmutableContainer.Builder or return directly the MutableContainer. */ public static IContainer toContainer(final Object current) { if (current instanceof ImmutableContainer.Builder) { return ((ImmutableContainer.Builder) current).build(); } else if (current instanceof ImmutableContainerForMulti.Builder) { return ((ImmutableContainerForMulti.Builder) current).build(); } return (IContainer) current; }
/** * Sets or replaces all elements for {@link ContainerForMulti#getChilds() childs} list. * @param elements An iterable of childs elements * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue @JsonProperty("childs") public final Builder childs(Iterable<? extends Element> elements) { this.childs = ImmutableList.builder(); return addAllChilds(elements); }
/** * Fill a builder with attribute values from the provided {@code com.neotys.neoload.model.repository.IContainer} instance. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue public final Builder from(IContainer instance) { Objects.requireNonNull(instance, "instance"); from((Object) instance); return this; }
@Override public List<Element> visitStatement(StatementContext ctx) { super.visitStatement(ctx); return builder.build().getChilds(); }
/** * Fill a builder with attribute values from the provided {@code com.neotys.neoload.model.repository.ContainerForMulti} instance. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue public final Builder from(ContainerForMulti instance) { Objects.requireNonNull(instance, "instance"); from((Object) instance); return this; }
/** * Creates a builder for {@link ImmutableContainerForMulti ImmutableContainerForMulti}. * @return A new ImmutableContainerForMulti builder */ public static ImmutableContainerForMulti.Builder builder() { return new ImmutableContainerForMulti.Builder(); }
/** * Fill a builder with attribute values from the provided {@code com.neotys.neoload.model.core.ShareableElement} instance. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue public final Builder from(ShareableElement instance) { Objects.requireNonNull(instance, "instance"); from((Object) instance); return this; }
private ContainerForMulti readThen(SelectionstatementContext selectionstatementContext) { final ImmutableContainerForMulti.Builder builder = ImmutableContainerForMulti.builder().name(NAME_THEN).tag(TAG_THEN); selectionstatementContext.getChild(4).accept(new StatementContextVisitor(visitor, builder)); return builder.build(); }
private ContainerForMulti readElse(SelectionstatementContext selectionstatementContext) { final List<Element> elseElements = new ArrayList<>(); final ImmutableContainerForMulti.Builder builder = ImmutableContainerForMulti.builder().name(NAME_ELSE).tag(TAG_ELSE); if(selectionstatementContext.getChildCount() > 6){ elseElements.addAll(selectionstatementContext.getChild(6).accept(new StatementContextVisitor(visitor, builder))); } return builder.build(); }
/** * Fill a builder with attribute values from the provided {@code com.neotys.neoload.model.core.Element} instance. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue public final Builder from(Element instance) { Objects.requireNonNull(instance, "instance"); from((Object) instance); return this; }