00001
00002
00003
00004
00005
00006
00007
00008 #ifndef Validate_h
00009 #define Validate_h
00010
00011 #include <string>
00012 #include <iostream>
00013
00014 #include "AGTypes.h"
00015 #include "AG.h"
00016 #include "Anchor.h"
00017 #include "Annotation.h"
00018 #include "AGException.h"
00019 #include "Identifiers.h"
00020
00021 class Validation {
00022 public:
00023
00030 static bool checkAnchorOffsetTotal(AG *ag, AnnotationType type);
00031
00039 static bool checkAnchorOffsetBounded(AG *ag, AnnotationType type);
00040
00048 static bool checkFeatureExists(AG *ag, AnnotationType type, FeatureName featureName);
00049
00058 static bool checkFeatureIsAnnotationId(AG *ag, AnnotationType type, FeatureName featureName);
00059
00066 static bool checkLinear(AG *ag, AnnotationType type);
00067
00074 static bool checkConnected(AG *ag, AnnotationType type);
00075
00084 static bool checkCoextensive(AG *ag, AnnotationType type1, AnnotationType type2);
00085
00095 static bool checkSpan(AG *ag, AnnotationType spanType, AnnotationType spannedType);
00096
00097 };
00098
00099 #endif