00001 
00006 interface AGAPI {
00007 
00011   typedef string Id;              
00013   typedef string AGSetId;         
00015   typedef string AGId;
00017   typedef string AGIds;
00019   typedef string AnnotationId;
00021   typedef string AnnotationType;
00023   typedef string AnnotationIds;
00025   typedef string AnchorId;
00027   typedef string AnchorIds;
00029   typedef string TimelineId;
00031   typedef string SignalId;
00033   typedef string SignalIds;
00035   typedef string FeatureName;
00037   typedef string FeatureNames;
00039   typedef string FeatureValue;
00041   typedef string Features;
00043   typedef string URI;
00045   typedef string MimeClass;
00047   typedef string MimeType;
00049   typedef string Encoding;
00051   typedef string Unit;
00053   typedef double Offset;
00055   typedef string Track;
00056 
00063   AGSetId      CreateAGSet(      in AGSetId        agSetId);
00064 
00066   boolean      ExistsAGSet(      in AGSetId        agSetId);
00067 
00072   void         DeleteAGSet(         in AGSetId        agSetId);
00073 
00074 
00083   AGId         CreateAG(         in Id             id)
00084 
00095   AGId         CreateAG(         in Id             id,
00096                                  in TimelineId     timelineId );
00097   
00099   boolean      ExistsAG(         in AGId           agId );
00100   
00102   void         DeleteAG(         in AGId           agId );
00103 
00112   AGIds        GetAGIds(         in AGSetId        agSetId );
00113   
00122   TimelineId   CreateTimeline(   in Id     id );
00123   
00125   boolean      ExistsTimeline(   in TimelineId     timelineId );
00126   
00128   void         DeleteTimeline(   in TimelineId     timelineId );
00129   
00138   SignalId     CreateSignal(     in Id             id,
00139                                  in URI            uri,
00140                                  in MimeClass      mimeClass,
00141                                  in MimeType       mimeType,
00142                                  in Encoding       encoding,
00143                                  in Unit           unit,
00144                                  in Track          track );
00145   
00147   boolean      ExistsSignal(     in SignalId       signalId );
00148   
00150   void         DeleteSignal(     in SignalId       signalId );
00151   
00160   SignalIds    GetSignals(       in TimelineId     timelineId );
00161 
00163   void         SetOffsetUnit(    in AnchorId       anchorId,
00164                                  in Unit           unit);
00166   Unit         GetOffsetUnit(    in AnchorId       anchorId);
00167 
00169   void         SetAnchorSignalIds(in AnchorId      anchorId,
00170                                   in SignalIds     signalIds);
00171 
00173   SignalIds    GetAnchorSignalIds(in AnchorId      anchorId);
00174 
00176   MimeClass    GetSignalMimeClass(in SignalId      signalId );
00178   MimeType     GetSignalMimeType( in SignalId      signalId );
00180   Encoding     GetSignalEncoding( in SignalId      signalId );
00182   string       GetSignalXlinkType(in SignalId      signalId );
00184   string       GetSignalXlinkHref(in SignalId      signalId );
00186   string       GetSignalUnit(     in SignalId      signalId );
00188   Track        GetSignalTrack(    in SignalId      signalId );
00189 
00198   AnnotationId CreateAnnotation( in Id              id,
00199                                  in AnchorId        start,
00200                                  in AnchorId        end,
00201                                  in AnnotationType  annotationType );
00202   
00204   boolean      ExistsAnnotation( in AnnotationId    annotationId );
00206   void         DeleteAnnotation( in AnnotationId    annotationId );
00213   AnnotationId CopyAnnotation(   in AnnotationId    annotationId );
00214 
00226   AnnotationIds
00227                SplitAnnotation(  in AnnotationId     annotationId );
00228 
00239   AnnotationIds
00240                NSplitAnnotation( in AnnotationId     annotationId,
00241                                  in short            N );
00242   
00244   AnnotationType GetAnnotationType( in AnnoationId annotationId );
00246   AnchorId     GetStartAnchor(   in AnnotationId    annotationId );
00248   AnchorId     GetEndAnchor(     in AnnotationId    annotationId );
00250 
00260   string GetAnnotationInfo( in AnnoationId annotationId );
00261 
00262   void         SetStartAnchor(   in AnnotationId    annotationId,
00263                                  in AnchorId        anchorId );
00265   void         SetEndAnchor(     in AnnotationId    annotationId,
00266                                  in AnchorId        anchorId );
00267   
00269   Offset       GetStartOffset(   in AnnotationId    annotationId );
00271   Offset       GetEndOffset(     in AnnotationId    annotationId );
00273   void         SetStartOffset(   in AnnotationId    annotationId,
00274                                  in Offset          offset );
00276   void         SetEndOffset(     in AnnotationId    annotationId,
00277                                  in Offset          offset );
00278 
00280   sequence<AnnotationType> GetAnnotationTypes(in Id id);
00282   sequence<FeatureName> GetAnnotationFeatureNames(in Id id);
00283  
00284   
00285   
00286   
00287   
00299   void         SetFeature(       in Id              id,
00300                                  in FeatureName     featureName,
00301                                  in FeatureValue    featureValue );
00302   
00313   boolean      ExistsFeature(    in Id              id,
00314                                  in FeatureName     featureName );
00315   
00326   void         DeleteFeature(    in Id             id,
00327                                  in FeatureName    featureName );
00328   
00339   string       GetFeature(       in Id             id,
00340                                  in FeatureName    featureName );
00352   void         UnsetFeature(     in Id             id,
00353                                  in FeatureName    featureName );
00365   FeatureNames
00366                GetFeatureNames(  in Id             id );
00367 
00419   void         SetFeatures(      in Id             id,
00420                                  in Features       features );
00421   
00473   Features     GetFeatures(      in Id             id );
00474   
00486   void         UnsetFeatures(    in Id             id );
00487   
00488   
00496   AnchorId     CreateAnchor(     in Id             id,
00497                                  in Offset         offset,
00498                                  in Unit           unit,
00499                                  in SignalIds      signalIds );
00500   
00508   AnchorId     CreateAnchor(     in Id             id,
00509                                  in SignalIds      signalIds );
00510   
00518   AnchorId     CreateAnchor(     in Id             id );
00519 
00521   boolean      ExistsAnchor(     in AnchorId       anchorId );
00523   void         DeleteAnchor(     in AnchorId       anchorId );
00525   void         SetAnchorOffset(  in AnchorId       anchorId,
00526                                  in Offset         offset );
00528   Offset       GetAnchorOffset(  in AnchorId       anchorId );
00529 
00531   boolean      GetAnchored(in AnchorId anchorId );
00532 
00536   void         UnsetAnchorOffset(in AnchorId       anchorId );
00537   
00546   AnchorId     SplitAnchor(      in AnchorId       anchorId );
00547   
00549   AnnotationIds
00550                GetIncomingAnnotationSet(
00551                                  in AnchorId       anchorId );
00552 
00554   AnnotationIds
00555   GetIncomigAnnotationSetByType(in AnchorId anchorId,
00556                                 in AnnotationType type);
00557 
00559   AnnotationIds
00560                GetOutgoingAnnotationSet(
00561                                  in AnchorId       anchorId );
00562 
00564   AnnotationIds
00565   GetOutfoingAnnotationSet(in AnchorId anchorId,
00566                            in AnnotationType type);
00567 
00569   AnchorIds    GetAnchorSet(     in AGId           agId );
00578   AnchorIds    GetAnchorSetByOffset(
00579                                  in AGId           agId,
00580                                  in Offset         offset );
00581 
00593   AnchorIds    GetAnchorSetByOffset(
00594                                  in AGId           agId,
00595                                  in Offset         offset,
00596                                  in float          epsilon );
00597 
00598 
00605   AnchorIds    GetAnchorSetNearestOffset(
00606                                  in AGId           agId,
00607                                  in Offset         offset );
00608 
00610   AnnotationIds
00611                GetAnnotationSetByFeature(
00612                                  in AGId           agId,
00613                                  in FeatureName    featureName,
00614                                  in FeatureValue   featureValue);
00615 
00621   AnnotationIds
00622                GetAnnotationSetByOffset(
00623                                  in AGId           agId,
00624                                  in Offset         offset );
00626   AnnotationIds
00627                GetAnnotationSetByType(
00628                                  in AGId           agId,
00629                                  in AnnotationType annotationType );
00630 
00636   AnnotationIds GetAnnotationSeqByOffset(
00637                                         in AGId           agId);
00643   AnnotationIds GetAnnotationSeqByOffset(
00644                                         in AGId           agId,
00645                                         in Offset         begin);
00646 
00653   AnnotationIds GetAnnotationSeqByOffset(
00654                                         in AGId           agId,
00655                                         in Offset         begin,
00656                                         in Offset         end);
00657   
00658   
00663   AGSetId      GetAGSetId(       in Id             id );
00664 
00668   AGId         GetAGId(          in Id             id );
00669 
00673   TimelineId   GetTimelineId(    in Id             id );
00674 
00676   bool
00677   SPrecedes(in AnnotationId annotationId1,
00678             in AnnotationId annotationId2);
00679 
00681   string toXML(    in AGSetId            id);
00682 
00684   string toXML(    in AGId                   agId);
00685 
00751   bool LoadFromDB(   in string           connStr,
00752                      in AGSetId          agsetId);
00753 
00819   bool StoreToDB(   in string            connStr
00820                     in AGSetId           agsetId);
00821 
00823 
00837   AGIds
00838   Load(in string        format,
00839        in string        annotationFile,
00840        in string        id,
00841        in string[10][2] signalInfo,
00842        in string[10][2] options);
00843 
00845 
00857   void
00858   Store(in string        format,
00859         in string        filename,
00860         in string        agIds,
00861         in string[10][2] options);
00862 
00869 boolean
00870 CheckAnchorOffsetTotal(in Id agId,
00871                        in AnnotationType type);
00872 
00880 boolean
00881 CheckAnchorOffsetBounded(in Id agId,
00882                          in AnnotationType type);
00883 
00891 boolean
00892 CheckFeatureExists(in Id agId,
00893                    in AnnotationType type,
00894                    in FeatureName featureName);
00895 
00904 boolean
00905 CheckFeatureIsAnnotationId(in Id agId,
00906                            in AnnotationType type,
00907                            in FeatureName featureName);
00908 
00915 boolean
00916 CheckLinear(in Id agId,
00917             in AnnotationType type);
00918 
00925 boolean
00926 CheckConnected(in Id agId,
00927                in AnnotationType type);
00928 
00937 boolean
00938 CheckCoextensive(in Id agId,
00939                  in AnnotationType type1,
00940                  in AnnotationType type2);
00941 
00951 boolean
00952 CheckSpan(in Id agId,
00953           in AnnotationType spanType,
00954           in AnnotationType spannedType);
00955 
00956 };