From bc281ff2d6da968577d1c43a09ebaa23cf1db031 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Mon, 16 Apr 2012 10:04:42 +0000
Subject: [PATCH] Fix issue OPENDJ-470, implement Contains method in the SmallSet.
---
opendj-sdk/opends/src/server/org/opends/server/types/AttributeBuilder.java | 68 ++++++++++++++++++---------------
1 files changed, 37 insertions(+), 31 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/types/AttributeBuilder.java b/opendj-sdk/opends/src/server/org/opends/server/types/AttributeBuilder.java
index 1c7d9b7..4744595 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/types/AttributeBuilder.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/types/AttributeBuilder.java
@@ -23,12 +23,13 @@
*
*
* Copyright 2006-2010 Sun Microsystems, Inc.
+ * Portions Copyright 2012 ForgeRock ASĀ«
*/
package org.opends.server.types;
-
-import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
+import static org.opends.server.loggers.debug.DebugLogger.getTracer;
import static org.opends.server.util.StaticUtils.*;
import java.util.AbstractSet;
@@ -158,6 +159,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final ConditionResult approximatelyEqualTo(
AttributeValue value)
{
@@ -219,6 +221,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final boolean contains(AttributeValue value)
{
return values.contains(value);
@@ -241,6 +244,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final AttributeType getAttributeType()
{
return attributeType;
@@ -262,6 +266,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final ConditionResult greaterThanOrEqualTo(
AttributeValue value)
{
@@ -326,6 +331,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final boolean isVirtual()
{
return false;
@@ -336,6 +342,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final Iterator<AttributeValue> iterator()
{
return values.iterator();
@@ -346,6 +353,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final ConditionResult lessThanOrEqualTo(
AttributeValue value)
{
@@ -409,6 +417,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final ConditionResult matchesSubstring(
ByteString subInitial,
List<ByteString> subAny, ByteString subFinal)
@@ -535,6 +544,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final int size()
{
return values.size();
@@ -545,6 +555,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public final void toString(StringBuilder buffer)
{
buffer.append("Attribute(");
@@ -616,6 +627,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public Set<String> getOptions()
{
return options;
@@ -689,6 +701,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public Set<String> getOptions()
{
return Collections.emptySet();
@@ -785,6 +798,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public Set<String> getOptions()
{
return option;
@@ -850,35 +864,6 @@
}
-
- /**
- * Creates a new small set using the content of the provided
- * collection.
- *
- * @param c
- * The collection whose elements are to be placed into
- * this set.
- */
- public SmallSet(Collection<T> c)
- {
- addAll(c);
- }
-
-
-
- /**
- * Creates a new small set with the specified initial capacity.
- *
- * @param initialCapacity
- * The initial capacity for this set.
- */
- public SmallSet(int initialCapacity)
- {
- setInitialCapacity(initialCapacity);
- }
-
-
-
/**
* {@inheritDoc}
*/
@@ -980,6 +965,7 @@
+ @Override
public boolean hasNext()
{
return hasNext;
@@ -987,6 +973,7 @@
+ @Override
public T next()
{
if (!hasNext)
@@ -1000,6 +987,7 @@
+ @Override
public void remove()
{
if (hasNext || firstElement == null)
@@ -1044,6 +1032,23 @@
return false;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean contains(Object o)
+ {
+ if (elements != null)
+ {
+ // Note: if there is one or zero values left we could stop
+ // using the set. However, lets assume that if the set
+ // was multi-valued before then it may become multi-valued
+ // again.
+ return elements.contains(o);
+ }
+
+ return (firstElement != null && firstElement.equals(o));
+ }
/**
@@ -1426,6 +1431,7 @@
* @return An iterator over the attribute values in this attribute
* builder.
*/
+ @Override
public Iterator<AttributeValue> iterator()
{
return values.iterator();
--
Gitblit v1.10.0