/*************************************************************************************
 Copyright (c) 2006. Centre for e-Science. Lancaster University. United Kingdom.

 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 uk.ac.lancs.e_science.sakai.tools.blogger.converters;

import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

public class VisibilityConverter implements Converter{
    public Object getAsObject(FacesContext context, UIComponent component, String target) throws ConverterException{
        if (target==null || target.trim().equals(""))
            throw new ConverterException();
        if (target.equals("PRIVATE"))
            return new Integer(0);
        if (target.equals("SITE"))
            return new Integer(1);
        if (target.equals("PUBLIC"))
            return new Integer(2);
        throw new ConverterException(); //Unknow target
    }

    public String getAsString(FacesContext context, UIComponent component, Object target) throws ConverterException{
        Integer value = (Integer) target;
        if (value == null)
            throw new ConverterException();
        if (value.intValue()==0)
            return "PRIVATE";
        if (value.intValue()==1)
            return "SITE";
        if (value.intValue()==2)
            return "PUBLIC";
        return value.toString();
    }
}
