Revision: 1197
Author: sberlin
Date: Sun Aug 1 12:23:10 2010
Log: move Functions to internal/util. it was missed during the initial
sweep in r1185.
http://code.google.com/p/google-guice/source/detail?r=1197
Added:
/trunk/src/com/google/inject/internal/util/Function.java
Deleted:
/trunk/src/com/google/inject/internal/Function.java
Modified:
/trunk/src/com/google/inject/internal/BytecodeGen.java
/trunk/src/com/google/inject/internal/FailableCache.java
/trunk/src/com/google/inject/internal/util/CustomConcurrentHashMap.java
/trunk/src/com/google/inject/internal/util/Iterables.java
/trunk/src/com/google/inject/internal/util/Iterators.java
/trunk/src/com/google/inject/internal/util/MapMaker.java
/trunk/src/com/google/inject/internal/util/StackTraceElements.java
/trunk/test/com/google/inject/internal/util/MapMakerTestSuite.java
=======================================
--- /dev/null
+++ /trunk/src/com/google/inject/internal/util/Function.java Sun Aug 1
12:23:10 2010
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2007 Google Inc.
+ *
+ * Licensed 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 com.google.inject.internal.util;
+
+import com.google.inject.internal.Nullable;
+
+/**
+ * A transformation from one object to another. For example, a
+ * {...@code StringToIntegerFunction} may implement
+ * <code>Function<String,Integer></code> and transform integers in
+ * {...@code String} format to {...@code Integer} format.
+ *
+ * <p>The transformation on the source object does not necessarily result
in
+ * an object of a different type. For example, a
+ * {...@code FarenheitToCelsiusFunction} may implement
+ * <code>Function<Float,Float></code>.
+ *
+ * <p>Implementations which may cause side effects upon evaluation are
strongly
+ * encouraged to state this fact clearly in their API documentation.
+ *
+ * <p>This interface may be used with the Google Web Toolkit (GWT).
+ *
+ * @param <F> the type of the function input
+ * @param <T> the type of the function output
+ * @author Kevin Bourrillion
+ * @author Scott Bonneau
+ */
+public interface Function<F, T> {
+
+ /**
+ * Applies the function to an object of type {...@code F}, resulting in an
object
+ * of type {...@code T}. Note that types {...@code F} and {...@code T} may or
may not
+ * be the same.
+ *
+ * @param from the source object
+ * @return the resulting object
+ */
+ T apply(@Nullable F from);
+
+ /**
+ * Indicates whether some other object is equal to this {...@code Function}.
+ * This method can return {...@code true} <i>only</i> if the specified
object is
+ * also a {...@code Function} and, for every input object {...@code o}, it
returns
+ * exactly the same value. Thus, {...@code function1.equals(function2)}
implies
+ * that either {...@code function1.apply(o)} and {...@code function2.apply(o)}
are
+ * both null, or {...@code function1.apply(o).equals(function2.apply(o))}.
+ *
+ * <p>Note that it is always safe <em>not</em> to override
+ * {...@link Object#equals}.
+ */
+ boolean equals(@Nullable Object obj);
+}
=======================================
--- /trunk/src/com/google/inject/internal/Function.java Fri Feb 20 16:25:27
2009
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2007 Google Inc.
- *
- * Licensed 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 com.google.inject.internal;
-
-/**
- * A transformation from one object to another. For example, a
- * {...@code StringToIntegerFunction} may implement
- * <code>Function<String,Integer></code> and transform integers in
- * {...@code String} format to {...@code Integer} format.
- *
- * <p>The transformation on the source object does not necessarily result
in
- * an object of a different type. For example, a
- * {...@code FarenheitToCelsiusFunction} may implement
- * <code>Function<Float,Float></code>.
- *
- * <p>Implementations which may cause side effects upon evaluation are
strongly
- * encouraged to state this fact clearly in their API documentation.
- *
- * <p>This interface may be used with the Google Web Toolkit (GWT).
- *
- * @param <F> the type of the function input
- * @param <T> the type of the function output
- * @author Kevin Bourrillion
- * @author Scott Bonneau
- */
-public interface Function<F, T> {
-
- /**
- * Applies the function to an object of type {...@code F}, resulting in an
object
- * of type {...@code T}. Note that types {...@code F} and {...@code T} may or
may not
- * be the same.
- *
- * @param from the source object
- * @return the resulting object
- */
- T apply(@Nullable F from);
-
- /**
- * Indicates whether some other object is equal to this {...@code Function}.
- * This method can return {...@code true} <i>only</i> if the specified
object is
- * also a {...@code Function} and, for every input object {...@code o}, it
returns
- * exactly the same value. Thus, {...@code function1.equals(function2)}
implies
- * that either {...@code function1.apply(o)} and {...@code function2.apply(o)}
are
- * both null, or {...@code function1.apply(o).equals(function2.apply(o))}.
- *
- * <p>Note that it is always safe <em>not</em> to override
- * {...@link Object#equals}.
- */
- boolean equals(@Nullable Object obj);
-}
=======================================
--- /trunk/src/com/google/inject/internal/BytecodeGen.java Sat Jul 3
08:51:31 2010
+++ /trunk/src/com/google/inject/internal/BytecodeGen.java Sun Aug 1
12:23:10 2010
@@ -16,6 +16,7 @@
package com.google.inject.internal;
+import com.google.inject.internal.util.Function;
import com.google.inject.internal.util.ImmutableMap;
import com.google.inject.internal.util.MapMaker;
import java.lang.reflect.Constructor;
=======================================
--- /trunk/src/com/google/inject/internal/FailableCache.java Sat Jul 3
08:51:31 2010
+++ /trunk/src/com/google/inject/internal/FailableCache.java Sun Aug 1
12:23:10 2010
@@ -16,6 +16,7 @@
package com.google.inject.internal;
+import com.google.inject.internal.util.Function;
import com.google.inject.internal.util.MapMaker;
import java.util.Map;
=======================================
--- /trunk/src/com/google/inject/internal/util/CustomConcurrentHashMap.java
Sat Jul 3 08:51:31 2010
+++ /trunk/src/com/google/inject/internal/util/CustomConcurrentHashMap.java
Sun Aug 1 12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import com.google.inject.internal.Nullable;
import java.io.IOException;
import java.io.Serializable;
@@ -43,7 +42,7 @@
* provides the surrounding concurrent data structure which implements
{...@link
* ConcurrentMap}. Additionally supports implementing maps where {...@link
* Map#get} atomically computes values on demand (see {...@link
- * Builder#buildComputingMap(ComputingStrategy,
com.google.inject.internal.Function)}).
+ * Builder#buildComputingMap(ComputingStrategy,
com.google.inject.internal.util.Function)}).
*
* <p>The resulting hash table supports full concurrency of retrievals and
* adjustable expected concurrency for updates. Even though all operations
are
=======================================
--- /trunk/src/com/google/inject/internal/util/Iterables.java Sat Jul 3
08:51:31 2010
+++ /trunk/src/com/google/inject/internal/util/Iterables.java Sun Aug 1
12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import java.util.Arrays;
import java.util.Iterator;
import java.util.NoSuchElementException;
=======================================
--- /trunk/src/com/google/inject/internal/util/Iterators.java Sat Jul 3
08:51:31 2010
+++ /trunk/src/com/google/inject/internal/util/Iterators.java Sun Aug 1
12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import com.google.inject.internal.Nullable;
import java.util.Arrays;
import java.util.Collection;
=======================================
--- /trunk/src/com/google/inject/internal/util/MapMaker.java Sat Jul 3
08:51:31 2010
+++ /trunk/src/com/google/inject/internal/util/MapMaker.java Sun Aug 1
12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import
com.google.inject.internal.util.CustomConcurrentHashMap.ComputingStrategy;
import com.google.inject.internal.util.CustomConcurrentHashMap.Internals;
import java.io.IOException;
=======================================
--- /trunk/src/com/google/inject/internal/util/StackTraceElements.java Sat
Jul 3 08:51:31 2010
+++ /trunk/src/com/google/inject/internal/util/StackTraceElements.java Sun
Aug 1 12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import com.google.inject.internal.MoreTypes;
import java.io.IOException;
import java.lang.reflect.Constructor;
=======================================
--- /trunk/test/com/google/inject/internal/util/MapMakerTestSuite.java Sat
Jul 3 08:51:31 2010
+++ /trunk/test/com/google/inject/internal/util/MapMakerTestSuite.java Sun
Aug 1 12:23:10 2010
@@ -16,7 +16,6 @@
package com.google.inject.internal.util;
-import com.google.inject.internal.Function;
import com.google.inject.internal.Nullable;
import com.google.inject.internal.util.ComputationException;
import com.google.inject.internal.util.CustomConcurrentHashMap.Impl;
--
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-guice-dev?hl=en.