The Navigation and Dimension classes have methods for getting descriptor dimensions and their dimension values.
To retrieve descriptor dimension values:
Option | Description |
---|---|
Java | Navigation.getDescriptorDimensions() method |
.NET | Navigation.DescriptorDimensions property |
Option | Description |
---|---|
Java | Navigation.getDescriptorDimGroups() method |
.NET | Navigation.DescriptorDimGroups property |
These calls return a list of dimension groups (a DimGroupList object) instead of a list of dimensions. Each dimension group then contains a list of one or more dimensions with descriptors.
If one of the descriptors is a hierarchical ancestor of another, the MDEX Engine consolidates descriptors into single dimensions. The only exception to this is when a dimension is marked for multi-select. When a dimension is marked for multi-select and or multi-select or, the consolidation is not made and each descriptor gets its own dimension object.
Option | Description |
---|---|
Dimension.getDescriptor() method (Java) and Dimension.Descriptor property (.NET) | Retrieve the dimension value that has been selected from this dimension. |
Dimension.getAncestors() method (Java) and Dimension.Ancestors property (.NET) | Retrieve a list of the ancestors of the descriptor of this
dimension.
Each member of this list is also a selected dimension value from the same dimension as the descriptor. The distinction between each member of this list and the descriptor is that each ancestor is a hierarchical ancestor to the descriptor by the dimension structure. These ancestors are ordered from parent to child. |
Navigation nav = ENEQueryResults.getNavigation(); // Get list of the dimensions with descriptors DimensionList dl = nav.getDescriptorDimensions(); // Loop through the list for (int I=0; I < dl.size(); I++) { // Get a dimension from the list Dimension d = (Dimension)dl.get(I); // Get the descriptor and then its name and ID DimVal desc = d.getDescriptor(); String descName = desc.getName(); long descId = desc.getId(); // Get list of descriptor’s ancestors and their info DimValList ancs = d.getAncestors(); for (int J=0; J < ancs.size(); J++) { DimVal anc = (DimVal)ancs.get(J); String ancName = anc.getName(); long ancId = anc.getId(); } }
Navigation nav = ENEQueryResults.Navigation; // Get list of the dimensions with descriptors DimensionList dl = nav.DescriptorDimensions; // Loop through the list for (int I=0; I < dl.Count; I++) { // Get a dimension from the list Dimension d = (Dimension)dl[I]; // Get the descriptor and then its name and ID DimVal desc = d.Descriptor; string descName = desc.getName(); long descId = desc.Id; // Get list of descriptor’s ancestors and their info DimValList ancs = d.Ancestors; for (int J=0; J < ancs.Count; J++) { DimVal anc = (DimVal)ancs[J]; String ancName = anc.Name; long ancId = anc.Id; } }
<table> <% Navigation nav = ENEQueryResults.getNavigation(); DimensionList dl = nav.getDescriptorDimensions(); for (int I=0; I < dl.size(); I++) { Dimension d = (Dimension)dl.get(I); %> <tr> <% DimValList ancs = d.getAncestors(); for (int J=0; J < ancs.size(); J++) { DimVal anc = (DimVal)ancs.get(J); %> <td><%= anc.getName() %> <% } DimVal desc = d.getDescriptor(); %> <td><%= desc.getName() %></td></tr> <% } %> </table>
<table> <% Navigation nav = ENEQueryResults.Navigation; DimensionList dl = nav.DescriptorDimensions; for (int I=0; I < dl.Count; I++) { Dimension d = (Dimension)dl[I]; %> <tr> <% DimValList ancs = d.Ancestors; for (int J=0; J < ancs.Count; J++) { DimVal anc = (DimVal)ancs[J]; %> <td><%= anc.Name %> <% } DimVal desc = d.Descriptor; %> <td><%= desc.Name %></td></tr> <% } %> </table>