package org.apache.aries.blueprint.metadata.impl; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.apache.aries.blueprint.metadata.MutableCollectionMetadata; import org.osgi.service.blueprint.reflect.CollectionMetadata; import org.osgi.service.blueprint.reflect.Metadata; public class MutableCollectionMetadataImpl implements MutableCollectionMetadata<CollectionMetadata> { private Class<?> collectionClass; private String valueType; private List<Metadata> values = new ArrayList<Metadata>(); public Class<?> getCollectionClass() { return collectionClass; } public String getValueType() { return valueType; } public List<Metadata> getValues() { return values; } public CollectionMetadata freeze() { throw new UnsupportedOperationException("not implemented yet"); } public CollectionMetadata copy() { throw new UnsupportedOperationException("not implemented yet"); } public MutableCollectionMetadata<CollectionMetadata> collectionClass(Class<?> clazz) { this.collectionClass = clazz; return this; } public MutableCollectionMetadata<CollectionMetadata> valueType(String type) { this.valueType = type; return this; } public MutableCollectionMetadata<CollectionMetadata> values(Metadata... values) { this.values = new ArrayList<Metadata>(Arrays.asList(values)); return this; } public MutableCollectionMetadata<CollectionMetadata> values(List<? extends Metadata> values) { this.values = new ArrayList<Metadata>(values); return this; } }