Skip to content

Commit

Permalink
Complete javadocs documentation for some classes
Browse files Browse the repository at this point in the history
  • Loading branch information
nikitakovaliov92 committed Aug 19, 2024
1 parent 851d203 commit b6f3a56
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.verapdf.xmp.containers;

import java.util.*;
import java.util.HashMap;
import java.util.Map;

public class StaticXmpCoreContainers {

Expand All @@ -14,23 +15,46 @@ public class StaticXmpCoreContainers {
*/
private static final ThreadLocal<Map<String, String>> prefixToNamespaceMap = new ThreadLocal<>();

/**
* Clears all namespaces and prefixes.
*/
public static void clearAllContainers() {
namespaceToPrefixMap.set(new HashMap<>());
prefixToNamespaceMap.set(new HashMap<>());
}

/**
* Gets namespaces map.
*
* @return a map of namespaces
*/
public static Map<String, String> getNamespaceToPrefixMap() {
return namespaceToPrefixMap.get();
}

/**
* Gets prefixes map.
*
* @return a map of prefixes
*/
public static Map<String, String> getPrefixToNamespaceMap() {
return prefixToNamespaceMap.get();
}

/**
* Sets namespaces.
*
* @param namespaceToPrefixMap a map of namespaces
*/
public static void setNamespaceToPrefixMap(Map<String, String> namespaceToPrefixMap) {
StaticXmpCoreContainers.namespaceToPrefixMap.set(namespaceToPrefixMap);
}

/**
* Sets prefixes.
*
* @param prefixToNamespaceMap a map of prefixes
*/
public static void setPrefixToNamespaceMap(Map<String, String> prefixToNamespaceMap) {
StaticXmpCoreContainers.prefixToNamespaceMap.set(prefixToNamespaceMap);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,36 @@
package org.verapdf.xmp.impl;

import org.verapdf.xmp.XMPConst;
import org.verapdf.xmp.XMPException;
import org.verapdf.xmp.options.PropertyOptions;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.verapdf.xmp.XMPConst;
import org.verapdf.xmp.XMPException;
import org.verapdf.xmp.options.PropertyOptions;

public class VeraPDFExtensionSchemaDefinition {

private static final String PROPERTY = "property";
public static final String NAMESPACE_URI = "namespaceURI";
private static final String NAMESPACE_URI = "namespaceURI";
private static final String PREFIX = "prefix";
private static final String SCHEMA = "schema";
private static final String PDFA_SCHEMA_PREFIX = "pdfaSchema";

private final VeraPDFXMPNode xmpNode;

/**
* VeraPDF extension schema.
*
* @param xmpNode a metadata node
*/
public VeraPDFExtensionSchemaDefinition(VeraPDFXMPNode xmpNode) {
this.xmpNode = xmpNode;
}

/**
* Gets schema properties.
*
* @return schema properties
*/
public List<VeraPDFExtensionSchemaProperty> getExtensionSchemaProperties() {
if (this.xmpNode != null) {
List<VeraPDFExtensionSchemaProperty> res = new ArrayList<>();
Expand All @@ -39,7 +48,12 @@ public List<VeraPDFExtensionSchemaProperty> getExtensionSchemaProperties() {
}
return Collections.emptyList();
}


/**
* Gets property of xmp node.
*
* @return xmp node property value
*/
public VeraPDFXMPNode getPropertiesNode() {
if (this.xmpNode != null) {
for (VeraPDFXMPNode child : this.xmpNode.getChildren()) {
Expand All @@ -51,12 +65,25 @@ public VeraPDFXMPNode getPropertiesNode() {
return null;
}

public void addExtensionSchemaProperty(VeraPDFExtensionSchemaProperty propertyDefinitionXMPNode) throws XMPException {
/**
* Adds extension schema property.
*
* @param propertyDefinitionXMPNode a property of xmp node
*
* @throws XMPException exceptions from the metadata processing
*/
public void addExtensionSchemaProperty(VeraPDFExtensionSchemaProperty propertyDefinitionXMPNode)
throws XMPException {
if (this.xmpNode != null) {
getPropertiesNode().getOriginalNode().addChild(propertyDefinitionXMPNode.getXmpNode());
}
}

/**
* Get namespaces URI of xmp node.
*
* @return xmp node namespace value
*/
public String getNamespaceURI() {
for (VeraPDFXMPNode child : this.xmpNode.getChildren()) {
if (XMPConst.NS_PDFA_SCHEMA.equals(child.getNamespaceURI()) && NAMESPACE_URI.equals(child.getName())) {
Expand All @@ -66,6 +93,11 @@ public String getNamespaceURI() {
return null;
}

/**
* Get prefix of xmp node.
*
* @return xmp node prefix value
*/
public String getPrefix() {
for (VeraPDFXMPNode child : this.xmpNode.getChildren()) {
if (XMPConst.NS_PDFA_SCHEMA.equals(child.getNamespaceURI()) && PREFIX.equals(child.getName())) {
Expand All @@ -75,19 +107,36 @@ public String getPrefix() {
return null;
}

/**
* Gets xmp node.
*
* @return original xmp node from metadata
*/
public XMPNode getXmpNode() {
return xmpNode.getOriginalNode();
}

public static VeraPDFExtensionSchemaDefinition createExtensionSchemaDefinitionNode(String schema, String namespaceURI, String prefix) throws XMPException {
XMPNode node = new XMPNode(XMPConst.ARRAY_ITEM_NAME,"", new PropertyOptions(PropertyOptions.STRUCT), "rdf");
/**
* Creates schema definition node.
*
* @param schema a xmp schema definition
* @param namespaceURI a namespace URI of the node
* @param prefix a prefix of the node
*
* @return xmp extension schema
*
* @throws XMPException exceptions from the metadata processing
*/
public static VeraPDFExtensionSchemaDefinition createExtensionSchemaDefinitionNode(String schema,
String namespaceURI, String prefix) throws XMPException {
XMPNode node = new XMPNode(XMPConst.ARRAY_ITEM_NAME, "", new PropertyOptions(PropertyOptions.STRUCT), "rdf");
node.addChild(new XMPNode(PDFA_SCHEMA_PREFIX + ":" + SCHEMA, schema,
new PropertyOptions(PropertyOptions.NO_OPTIONS), PDFA_SCHEMA_PREFIX));
node.addChild(new XMPNode(PDFA_SCHEMA_PREFIX + ":" + NAMESPACE_URI, namespaceURI,
new PropertyOptions(PropertyOptions.NO_OPTIONS), PDFA_SCHEMA_PREFIX));
node.addChild(new XMPNode(PDFA_SCHEMA_PREFIX + ":" + PREFIX, prefix,
new PropertyOptions(PropertyOptions.NO_OPTIONS), PDFA_SCHEMA_PREFIX));
node.addChild(new XMPNode(PDFA_SCHEMA_PREFIX + ":" + PROPERTY,"",
node.addChild(new XMPNode(PDFA_SCHEMA_PREFIX + ":" + PROPERTY, "",
new PropertyOptions(PropertyOptions.ARRAY + PropertyOptions.ARRAY_ORDERED), PDFA_SCHEMA_PREFIX));
return new VeraPDFExtensionSchemaDefinition(VeraPDFXMPNode.fromXMPNode(node));
}
Expand Down

0 comments on commit b6f3a56

Please sign in to comment.