Author: adrianc
Date: Sun Nov 8 05:12:20 2009
New Revision: 833828
URL: http://svn.apache.org/viewvc?rev=833828&view=rev
Log:
File missing in last commit.
Added:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
(with props)
Added:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java?rev=833828&view=auto
==============================================================================
---
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
(added)
+++
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
Sun Nov 8 05:12:20 2009
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+
*******************************************************************************/
+package org.ofbiz.base.conversion;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.ofbiz.base.util.ObjectType;
+import org.ofbiz.base.util.StringUtil;
+
+import javolution.util.FastList;
+import javolution.util.FastSet;
+
+/** Collection Converter classes. */
+public class CollectionConverters {
+
+ public static class ArrayToList extends AbstractConverter<Object[],
List<?>> {
+
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass.isArray() && ObjectType.instanceOf(targetClass,
this.getTargetClass());
+ }
+
+ public List<?> convert(Object[] obj) throws ConversionException {
+ return Arrays.asList(obj);
+ }
+
+ public Class<Object[]> getSourceClass() {
+ return Object[].class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<List> getTargetClass() {
+ return List.class;
+ }
+
+ }
+
+ public static class ListToString extends AbstractConverter<List<?>,
String> {
+
+ public String convert(List<?> obj) throws ConversionException {
+ return obj.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<List> getSourceClass() {
+ return List.class;
+ }
+
+ public Class<String> getTargetClass() {
+ return String.class;
+ }
+
+ }
+
+ public static class MapToList extends AbstractConverter<Map<?, ?>,
List<Map<?,?>>> {
+
+ public List<Map<?,?>> convert(Map<?, ?> obj) throws
ConversionException {
+ List<Map<?,?>> tempList = FastList.newInstance();
+ tempList.add(obj);
+ return tempList;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Map> getSourceClass() {
+ return Map.class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<List> getTargetClass() {
+ return List.class;
+ }
+
+ }
+
+ public static class MapToSet extends AbstractConverter<Map<?, ?>,
Set<Map<?,?>>> {
+
+ public Set<Map<?,?>> convert(Map<?, ?> obj) throws ConversionException
{
+ Set<Map<?,?>> tempSet = FastSet.newInstance();
+ tempSet.add(obj);
+ return tempSet;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Map> getSourceClass() {
+ return Map.class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Set> getTargetClass() {
+ return Set.class;
+ }
+
+ }
+
+ public static class MapToString extends AbstractConverter<Map<?, ?>,
String> {
+
+ public String convert(Map<?, ?> obj) throws ConversionException {
+ return obj.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Map> getSourceClass() {
+ return Map.class;
+ }
+
+ public Class<String> getTargetClass() {
+ return String.class;
+ }
+
+ }
+
+ public static class StringToList extends AbstractConverter<String,
List<?>> {
+
+ public List<?> convert(String obj) throws ConversionException {
+ if (obj.startsWith("[") && obj.endsWith("]")) {
+ return StringUtil.toList(obj);
+ } else {
+ List<String> tempList = FastList.newInstance();
+ tempList.add(obj);
+ return tempList;
+ }
+ }
+
+ public Class<String> getSourceClass() {
+ return String.class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<List> getTargetClass() {
+ return List.class;
+ }
+
+ }
+
+ public static class StringToMap extends AbstractConverter<String, Map<?,
?>> {
+
+ public Map<?, ?> convert(String obj) throws ConversionException {
+ if (obj.startsWith("{") && obj.endsWith("}")) {
+ return StringUtil.toMap(obj);
+ }
+ throw new ConversionException("Could not convert " + obj + " to
Map: ");
+ }
+
+ public Class<String> getSourceClass() {
+ return String.class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Map> getTargetClass() {
+ return Map.class;
+ }
+
+ }
+
+ public static class StringToSet extends AbstractConverter<String, Set<?>> {
+
+ public Set<?> convert(String obj) throws ConversionException {
+ if (obj.startsWith("[") && obj.endsWith("]")) {
+ return StringUtil.toSet(obj);
+ } else {
+ Set<String> tempSet = FastSet.newInstance();
+ tempSet.add(obj);
+ return tempSet;
+ }
+ }
+
+ public Class<String> getSourceClass() {
+ return String.class;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class<Set> getTargetClass() {
+ return Set.class;
+ }
+
+ }
+
+}
Propchange:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java
------------------------------------------------------------------------------
svn:mime-type = text/plain