package com.megatim.fdxconvert.views.jsonstructure; import com.megatim.dynamicjsonparser.enums.TypeDonnee; import com.megatim.fdxconvert.pojo.Delimiteur; import com.megatim.fdxconvert.viewmodel.JsonStructureViewModel; import java.util.List; import java.util.stream.Collectors; public class DefaultNestedJsonStructure implements NestedJsonStructure { private final JsonStructureViewModel viewModel; public DefaultNestedJsonStructure(JsonStructureViewModel viewModel) { this.viewModel = viewModel; } @Override public String name() { return viewModel.nameProperty().get(); } @Override public TypeDonnee typeDonnee() { return viewModel.typeProperty().get(); } @Override public String format() { return viewModel.formatProperty().get(); } @Override public Delimiteur delimiteur() { return viewModel.delimitorProperty().get(); } @Override public int taille() { return viewModel.tailleProperty().get(); } @Override public boolean isRequired() { return viewModel.requiredProperty().get(); } @Override public boolean isCollection() { return viewModel.collectionProperty().get(); } @Override public List children() { return viewModel.getChildren().stream().map(DefaultNestedJsonStructure::new).collect(Collectors.toList()); } }