/*
* 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-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.ui.script;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.*;
import org.w3c.dom.*;
import com.silverwrist.util.StringUtil;
import com.silverwrist.venice.core.*;
import com.silverwrist.venice.ui.VeniceUISession;
import com.silverwrist.venice.ui.helpers.*;
import com.silverwrist.venice.util.*;
public class ScriptLibrary
{
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
*/
public final Boolean booleanObject(boolean b)
{
return (b ? Boolean.TRUE : Boolean.FALSE);
} // end booleanObject
public final byte[] castByteArray(Object o)
{
if (o instanceof byte[])
return (byte[])o;
throw new ClassCastException("ScriptLibrary.castByteArray: invalid cast");
} // end castByteArray
public final ConferenceContext castConferenceContext(Object o)
{
if (o instanceof ConferenceContext)
return (ConferenceContext)o;
throw new ClassCastException("ScriptLibrary.castConferenceContext: invalid cast");
} // end castConferenceContext
public final ConferenceHotlistEntry castConferenceHotlistEntry(Object o)
{
if (o instanceof ConferenceHotlistEntry)
return (ConferenceHotlistEntry)o;
throw new ClassCastException("ScriptLibrary.castConferenceHotlistEntry: invalid cast");
} // end castConferenceHotlistEntry
public final Date castDate(Object o)
{
if (o instanceof Date)
return (Date)o;
throw new ClassCastException("ScriptLibrary.castDate: invalid cast");
} // end castDate
public final List castList(Object o)
{
if (o instanceof List)
return (List)o;
throw new ClassCastException("ScriptLibrary.castList: invalid cast");
} // end castList
public final Map castMap(Object o)
{
if (o instanceof Map)
return (Map)o;
throw new ClassCastException("ScriptLibrary.castMap: invalid cast");
} // end castMap
public final SideBoxDescriptor castSideBoxDescriptor(Object o)
{
if (o instanceof SideBoxDescriptor)
return (SideBoxDescriptor)o;
throw new ClassCastException("ScriptLibrary.castSideBoxDescriptor: invalid cast");
} // end castSideBoxDescriptor
public final TopicContext castTopicContext(Object o)
{
if (o instanceof TopicContext)
return (TopicContext)o;
throw new ClassCastException("ScriptLibrary.castTopicContext: invalid cast");
} // end castTopicContext
public final TopicMessageContext castTopicMessageContext(Object o)
{
if (o instanceof TopicMessageContext)
return (TopicMessageContext)o;
throw new ClassCastException("ScriptLibrary.castTopicMessageContext: invalid cast");
} // end castTopicMessageContext
public final UserFound castUserFound(Object o)
{
if (o instanceof UserFound)
return (UserFound)o;
throw new ClassCastException("ScriptLibrary.castUserFound: invalid cast");
} // end castUserSideBoxDescriptor
public final UserSideBoxDescriptor castUserSideBoxDescriptor(Object o)
{
if (o instanceof UserSideBoxDescriptor)
return (UserSideBoxDescriptor)o;
throw new ClassCastException("ScriptLibrary.castUserSideBoxDescriptor: invalid cast");
} // end castUserSideBoxDescriptor
public final VeniceUISession castVeniceUISession(Object o)
{
if (o instanceof VeniceUISession)
return (VeniceUISession)o;
throw new ClassCastException("ScriptLibrary.castVeniceUISession: invalid cast");
} // end castVeniceUISession
public final boolean[] createBooleanArray(int len)
{
return new boolean[len];
} // end createBooleanArray
public final int[] createIntArray(int len)
{
return new int[len];
} // end createIntArray
public final Integer createInteger(int value)
{
return new Integer(value);
} // end createInteger
public final List createList()
{
return new ArrayList();
} // end createList
public final Map createMap()
{
return new HashMap();
} // end createMap
public final void done() throws ScriptExit
{
throw new ScriptExit();
} // end done
public final boolean emptyString(String s)
{
return StringUtil.isStringEmpty(s);
} // end emptyString
public final String encodeHTML(String s)
{
return StringUtil.encodeHTML(s);
} // end encodeHTML
public final String encodeURL(String s)
{
try
{ // encode and return the string
return URLEncoder.encode(s,"UTF-8");
} // end try
catch (UnsupportedEncodingException e)
{ // shouldn't happen
return s;
} // end catch
} // end encodeURL
public final String exceptionType(Object o) throws ScriptExit
{
if (o==null)
return null;
if (o instanceof ScriptExit)
throw (ScriptExit)o; // rethrow ScriptExit exceptions
if (o instanceof Throwable)
return o.getClass().getName();
else
return null;
} // end exceptionType
public final String join(List l, String separator)
{
return StringUtil.join(l,separator);
} // end join
public final BrowserInformation queryBrowserInformation(ServiceProvider sp)
{
return (BrowserInformation)(sp.queryService(BrowserInformation.class));
} // end queryBrowserInformation
public final CookieControl queryCookieControl(ServiceProvider sp)
{
return (CookieControl)(sp.queryService(CookieControl.class));
} // end queryCookieControl
public final HTMLRendering queryHTMLRendering(ServiceProvider sp)
{
return (HTMLRendering)(sp.queryService(HTMLRendering.class));
} // end queryHTMLRendering
public final SessionControl querySessionControl(ServiceProvider sp)
{
return (SessionControl)(sp.queryService(SessionControl.class));
} // end querySessionControl
public final List splitList(String data, String delims)
{
return StringUtil.splitList(data,delims);
} // end splitList
public final double toDouble(Object o) throws NumberFormatException
{
if ( (o instanceof Byte) || (o instanceof Short) || (o instanceof Integer) || (o instanceof Long)
|| (o instanceof Float) || (o instanceof Double))
return ((Number)o).doubleValue();
else
return Double.parseDouble(o.toString());
} // end toDouble
public final int toInteger(Object o) throws NumberFormatException
{
if ((o instanceof Byte) || (o instanceof Short) || (o instanceof Integer))
return ((Number)o).intValue();
else if (o instanceof Boolean)
return ((Boolean)o).booleanValue() ? 1 : 0;
else
return Integer.parseInt(o.toString());
} // end toInteger
public final String typeOf(Object o)
{
if (o==null)
return null;
else
return o.getClass().getName();
} // end typeOf
public final boolean validVeniceID(String s)
{
return IDUtils.isValidVeniceID(s);
} // end validVeniceID
} // end class ScriptLibrary