Aggregation
and AggregatedResource
. It can be used to
+ * get and set Types
and Metadata
.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public abstract class AggregateBase {
protected URI id;
diff --git a/src/main/java/se/kb/oai/ore/AggregatedResource.java b/src/main/java/se/kb/oai/ore/AggregatedResource.java
index 07d8d7e..635d029 100644
--- a/src/main/java/se/kb/oai/ore/AggregatedResource.java
+++ b/src/main/java/se/kb/oai/ore/AggregatedResource.java
@@ -22,6 +22,13 @@ import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
+/**
+ * An aggregated resource is a resource, that together with other resources,
+ * create an {@link Aggregation}. This class has the actual content of a
+ * resource and also metadata about it.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class AggregatedResource extends AggregateBase {
public AggregatedResource(String id) throws URISyntaxException {
diff --git a/src/main/java/se/kb/oai/ore/Aggregation.java b/src/main/java/se/kb/oai/ore/Aggregation.java
index 6b9621e..c90e361 100644
--- a/src/main/java/se/kb/oai/ore/Aggregation.java
+++ b/src/main/java/se/kb/oai/ore/Aggregation.java
@@ -21,6 +21,14 @@ import java.net.URISyntaxException;
import java.util.LinkedList;
import java.util.List;
+/**
+ * An aggregation is a set of related resources (see {@link AggregatedResource}), grouped
+ * together such that the set can be treated as a single resource. This class is used to
+ * manage the individual resources and also holds information for the aggregation as
+ * a whole.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class Aggregation extends AggregateBase {
private ListAggregation
+ * or an AggreagatedResource
. Only metadata from the Dublin Core elements
+ * (DC) namespace or the Dublin Core terms (DCTERMS) namespace can be created.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class Metadata {
public enum Namespace { DC, DCTERMS }
diff --git a/src/main/java/se/kb/oai/ore/OREConstants.java b/src/main/java/se/kb/oai/ore/OREConstants.java
index 9e53292..7a8d467 100644
--- a/src/main/java/se/kb/oai/ore/OREConstants.java
+++ b/src/main/java/se/kb/oai/ore/OREConstants.java
@@ -18,6 +18,11 @@ package se.kb.oai.ore;
import org.dom4j.Namespace;
+/**
+ * Constants regarding OAI-ORE.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class OREConstants {
public static final String ATOM_NS_PREFIX = "atom";
diff --git a/src/main/java/se/kb/oai/ore/ResourceMap.java b/src/main/java/se/kb/oai/ore/ResourceMap.java
index 66fbaf8..d24a89a 100644
--- a/src/main/java/se/kb/oai/ore/ResourceMap.java
+++ b/src/main/java/se/kb/oai/ore/ResourceMap.java
@@ -20,6 +20,14 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.Date;
+/**
+ * A resource map is a description of an {@link Aggregation} according to the OAI-ORE data model.
+ * ResourceMaps
can be serialized to a machine readable format, see {@link ResourceMapSerializer}.
+ * This class will consist of the Aggregation
it describes and some metadata concerning the
+ * resource map itself.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class ResourceMap {
private URI id;
diff --git a/src/main/java/se/kb/oai/ore/ResourceMapFactory.java b/src/main/java/se/kb/oai/ore/ResourceMapFactory.java
index 10a396b..0f4aee8 100644
--- a/src/main/java/se/kb/oai/ore/ResourceMapFactory.java
+++ b/src/main/java/se/kb/oai/ore/ResourceMapFactory.java
@@ -24,6 +24,20 @@ import org.dom4j.Element;
import se.kb.oai.OAIException;
+/**
+ * A ResourceMapFactory
will be used to create a {@link ResourceMap}.
+ * It can either be a totally new ResourceMap
or one that is parsed
+ * from an existing serialization of a ResourceMap
. Different
+ * implementations of this interface will handle different serialization formats.
+ * + * At the moment the Open Archive Initiative describes two possible formats: + *
ResourceMapSerializer
is used to serialize the content of a
+ * {@link ResourceMap} to a machine readable format (for example XML). Different
+ * implementations of this interface will handle serialization to different formats.
+ * + * At the moment the Open Archive Initiative describes two possible serialization formats: + *
Aggreagations
and
+ * AggreagatedResources
.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class Type {
private String value;
diff --git a/src/main/java/se/kb/oai/ore/impl/AtomConstants.java b/src/main/java/se/kb/oai/ore/impl/AtomConstants.java
index 5ba0101..8013bb7 100644
--- a/src/main/java/se/kb/oai/ore/impl/AtomConstants.java
+++ b/src/main/java/se/kb/oai/ore/impl/AtomConstants.java
@@ -22,6 +22,11 @@ import org.dom4j.QName;
import se.kb.oai.ore.OREConstants;
+/**
+ * Constants concerning Atom feeds.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class AtomConstants extends OREConstants {
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
diff --git a/src/main/java/se/kb/oai/ore/impl/AtomFactory.java b/src/main/java/se/kb/oai/ore/impl/AtomFactory.java
index 6847df5..4ef11ed 100644
--- a/src/main/java/se/kb/oai/ore/impl/AtomFactory.java
+++ b/src/main/java/se/kb/oai/ore/impl/AtomFactory.java
@@ -40,6 +40,13 @@ import static se.kb.oai.ore.OREConstants.RDF_NS_PREFIX;
import static se.kb.oai.ore.OREConstants.RDF_NS_URI;
import static se.kb.oai.ore.impl.AtomConstants.*;
+/**
+ * The AtomFactory
class implements the {@link se.kb.oai.ore.ResourceMapFactory}
+ * interface to provide the functionality to parse Atom feeds and turn them into
+ * ResourceMap
objects.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class AtomFactory extends FactoryBase {
@Override
diff --git a/src/main/java/se/kb/oai/ore/impl/AtomSerializer.java b/src/main/java/se/kb/oai/ore/impl/AtomSerializer.java
index 8e3c5b9..eb75376 100644
--- a/src/main/java/se/kb/oai/ore/impl/AtomSerializer.java
+++ b/src/main/java/se/kb/oai/ore/impl/AtomSerializer.java
@@ -29,6 +29,13 @@ import se.kb.oai.ore.Type;
import static se.kb.oai.ore.impl.AtomConstants.*;
+/**
+ * The AtomSerializer
class implements the {@link se.kb.oai.ore.ResourceMapSerializer}
+ * interface to provide the functionality of serializing ResourceMap
objects into
+ * Atom feeds.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public class AtomSerializer extends SerializerBase {
@Override
diff --git a/src/main/java/se/kb/oai/ore/impl/FactoryBase.java b/src/main/java/se/kb/oai/ore/impl/FactoryBase.java
index dfd022b..d82e13d 100644
--- a/src/main/java/se/kb/oai/ore/impl/FactoryBase.java
+++ b/src/main/java/se/kb/oai/ore/impl/FactoryBase.java
@@ -28,6 +28,11 @@ import se.kb.oai.OAIException;
import se.kb.oai.ore.ResourceMap;
import se.kb.oai.ore.ResourceMapFactory;
+/**
+ * Abstract base class for the different ResourceMapFactory
implementations.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public abstract class FactoryBase implements ResourceMapFactory {
public ResourceMap newResourceMap(String uri) throws URISyntaxException {
diff --git a/src/main/java/se/kb/oai/ore/impl/SerializerBase.java b/src/main/java/se/kb/oai/ore/impl/SerializerBase.java
index 420003e..a6a6b76 100644
--- a/src/main/java/se/kb/oai/ore/impl/SerializerBase.java
+++ b/src/main/java/se/kb/oai/ore/impl/SerializerBase.java
@@ -26,6 +26,11 @@ import se.kb.oai.ore.ResourceMap;
import se.kb.oai.ore.ResourceMapSerializer;
import se.kb.xml.XMLUtils;
+/**
+ * Abstract base class for the different ResourceMapSerializer
implementations.
+ *
+ * @author Oskar Grenholm, National Library of Sweden
+ */
public abstract class SerializerBase implements ResourceMapSerializer {
public void serializeToFile(File file, ResourceMap map) throws IOException {