Class Merger
- java.lang.Object
-
- org.openprovenance.prov.validation.Merger
-
public class Merger extends Object
Class merging two statements of the same type. Can't this be streamlined and can avoid code repetition? problem is newElement needs static type of its argument!
-
-
Field Summary
Fields Modifier and Type Field Description Hashtable<String,List<Statement>>qualifiedNameMismatch
-
Constructor Summary
Constructors Constructor Description Merger(ProvFactory p, ProvUtilities u, Hashtable<String,List<Statement>> qualifiedNameMismatch, Indexer indexer)
-
Method Summary
-
-
-
Constructor Detail
-
Merger
public Merger(ProvFactory p, ProvUtilities u, Hashtable<String,List<Statement>> qualifiedNameMismatch, Indexer indexer)
-
-
Method Detail
-
checkSameQualifiedName
public <T extends Statement> boolean checkSameQualifiedName(QualifiedName fromArgument, QualifiedName toArgument, T from, T to)
-
merge
public <T extends Statement> T merge(T from, T to)
-
getFirstTimeIndex
public static int getFirstTimeIndex(Statement s)
-
getLastIndex
public static int getLastIndex(Statement s)
-
unify
public boolean unify(XMLGregorianCalendar fromTime, XMLGregorianCalendar toTime) throws NullPointerException
- Throws:
NullPointerException
-
updateSubstitutionTable
public void updateSubstitutionTable(VarQName id1, QualifiedName id2)
-
sameStartTime
public void sameStartTime(String activityURI, Activity activity, WasStartedBy start)
-
sameEndTime
public void sameEndTime(String activityURI, Activity activity, WasEndedBy end)
-
substitute
public QualifiedName substitute(QualifiedName id, Hashtable<VarQNameWrapper,QualifiedName> subst)
-
substitute
public XMLGregorianCalendar substitute(XMLGregorianCalendar id, Hashtable<VarTime,XMLGregorianCalendar> subst)
-
applySubstitution
public <T extends Statement> T applySubstitution(T from, Hashtable<VarQNameWrapper,QualifiedName> table, Hashtable<VarTime,XMLGregorianCalendar> timeTable)
-
applySubstitutionUnwrapped
public <T extends Statement> T applySubstitutionUnwrapped(T anEntry, Hashtable<VarQNameWrapper,QualifiedName> table, Hashtable<VarTime,XMLGregorianCalendar> timeTable) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, IllegalArgumentException
-
-