Clean up and refactor ACR and component register.
[lgpl/argeo-commons.git] / org.argeo.api.acr / src / org / argeo / api / acr / spi / AbstractContent.java
index 6bfc7cd5f06e74c183835ead822aaf292f4f241e..a1a37abb3ee482536b3c1297f3c75f72b5cbd167 100644 (file)
@@ -15,7 +15,8 @@ import javax.xml.namespace.QName;
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.CrName;
 
-public abstract class AbstractContent extends AbstractMap<QName, Object> implements Content {
+/** Partial reference implementation of a {@link ProvidedContent}. */
+public abstract class AbstractContent extends AbstractMap<QName, Object> implements ProvidedContent {
 
        /*
         * ATTRIBUTES OPERATIONS
@@ -40,6 +41,7 @@ public abstract class AbstractContent extends AbstractMap<QName, Object> impleme
                return false;
        }
 
+       @SuppressWarnings("unchecked")
        @Override
        public <A> Optional<List<A>> getMultiple(QName key, Class<A> clss) {
                Object value = get(key);
@@ -153,8 +155,9 @@ public abstract class AbstractContent extends AbstractMap<QName, Object> impleme
 
                @Override
                public int size() {
+
                        int count = 0;
-                       for (QName key : keys()) {
+                       for (Iterator<QName> it = keys().iterator(); it.hasNext();) {
                                count++;
                        }
                        return count;