Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

/*
 * Created on 31/03/2005
 */
package DMS;

import org.w3c.dom.Node;
import java.util.Vector;

/**
 * @author mtayler
 */
public class columnList {

        private Vector columnArray;
        private Vector hiddenColumnArray;
        private Vector visibleColumnArray;

        public columnList(Node root) {
                columnArray = new Vector();
                hiddenColumnArray = new Vector();
                visibleColumnArray = new Vector();
                
                parseRoot(root);                
        }
        
        private void parseRoot(Node root) {
                Vector dsVector = XMLParser.findNodeList(root,"column");
                
                for (int i=0;i<dsVector.size();i++) {
                        Node node=(Node)dsVector.get(i);                        
                        columnItem column = new columnItem(node);
                        columnArray.add(column);
                        
                        if (column.isHideField()) hiddenColumnArray.add(column);
                        else visibleColumnArray.add(column);                    
                }
                        
        }
        
        public String[] getColumnNames(columnItem[] cols) {
                Vector colNames = new Vector();
                for (int i=0;i<columnArray.size();i++) 
                        colNames.add(cols[i].getName());
                
                return (String[])colNames.toArray(new String[0]);
        }

        public String[] getColumnNames() {
                return getColumnNames(getColumns());
        }
        
        public String[] getHiddenColumnNames() {
                return getColumnNames(getHiddenColumns());
        }

        public String[] getVisibleColumnNames() {
                return getColumnNames(getVisibleColumns());             
        }
        
        public columnItem[] getColumns() {
                return (columnItem[])columnArray.toArray(new columnItem[0]);
        }       

        public columnItem[] getHiddenColumns() {
                return (columnItem[])hiddenColumnArray.toArray(new columnItem[0]);
        }       

        public columnItem[] getVisibleColumns() {
                return (columnItem[])visibleColumnArray.toArray(new columnItem[0]);
        }       
                
        public columnItem getColumnByName(String name) {
                String[] cols = getColumnNames();
                
                for (int i=0;i<cols.length;i++) {
                        if (cols[i]!=null && cols[i].equals(name)) {
                                return (columnItem)columnArray.get(i);
                        }
                }               
                return null;
        }
                
        public boolean hasHiddenColumns() {     
                return hiddenColumnArray.size()>0;
        }       


}