 			return (minInclusive.value ? '[' : '(')
 				+ min.value + ', ' + max.value
 				+ (maxInclusive.value ? ']' : ')');
-//			return min + ' to ' + max;
 		}
 	}
 }

package weave.data.BinClassifiers
{
	import weave.api.core.ICallbackCollection;
	import weave.api.data.IBinClassifier;
	import weave.api.data.IPrimitiveColumn;
	import weave.api.getCallbackCollection;
	import weave.api.newLinkableChild;
	import weave.core.LinkableBoolean;
	import weave.core.LinkableNumber;
	import weave.data.AttributeColumns.StringColumn;

		 * @param toStringColumn The primitive column to use that provides a number-to-string conversion function.
		 * @return A generated label for this NumberClassifier.
		 */
		public function generateBinLabel(toStringColumn:IPrimitiveColumn = null):String
		{
			var minStr:String = null;
			var maxStr:String = null;
			
			// get labels from column
			if (toStringColumn != null)
			{
				minStr = toStringColumn.deriveStringFromNumber(min.value) || '';
				maxStr = toStringColumn.deriveStringFromNumber(max.value) || '';
			}
			
			// if the column produced no labels, use default number formatting
			if (!minStr && !maxStr)
			{
				minStr = StandardLib.formatNumber(min.value);
				maxStr = StandardLib.formatNumber(max.value);
			}
			
			// if both labels are the same, return the label
			if (minStr && maxStr && minStr == maxStr)
				return minStr;
			
			// if the column dataType is string, put quotes around the labels
			if (toStringColumn && toStringColumn.getMetadata(ColumnMetadata.DATA_TYPE) == DataTypes.STRING)
			{
				minStr = lang('"{0}"', minStr);
				maxStr = lang('"{0}"', maxStr);
			}
			else
			{
				if (!minInclusive.value)
					minStr = lang("> {0}", minStr);
				if (!maxInclusive.value)
					maxStr = lang("< {0}", maxStr);
			}

			if (minStr == '')
				minStr = lang('Undefined');
			if (maxStr == '')
				maxStr = lang('Undefined');
			
			return lang("{0} to {1}", minStr, maxStr);
		}
		
		public function toString():String
