  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/.
  * 
- * ***** END LICENSE BLOCK ***** */
-
+ * ***** END LICENSE BLOCK ***** */
+
 package weavejs.geom
 {
 	import weavejs.api.core.ICallbackCollection;

		 * IQualifiedKey -> getLineStyleParams() result
		 */
		private var map_key_style:Object;

		public function getStyle(key:IQualifiedKey):Object
		{
			if (_triggerCounter != _callbackCollection.triggerCounter)
			{
				_triggerCounter = _callbackCollection.triggerCounter;

	import weavejs.util.JS;

	public class SolidLineStyle implements ILinkableObject
	{
		public function SolidLineStyle()
		{
			_callbackCollection = Weave.getCallbacks(this);
			weight.internalDynamicColumn.requestLocalObject(NormalizedColumn, true);
			
			normalizedWeightColumn.min.value = 1;
			normalizedWeightColumn.max.value = 5;
		}
		
		private var _callbackCollection:ICallbackCollection; // the ICallbackCollection for this object

		private var _triggerCounter:uint = 0; // used to detect change
		
		// This maps an AlwaysDefinedColumn to its preferred value type.
		private const map_column_dataType:Object = new JS.Map();
		// this maps an AlwaysDefinedColumn to the default value for that column.
		// if there is an internal column in the AlwaysDefinedColumn, the default value is not stored
		private const map_column_defaultValue:Object = new JS.Map();
		
		private function createColumn(dataType:Class, defaultValue:*):AlwaysDefinedColumn
		{
			var column:AlwaysDefinedColumn = Weave.linkableChild(this, AlwaysDefinedColumn);
			map_column_dataType[column] = dataType;
			column.defaultValue.state = defaultValue;
			return column;
		}

		public const enable:LinkableBoolean = Weave.linkableChild(this, new LinkableBoolean(true));
		
		public const color:AlwaysDefinedColumn = createColumn(Number, 0x000000);
		public const weight:AlwaysDefinedColumn = createColumn(Number, 1);
		public const alpha:AlwaysDefinedColumn = createColumn(Number, 0.5);
		public const caps:AlwaysDefinedColumn = createColumn(String, null);
		public const joints:AlwaysDefinedColumn = createColumn(String, null);
		public const miterLimit:AlwaysDefinedColumn = createColumn(Number, 3);
		
		public function get normalizedWeightColumn():NormalizedColumn { return weight.getInternalColumn() as NormalizedColumn; }
		
