/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.ui.dlg;
import java.io.IOException;
import java.util.*;
import org.w3c.dom.*;
import com.silverwrist.util.*;
import com.silverwrist.venice.except.*;
import com.silverwrist.venice.security.Role;
import com.silverwrist.venice.ui.*;
public class RoleListField extends PickListField
{
/*--------------------------------------------------------------------------------
* Static data members
*--------------------------------------------------------------------------------
*/
public static final String TAGNAME = "rolelist";
/*--------------------------------------------------------------------------------
* Constructors
*--------------------------------------------------------------------------------
*/
public RoleListField(String name, String caption, String caption2, boolean required, List role_list)
{
super(name,caption,caption2,required,role_list);
} // end constructor
public RoleListField(Element elt) throws ConfigException
{
super(elt,null);
} // end constructor
protected RoleListField(RoleListField other)
{
super(other);
} // end constructor
/*--------------------------------------------------------------------------------
* Overrides from class PickListField
*--------------------------------------------------------------------------------
*/
protected String getChoiceName(Object o)
{
return String.valueOf(((Role)o).getLevel());
} // end getChoiceName
protected String getChoiceValue(Object o)
{
return ((Role)o).getName();
} // end getChoiceValue
/*--------------------------------------------------------------------------------
* Implementations from interface DialogField
*--------------------------------------------------------------------------------
*/
public Object getValue()
{
return new Integer(super.getValue().toString());
} // end getValue
public void setValue(Object o)
{
if (o!=null)
{ // set an object value
if (o instanceof Role)
super.setValue(String.valueOf(((Role)o).getLevel()));
else if (o instanceof Number)
super.setValue(String.valueOf(((Number)o).intValue()));
else
super.setValue(o);
} // end if
else
super.setValue(null);
} // end setValue
public DialogField duplicate()
{
return new RoleListField(this);
} // end duplicate
public Object sendMessage(String msg, Object data)
{
if (msg.equals("setRoleList"))
{ // the role list
this.setChoicesList((List)data);
return null;
} // end if
return super.sendMessage(msg,data);
} // end sendMessage
} // end class RoleListField