themeinstaller/source/src/com/nokia/tools/themeinstaller/odtconverter/PropertyValue.java
--- a/themeinstaller/source/src/com/nokia/tools/themeinstaller/odtconverter/PropertyValue.java Thu Aug 19 09:43:47 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Single property value for property value list.
- *
-*/
-
-
-package com.nokia.tools.themeinstaller.odtconverter;
-
-import java.awt.Color;
-import java.io.IOException;
-
-/**
- * Property value stores style related data before it is externalized
- * to a binary format.
- */
-public class PropertyValue
- {
-
- // CONSTANTS
- // Ident types
- public static final String STRING_AUTO = "auto";
- public static final String STRING_NONE = "none";
- public static final String STRING_INHERIT = "inherit";
-
- public static final int E_NOT_SET = 0;
- public static final int E_AUTO = 1;
- public static final int E_NONE = 2;
- public static final int E_INHERIT = 3;
-
- // Property value type
- private Short iValueType;
-
- // Flag to identify ident
- private int iIdentType;
-
- // Rgb color value
- private Color iRgbValue;
-
- // Real value
- private double iRealValue;
-
- // String pool index to a string value
- private int iStringRef;
-
- // Reference to the String Pool
- private StringPool iStringPool;
-
- /**
- * Constructor.
- * @param aStringPool Reference to the String Pool
- */
- public PropertyValue( StringPool aStringPool )
- {
- iStringPool = aStringPool;
- }
-
- /**
- * Set rgb value.
- * @param aRgbValue the value to set
- * @param aValueType primitive value type
- * @throws ODTException
- * @throws ODTException if primitive value type is not a rgb color type
- */
- public void setRgbValue( Color aRgbValue )
- throws ODTException
- {
- iRgbValue = aRgbValue;
- iValueType = new Short( ValueTypeResolver.E_RGB_COLOR );
- }
-
- /**
- * Set real value.
- * @param aRealValue the value to set
- * @param aValueType primitive value type
- * @throws ODTException if primitive value type is not a real value type
- */
- public void setRealValue( double aRealValue, short aValueType )
- throws ODTException
- {
- // Verify the value type
- switch( aValueType )
- {
- case ValueTypeResolver.E_NUMBER:
- case ValueTypeResolver.E_PERCENTAGE:
- case ValueTypeResolver.E_EMS:
- case ValueTypeResolver.E_EXS:
- case ValueTypeResolver.E_PX:
- case ValueTypeResolver.E_CM:
- case ValueTypeResolver.E_MM:
- case ValueTypeResolver.E_IN:
- case ValueTypeResolver.E_PT:
- case ValueTypeResolver.E_PC:
- case ValueTypeResolver.E_DEG:
- case ValueTypeResolver.E_RAD:
- case ValueTypeResolver.E_GRAD:
- case ValueTypeResolver.E_MS:
- case ValueTypeResolver.E_S:
- case ValueTypeResolver.E_HZ:
- case ValueTypeResolver.E_KHZ:
- case ValueTypeResolver.E_UNIT_VALUE:
- break;
-
- default:
- throw new ODTException(
- "Property value type is not compatible with real: "
- + aValueType );
- }
-
- iRealValue = aRealValue;
- iValueType = new Short( aValueType );
- }
-
- /**
- * Set string value.
- * @param aString the string to set
- * @param aValueType primitive value type
- * @throws ODTException if primitive value type is not a string type
- */
- public void setString( String aString, short aValueType )
- throws ODTException
- {
- // Verify the value type
- switch( aValueType )
- {
- case ValueTypeResolver.E_STRING:
- case ValueTypeResolver.E_IDENT:
- case ValueTypeResolver.E_URI:
- case ValueTypeResolver.E_ATTR:
- case ValueTypeResolver.E_UNKNOWN:
- break;
-
- default:
- throw new ODTException(
- "Property value type is not compatible with string: "
- + aValueType );
- }
-
- // Add string to the pool
- iStringRef = iStringPool.addString( aString );
-
- // Resolve ident type
- if ( aString.equals( STRING_AUTO ) )
- {
- iIdentType = E_AUTO;
- }
- else if ( aString.equals( STRING_INHERIT ) )
- {
- iIdentType = E_INHERIT;
- }
- else if ( aString.equals( STRING_NONE ) )
- {
- iIdentType = E_NONE;
- }
- else
- {
- iIdentType = E_NOT_SET;
- }
- iValueType = new Short( aValueType );
- }
-
- /**
- * Externalize the property value to a stream.
- * @param aStream stream to use for externalization
- * @throws IOException if writing to a stream fails
- * @throws ODTException if value type can not be resolved
- */
- public void externalize( ODTDataOutputStream aStream )
- throws IOException, ODTException
- {
- // Write property value type - int8
- aStream.writeByte( iValueType.byteValue() );
-
- // Write property value data - real/int16/rgb
- switch( iValueType.intValue() )
- {
- // Real value
- case ValueTypeResolver.E_NUMBER:
- case ValueTypeResolver.E_PERCENTAGE:
- case ValueTypeResolver.E_EMS:
- case ValueTypeResolver.E_EXS:
- case ValueTypeResolver.E_PX:
- case ValueTypeResolver.E_CM:
- case ValueTypeResolver.E_MM:
- case ValueTypeResolver.E_IN:
- case ValueTypeResolver.E_PT:
- case ValueTypeResolver.E_PC:
- case ValueTypeResolver.E_DEG:
- case ValueTypeResolver.E_RAD:
- case ValueTypeResolver.E_GRAD:
- case ValueTypeResolver.E_MS:
- case ValueTypeResolver.E_S:
- case ValueTypeResolver.E_HZ:
- case ValueTypeResolver.E_KHZ:
- case ValueTypeResolver.E_UNIT_VALUE:
- aStream.writeTReal64( iRealValue );
- break;
-
- // String value and ident type
- case ValueTypeResolver.E_STRING:
- case ValueTypeResolver.E_IDENT:
- case ValueTypeResolver.E_URI:
- case ValueTypeResolver.E_ATTR:
- case ValueTypeResolver.E_UNKNOWN:
- aStream.writeInt16( iStringRef );
- aStream.writeByte( iIdentType );
- break;
-
- // Rgb value
- case ValueTypeResolver.E_RGB_COLOR:
- aStream.writeByte( iRgbValue.getRed() );
- aStream.writeByte( iRgbValue.getGreen() );
- aStream.writeByte( iRgbValue.getBlue() );
- break;
- default:
- throw new ODTException( "Property value can not be resolved: "
- + iValueType );
- }
-
- }
-
- }