blob: 0d80d0c95134faf0aab6c516c96ada6bff6c6420 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.myfaces.trinidaddemo.email;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.apache.myfaces.trinidad.context.AccessibilityProfile;
/**
* Bean which provides preferences data
*
* @version 1.0
*/
public class PreferencesData
{
/**
* Branding type for "regular" branding, which includes the
* corporate brand, a large product brand, and global button
* icons.
*/
public static String REGULAR_BRANDING = "regular";
/**
* Branding type for "medium" branding, which includes the
* corporate brand, a smaller product brand, and no global
* button icons
*/
public static String MEDIUM_BRANDING = "medium";
/**
* Branding type for "small" branding, which includes the
* corporate brand, no product brand, and no global
* button icons
*/
public static String SMALL_BRANDING = "small";
/**
* Creates a PreferencesData object with default preferences
*/
public PreferencesData()
{
// need public accesibility mode constants declared in Trinidad!
_branding = REGULAR_BRANDING;
_rowsShown = _DEFAULT_ROWS_SHOWN;
_displayFolderTree = true;
_displaySenderColumn = true;
_displayDateColumn = true;
_displaySizeColumn = true;
_skinFamily = "suede";
_accessibilityMode = "default";
}
/**
* @todo Provide internationalized list.
*/
public List<SelectItem> getSkinFamilyItems()
{
return _SKIN_FAMILIES;
}
/**
* @todo Provide internationalized list.
*/
public List<SelectItem> getAccessibilityModeItems()
{
return _ACCESSIBILITY_MODES;
}
/**
* Returns the skin-family for the application.
*/
public String getSkinFamily()
{
return _skinFamily;
}
/**
* Returns the skin-family for the application.
*/
public void setSkinFamily(String skinFamily)
{
_skinFamily = skinFamily;
}
/**
* Returns the AccessibilityMode for this user
*/
public String getAccessibilityMode()
{
return _accessibilityMode;
}
/**
* Returns the AccessibilityProfile for this user.
*/
public AccessibilityProfile getAccessibilityProfile()
{
// For the moment, just use the default profile.
return AccessibilityProfile.getDefaultInstance();
}
/**
* Returns the branding type: REGULAR_BRANDING,
* MEDIUM_BRANDING or SMALL_BRANDING
*/
public String getBranding()
{
return _branding;
}
/**
* Returns the numbers of rows to display in the messages table.
*/
public int getRowsShown()
{
return _rowsShown;
}
/**
* Gets whether the SideBar with the folder tree is displayed
*/
public boolean getDisplayFolderTree()
{
return _displayFolderTree;
}
/**
* Sets whether the SideBar with the folder tree is displayed
*/
public void setDisplayFolderTree(boolean isDisplayed)
{
_displayFolderTree = isDisplayed;
}
/**
* Gets whether the sender column is displayed
*/
public boolean getDisplaySenderColumn()
{
return _displaySenderColumn;
}
/**
* Sets whether the sender column is displayed
*/
public void setDisplaySenderColumn(boolean isDisplayed)
{
_displaySenderColumn = isDisplayed;
}
/**
* Gets whether the date column is displayed
*/
public boolean getDisplayDateColumn()
{
return _displayDateColumn;
}
/**
* Sets whether the date column is displayed
*/
public void setDisplayDateColumn(boolean isDisplayed)
{
_displayDateColumn = isDisplayed;
}
/**
* Gets whether the size column is displayed
*/
public boolean getDisplaySizeColumn()
{
return _displaySizeColumn;
}
/**
* Sets whether the size column is displayed
*/
public void setDisplaySizeColumn(boolean isDisplayed)
{
_displaySizeColumn = isDisplayed;
}
/**
* Gets whether the user wants to preview the email message underneath
* the message list
*/
public boolean isPreviewMessageMode()
{
return _isPreviewMessageMode;
}
/**
* Sets whether the user wants to preview the email message underneath
* the message list
*/
public void setPreviewMessageMode(boolean enable)
{
_isPreviewMessageMode = enable;
}
/**
* Sets the AccessibilityMode for this user.
*/
public void setAccessibilityMode(String accessibilityMode)
{
_accessibilityMode = accessibilityMode;
}
/**
* Sets the branding. Must be one of: REGULAR_BRANDING,
* MEDIUM_BRANDING, or SMALL_BRANDING.
*/
public void setBranding(String branding)
{
// assert (REGULAR_BRANDING.equals(branding) ||
// MEDIUM_BRANDING.equals(branding) ||
// SMALL_BRANDING.equals(branding));
_branding = branding;
}
/**
* Sets the number of rows to show in the messages table.
*/
public void setRowsShown(int rowsShown)
{
// assert rowsShown > 0;
if (rowsShown > 0)
_rowsShown = rowsShown;
}
private String _accessibilityMode; // The accessibility mode
private String _branding; // The branding type
private String _skinFamily; // The skin-family
private int _rowsShown; // How many rows to show
private boolean _displayFolderTree;
private boolean _displaySenderColumn;
private boolean _displayDateColumn;
private boolean _displaySizeColumn;
private boolean _isPreviewMessageMode = false;
private static final int _DEFAULT_ROWS_SHOWN = 25;
private static final List<SelectItem> _ACCESSIBILITY_MODES = new ArrayList<SelectItem>();
static
{
_ACCESSIBILITY_MODES.add(new SelectItem("default", "Default"));
_ACCESSIBILITY_MODES.add(new SelectItem("inaccessible", "None"));
_ACCESSIBILITY_MODES.add(new SelectItem("screenReader", "Screen Readers"));
}
private static final List<SelectItem> _SKIN_FAMILIES = new ArrayList<SelectItem>();
static
{
_SKIN_FAMILIES.add(new SelectItem("oracle", "Oracle"));
_SKIN_FAMILIES.add(new SelectItem("minimal", "Minimal"));
}
}