@Override
    protected void setColumns(CmsListMetadata metadata) {

        // enforce re-invocation of this method because columns are varying and must not be cached:
        metadata.setVolatile(true);

        // add column for icon
        CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON);
        iconCol.setName(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_ICON_NAME_0));
        iconCol.setHelpText(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_ICON_HELP_0));
        iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT);
        iconCol.setWidth("16");
        iconCol.setSorteable(false);
        metadata.addColumn(iconCol);
        iconCol.setPrintable(true);

        // add column for invisible ID (needed for sorting to show siblings below each other:
        CmsListColumnDefinition idCol = new CmsListColumnDefinition(LIST_COLUMN_ID);
        idCol.setName(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_ID_NAME_0));
        idCol.setHelpText(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_ID_HELP_0));
        idCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT);
        idCol.setSorteable(false);
        idCol.setVisible(false);
        metadata.addColumn(idCol);
        idCol.setPrintable(true);

        // add column for name
        CmsListColumnDefinition nameCol = new CmsListColumnDefinition(LIST_COLUMN_PATH);
        nameCol.setName(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_PATH_NAME_0));
        nameCol.setHelpText(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_PATH_HELP_0));
        nameCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT);
        nameCol.setSorteable(false);
        metadata.addColumn(nameCol);
        nameCol.setPrintable(true);

        // add columns for properties:
        CmsListColumnDefinition propCol;
        for (String property : m_props) {
            propCol = new CmsListColumnDefinition(getPropertyColumnID(property));
            propCol.setName(
                Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_PROPERTY_NAME_1, new Object[] {property}));
            propCol.setHelpText(Messages.get().container(Messages.GUI_LIST_PROPERTYVIEW_COL_PROPERTY_HELP_0));
            propCol.setAlign(CmsListColumnAlignEnum.ALIGN_LEFT);
            propCol.setSorteable(false);
            metadata.addColumn(propCol);
            propCol.setPrintable(true);
        }

    }
@ Override protected void setColumns ( CmsListMetadata metadata ) { metadata . setVolatile ( true ) ; CmsListColumnDefinition iconCol = new CmsListColumnDefinition ( LIST_COLUMN_ICON ) ; iconCol . setName ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_ICON_NAME_0 ) ) ; iconCol . setHelpText ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_ICON_HELP_0 ) ) ; iconCol . setAlign ( CmsListColumnAlignEnum . ALIGN_LEFT ) ; iconCol . setWidth ( "16" ) ; iconCol . setSorteable ( false ) ; metadata . addColumn ( iconCol ) ; iconCol . setPrintable ( true ) ; CmsListColumnDefinition idCol = new CmsListColumnDefinition ( LIST_COLUMN_ID ) ; idCol . setName ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_ID_NAME_0 ) ) ; idCol . setHelpText ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_ID_HELP_0 ) ) ; idCol . setAlign ( CmsListColumnAlignEnum . ALIGN_LEFT ) ; idCol . setSorteable ( false ) ; idCol . setVisible ( false ) ; metadata . addColumn ( idCol ) ; idCol . setPrintable ( true ) ; CmsListColumnDefinition nameCol = new CmsListColumnDefinition ( LIST_COLUMN_PATH ) ; nameCol . setName ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_PATH_NAME_0 ) ) ; nameCol . setHelpText ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_PATH_HELP_0 ) ) ; nameCol . setAlign ( CmsListColumnAlignEnum . ALIGN_LEFT ) ; nameCol . setSorteable ( false ) ; metadata . addColumn ( nameCol ) ; nameCol . setPrintable ( true ) ; CmsListColumnDefinition propCol ; for ( String property : m_props ) { propCol = new CmsListColumnDefinition ( getPropertyColumnID ( property ) ) ; propCol . setName ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_PROPERTY_NAME_1 , new Object [ ] { property } ) ) ; propCol . setHelpText ( Messages . get ( ) . container ( Messages . GUI_LIST_PROPERTYVIEW_COL_PROPERTY_HELP_0 ) ) ; propCol . setAlign ( CmsListColumnAlignEnum . ALIGN_LEFT ) ; propCol . setSorteable ( false ) ; metadata . addColumn ( propCol ) ; propCol . setPrintable ( true ) ; } }
@see org.opencms.workplace.list.A_CmsListDialog#setColumns(org.opencms.workplace.list.CmsListMetadata)