Skip to content

MarcGuiot/globs-view

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

With this library, is is possible to query Globs using breakdown and output. It is used to expose an endpoint to output a dictionnary and a view (hierarchical tree or flat like a csv)

Programatiacly:

        ViewEngine viewEngine = new ViewEngineImpl();

        Glob dictionary = viewEngine.createDictionary(ViewType1.TYPE);

        MutableGlob viewRequest = ViewRequestType.TYPE.instantiate();
        Glob[] breakdowns = dictionary.get(DictionaryType.breakdowns);
        viewRequest.set(ViewRequestType.breakdowns, new Glob[]{
                br("Name1", breakdowns),
                br("NameSub2", breakdowns),
                br("Name2", breakdowns),
                br("NameSub1", breakdowns)
        });
        viewRequest.set(ViewRequestType.output, new Glob[]{
                ViewOutput.TYPE.instantiate()
                        .set(ViewOutput.uniqueName, br("qty", breakdowns).get(ViewBreakdown.uniqueName))
                        .set(ViewOutput.name, "quantity")
        });
        ViewBuilder viewBuilder = viewEngine.buildView(dictionary, viewRequest);

Given a list a ViewType1 glob it will produce

                        {
                          "name": "",
                          "nodeName": "root",
                          "__children__": [
                            {
                              "name": "n1",
                              "nodeName": "Name1",
                              "__children__": [
                                {
                                  "name": "sub21",
                                  "nodeName": "SUB2.NameSub2",
                                  "__children__": [
                                    {
                                      "name": "n2",
                                      "nodeName": "Name2",
                                      "__children__": [
                                        {
                                          "name": "subN1",
                                          "nodeName": "SUB1.NameSub1",
                                          "output": {
                                            "quantity": 1.0
                                          }
                                        }
                                      ],
                                      "output": {
                                        "quantity": 1.0
                                      }
                                    }
                                  ],
                                  "output": {
                                    "quantity": 1.0
                                  }
                                },
                                {
                                  "name": "sub22",
                                  "nodeName": "SUB2.NameSub2",
                                  "__children__": [
                                    {
....

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages