Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright [2013] [www.rapidpm.org / Sven Ruppert (sven.ruppert@rapidpm.org)]
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
  *    Unless required by applicable law or agreed to in writing, software
  *    distributed under the License is distributed on an "AS IS" BASIS,
  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
 
 package org.rapidpm.data.table;
 
 import java.util.Date;
 import java.util.List;
 
Sven Ruppert - www.svenruppert.de

Author(s):
Sven Ruppert
Version:
0.1

This Source Code is part of the www.svenruppert.de project. please contact sven.ruppert@me.com
Since:
28.03.2010 Time: 20:03:24

BeispielCode: final TableCreator creator = new TableCreator(); //refac verwende TableCreatorExecuter creator.createNewTableInstance(); creator.addNextColInfo(TEST_COL01, String.class); creator.addNextColInfo(TEST_COL02, String.class);

creator.addNewRow();

creator.addNextCell(TEST_COL01, CellTypeEnum.RawData, "TestString f TestCol1 row 1", "testLabel"); creator.addNextCell(TEST_COL02, CellTypeEnum.RawData, "TestString f TestCol2 row 1", "testLabel");

creator.addNewRow(); creator.addNextCell(TEST_COL01, CellTypeEnum.RawData, "TestString f TestCol1 row 2", "testLabel"); creator.addNextCell(TEST_COL02, CellTypeEnum.RawData, "TestString f TestCol2 row 2", "testLabel");

final Table table = creator.getTable(); table.reorderCellsInAllRows();
 
 
 public class TableCreator<T extends BaseCellFactory> {
     private static final Logger logger = Logger.getLogger(TableCreator.class);
 
     //    private BaseCellFactory cellFactory = new BaseCellFactory();
     private T cellFactory;
 
     public TableCreator(T cellFactory) {
         this. = cellFactory;
     }
 
 
     private int colNr = 0;
     private Table table;
 
     private Row activeRow = null;
     private boolean rowValid = true;
 
 
 
     public void createNewTableInstance() {
          = new TableImpl();
         .setTableName("RapidPMTable_" + .format(new Date()));
          = 0;
     }
 
 //    private void connectColInfo(final String colName, final Cell newCell){
 //        final Map<String, ColumnInformation> colInfoMap = table.getColInfoMap();
 //        if(colInfoMap.containsKey(colName)){
 //            final ColumnInformation information = colInfoMap.get(colName);
 //            newCell.setColInfo(information);
 //            information.getZellen().add(newCell);
 //            activeRow.addCell(newCell);
 //        }else{
 //            if(logger.isDebugEnabled()){
 //                logger.debug("Angegebene Col nicht definiert " + colName);
//            }
//        }
//    }
    private void connectColInfo(final String colNamefinal Cell newCell) {
        if (.hasColumn(colName)) {
            final ColumnInformation columnInformation = .getColumnInformationFor(colName);
            final List<CellValidator<?>> cellValidatorList = columnInformation.getCellValidatorList();
            for (final CellValidator<?> cellValidator : cellValidatorList) {
                if (!cellValidator.validate(newCell)) {
                    .error("Zelle ist nicht g├╝ltig: " + cellValidator.getErrorCause());
                     = false;
                    return;
                }
            }
            newCell.setColInfo(columnInformation);
            columnInformation.getZellen().add(newCell);
            .addCell(newCell);
        } else {
            if (.isDebugEnabled()) {
                .debug("Angegebene Col nicht definiert " + colName);
            }
        }
    }
    public <C> void addNextCell(final String colNamefinal CellTypeEnum cellTypefinal C valuefinal String valueContextfinal String cellLabel) {
        if (value != null) {
            final Cell<C> newCell = .createNewCell(valuevalueContext);
            newCell.setCellType(cellType);
            newCell.setLabel(cellLabel);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (1) Value == null ");
        }
    }
    public <C> void addNextCellRawData(final String colNamefinal C value) {
        if (value != null) {
            final Cell<C> newCell = .createNewCell(value);
            newCell.setCellType(.);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (2) Value == null ");
        }
    }
    @Deprecated
    public <C> void addNextCellRawLink(final String colNamefinal C valuefinal String cellLabel) {
        if (value != null) {
            final Cell<C> newCell = .createNewCell(value);
            newCell.setCellType(.);
            newCell.setLabel(cellLabel);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (3) Value == null ");
        }
    }
    @Deprecated
    public <C> void addNextCellEventLink(final String colNamefinal C valuefinal String valueContextfinal String cellLabel) {
        if (value != null) {
            final Cell<C> newCell = .createNewCell(valuevalueContext);
            newCell.setCellType(.);
            newCell.setLabel(cellLabel);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (4) Value == null ");
        }
    }
    @Deprecated
    public <C> void addNextCellPageLink(final String colNamefinal C ctxPathfinal String valueContextfinal String cellLabel) {
        if (ctxPath != null) {
            final Cell<C> newCell = .createNewCell(ctxPathvalueContext);
            newCell.setCellType(.);
            newCell.setLabel(cellLabel);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (5) Value == null ");
        }
    }
    @Deprecated
    public <C> void addNextCellPageLink(final String colNamefinal Class pageClassfinal String valueContextfinal String cellLabel) {
        if (pageClass != null) {
            final String standardBasePagePkg = pageClass.getPackage().getName().replace(".""/") + "/";
            final String pageClassPkg = pageClass.getClass().getPackage().getName().replace(".""/") + "/";
            final String pageCtxPath = pageClassPkg.replace(standardBasePagePkg"");
            final Cell<StringnewCell = .createNewCell(pageCtxPathvalueContext);
            newCell.setCellType(.);
            newCell.setLabel(cellLabel);
            connectColInfo(colNamenewCell);
        } else {
            .warn("addNextCell (6) Value == null ");
        }
    }
    //    private void addNullValue(final String colName){
    //        addNextCellRawData(colName, "");
    //
    //    }
    public void addNewRow() {
        final Row newRow = new RowImpl();
         = newRow;
         = true;
        .addRow(newRow);
//        final Collection<ColumnInformation> infoList = table.getColumnInfoList();
//        for(final ColumnInformation information : infoList){
//            final Class aClass = information.getCellValueClass();
//            try{
//                addNextCell(information.getSpaltenName(), CellTypeEnum.RawData, aClass.newInstance(), "", "");
//            }catch(InstantiationException e){
//                logger.error(e);
//            }catch(IllegalAccessException e){
//                logger.error(e);
//            }
//        }
    }
    public boolean removeActiveRow() {
        if ( == null) {
            return false;
        }
        .removeRow(.getRowNr());
         = null;
        return true;
    }

    
Erzeugt eine neue ColumnInformation und legt sie in die interne Registry unter dem symbolischen Namen.

Parameters:
colName Spaltenname
clazz Typ der Spalte
flags Spalteneigenschaften
    public void addNextColInfo(final String colNamefinal Class clazzfinal EnumSet<ColumnPropertyflags) {
        ++;
        final ColumnInformation columnInformation = createColumnInformation(colNameclazzflags);
        .setColInfo(colNamecolumnInformation);
    }
    public void addNextColInfo(final String colNamefinal Class clazzfinal CellValueFormatter cellValueFormatterfinal EnumSet<ColumnPropertyflags) {
        ++;
        final ColumnInformation columnInformation = createColumnInformation(colNameclazzflags);
        columnInformation.setFormatter(cellValueFormatter);
        .setColInfo(colNamecolumnInformation);
    }
    private ColumnInformation createColumnInformation(String colNameClass clazzEnumSet<ColumnPropertyflags) {
        final ColumnInformation columnInformation = ColumnInformation.newInstance(colNameclazz);
        columnInformation.setSortable(flags.contains(.));
        columnInformation.setEditable(flags.contains(.));
        columnInformation.setExportable(!flags.contains(.));
        columnInformation.setSortValue(!flags.contains(.));
        columnInformation.setVisible(!flags.contains(.));
        return columnInformation;
    }

    
Erzeugt eine neue ColumnInformation und legt sie in die interne Registry unter dem symbolischen Namen.

Parameters:
colName Spaltenname
clazz Typ der Spalte
flags Spalteneigenschaften
    public void addNextColInfo(final String colNamefinal Class clazzfinal ColumnProperty... flags) {
        final EnumSet<ColumnPropertycolumnFlags = EnumSet.noneOf(ColumnProperty.class);
        columnFlags.addAll(Arrays.asList(flags));
        addNextColInfo(colNameclazzcolumnFlags);
    }
    public void addNextColInfo(final String colNamefinal Class clazzfinal CellValueFormatter cellValueFormatterfinal ColumnProperty... flags) {
        final EnumSet<ColumnPropertycolumnFlags = EnumSet.noneOf(ColumnProperty.class);
        columnFlags.addAll(Arrays.asList(flags));
        addNextColInfo(colNameclazzcolumnFlags);
    }

    
Erzeugt eine neue ColumnInformation und legt sie in die interne Registry unter dem symbolischen Namen.

Deprecated:
Parameters:
colName
clazz
    public void addNextColInfo(final String colNamefinal Class clazzfinal boolean sortablefinal boolean exportable) {
        ++;
        final ColumnInformation columnInformation = ColumnInformation.newInstance(colNameclazz);
        columnInformation.setSortable(sortable);
        columnInformation.setExportable(exportable);
        .setColInfo(colNamecolumnInformation);
    }

    
Erzeugt eine neue ColumnInformation und legt sie in die interne Registry unter dem symbolischen Namen.

Deprecated:
Parameters:
colName
clazz
    public void addNextColInfo(final String colNamefinal Class clazzfinal boolean sortablefinal boolean exportablefinal boolean sortValue) {
        ++;
        final ColumnInformation columnInformation = ColumnInformation.newInstance(colNameclazz);
        columnInformation.setSortable(sortable);
        columnInformation.setExportable(exportable);
        columnInformation.setSortValue(sortValue);
        .setColInfo(colNamecolumnInformation);
    }
    public void addCellValidator(final String colNamefinal CellValidator<?> cellValidator) {
        if (.hasColumn(colName)) {
            final ColumnInformation ci = .getColumnInformationFor(colName);
            ci.addCellValidator(cellValidator);
        } else {
            if (.isDebugEnabled()) {
                .debug("Angegebene Col nicht definiert " + colName);
            }
        }
    }
    public void addRowValidator(final RowValidator rowValidator) {
        .addRowValidator(rowValidator);
    }
    public boolean validateRow() {
        if () {
            for (final RowValidator rowValidator : .getRowValidatorList()) {
                if (rowValidator.validate()) {
                    //
                } else {
                     = false;
                    if (.isDebugEnabled()) {
                        .debug("Row validation failed: " + rowValidator.getErrorCause());
                    }
                    break;
                }
            }
        } else {
            if (.isDebugEnabled()) {
                .debug("Row already invalid!");
            }
        }
        return ;
    }
    public boolean isRowValid() {
        return ;
    }
    public Table getTable() {
        return ;
    }
New to GrepCode? Check out our FAQ X