/* * This file is part of the OpenSCADA project * Copyright (C) 2006-2010 TH4 SYSTEMS GmbH (http://th4-systems.com) * * OpenSCADA is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenSCADA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenSCADA. If not, see * <http://opensource.org/licenses/lgpl-3.0.html> for a copy of the LGPLv3 License. */ package org.openscada.da.client.base.browser; import org.openscada.core.Variant; public class VariantHelper { protected static String toString ( final Variant variant ) { final ValueType vt = toValueType ( variant ); try { if ( vt == null ) { return "VT_UNKNOWN"; //$NON-NLS-1$ } final StringBuffer str = new StringBuffer (); str.append ( vt.toString () ); str.append ( "[" ); //$NON-NLS-1$ switch ( vt ) { case NULL: str.append ( "<null>" ); //$NON-NLS-1$ break; case BOOLEAN: str.append ( variant.asBoolean () ? "true" : "false" ); //$NON-NLS-1$ //$NON-NLS-2$ break; case DOUBLE: str.append ( variant.asDouble () ); break; case LONG: str.append ( variant.asLong () ); break; case INT: str.append ( variant.asInteger () ); break; case STRING: str.append ( variant.asString () ); break; } str.append ( "]" ); //$NON-NLS-1$ return str.toString (); } catch ( final Exception e ) { return "VT_ERROR[" + e.getMessage () + "]"; //$NON-NLS-1$ //$NON-NLS-2$ } } public static ValueType toValueType ( final Variant variant ) { if ( variant.isNull () ) { return ValueType.NULL; } else if ( variant.isBoolean () ) { return ValueType.BOOLEAN; } else if ( variant.isDouble () ) { return ValueType.DOUBLE; } else if ( variant.isLong () ) { return ValueType.LONG; } else if ( variant.isInteger () ) { return ValueType.INT; } else if ( variant.isString () ) { return ValueType.STRING; } else { return null; } } }