Datasets criação

Em todos os exemplos de uso de datasets avançandos, temos sempre a exibição de uma função/método


function createDataset(fields,constraints,sortFields){...}

Nos códigos javascript, temos sempre também o exemplo de


var dataset = DatasetFactory.getDataset(...){...};

mas nunca uma instrução do tipo


var datasetCriado = DatasetFactory.createDataset(...){...};

Isto é, se não for mesmo possível utilizar esta construção, porque a função tem os argumentos fields,constraints,sortFields - como se usa normalmente quando se chama uma função passando-lhe valores os quais serão usados dentro dela?

Boa tarde Mausim, O método getDataset() pertence à classe DatasetFactory. O "CreateDataset" é apenas a nomenclatura padrão utilizada para criação de um novo dataset dentro do fluig. Com isso o "compilador" do fluig consegue identificar que aqui é um dataset e quando utilizada a classe DatasetFactory ele fica disponível.

Os parâmetros que são passados para o CreateDataset são utilizados de forma diferente. Recomendo que você veja esse link:

https://tdn.totvs.com/display/public/fluig/Acessando+Datasets

Abraço!

Obrigado, @Kanaã, mas eu não vi onde foi empregado o createDataset na documentação passada.

Mausim, existe um conjunto de soluções na literatura da computação chamado "Padrões de Projetos", são soluções que são utilizadas para problemas comuns em determinadas áreas, alguns melhores para desenvolvimento de jogos, sistemas e para uso na vida real também. Digamos que é a melhor prática de todas na computação. O Fluig implementou essa solução a Factory (Fabrica de Objetos) para padronizar o seu uso conforme literatura. Segue uma documentação que pode te ajudar a entender melhor essa solução:

https://www.devmedia.com.br/padrao-de-projeto-factory-method-em-java/26348

Obrigado por sua resposta @Alef, mas minha pergunta principal ficou sem resposta: para que os argumentos, se não são usados?

Mausim, não entendi seu questionamento. Todos os argumentos são utilizados. Poderia ser mais claro, por favor?

O método getDataset, os arrays de constraints, fields e sortFields é o que são passados no createDataset do seu dataset customizado. O que acontece é a proteção do método createDataset, fazendo com que somente a getDataset é que o chame.

Caro @Alef, então,magicamente, em segundo-plano, o createDataset entra em ação toda a vez que uso getDataset? É algo realmente ‘oculto’, porque é um método sendo chamado por outro método. Se é isto, é realmente mais um ‘mistério’ das entranhas do Fluig. E se é assim, que seja.Muito obrigado.

Sim, Mausim, é exatamente isso e é assim que o Pattern Factory funciona. Disponha!