Namespace: Consultingwerk.Studio.ExtractClassAnnotations
Class 
ExtractClassAnnotationsJob Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object

File:ExtractClassAnnotationsJob
Purpose:Parses ABL source code using proparse and writes annotations
to a JSON file to provide runtime access to the annotations
using the Consultingwerk.Framework.TypeDescriptor classes
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Wed Jul 01 18:08:30 CEST 2015
Notes:https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094542/The+Annotation+based+Type+Descriptor



Top Method Summary
Options Name Purpose
# CopyAnnotations (ListAnnotation, ListSerializableAnnotation, character) Copies annotations from a ListAnnotations to a ListSerializableAnnotations
# LOGICAL OnlyDifferByTimeStamp (character, longchar) Returns if the new annotation JSON only differs by the annotation time stamp
# OnProcessingFile (ProcessingFileEventArgs) Raises the ProcessingFile event
# OnStatusChanged (StatusChangedEventArgs) Raises the StatusChanged
# LONGCHAR RemoveTimeStamp (longchar) Removes the "TimeStamp" from the provided JSON document
+ Run (ExtractClassAnnotationsParameter) Extracts class annotations into .annotation files

Top Event Summary
Options Name Purpose
+ ProcessingFile (Object, ProcessingFileEventArgs) Raised when the job processes a file
+ StatusChanged (Object, StatusChangedEventArgs) Raised to provide status information

Top Property Summary
Options Name Purpose
+ INTEGER FileCount


Method Detail
Top

PROTECTED CopyAnnotations (ListAnnotation, ListSerializableAnnotation, character)

Purpose: Copies annotations from a ListAnnotations to a ListSerializableAnnotations
Notes:

Parameters:
poFrom Consultingwerk.Studio.ListAnnotation
The ListAnnotation to copy annotations from
poTo Consultingwerk.Framework.TypeDescriptor.ListSerializableAnnotation
The ListSerializableAnnotation to copy to
pcExclude CHARACTER
Annotations (including the @) to exclude from copy
Top

PROTECTED LOGICAL OnlyDifferByTimeStamp (character, longchar)

Purpose: Returns if the new annotation JSON only differs by the
annotation time stamp
Notes:

Parameters:
pcAnnotationFile CHARACTER
The existing file with the annotation
plcAnnotations LONGCHAR
The new annotations JSON document
Returns LOGICAL
Logical value indicating if the annotations do only differ by the time stamp node
Top

PROTECTED OnProcessingFile (ProcessingFileEventArgs)

Purpose: Raises the ProcessingFile event
Notes:

Parameters:
e Consultingwerk.Studio.ExtractClassAnnotations.ProcessingFileEventArgs
The ProcessingFileEventArgs with the data for the event
Top

PROTECTED OnStatusChanged (StatusChangedEventArgs)

Purpose: Raises the StatusChanged
Notes:

Parameters:
e Consultingwerk.StatusChangedEventArgs
The eventargs with the data for the event
Top

PROTECTED LONGCHAR RemoveTimeStamp (longchar)

Purpose: Removes the "TimeStamp" from the provided JSON document
Notes: "TimeStamp": "2016-10-18T16:23:49.472+02:00",

Parameters:
plcJson LONGCHAR
The input JSON Document
Returns LONGCHAR
The JSON Document with the time-stamp removed
Top

PUBLIC Run (ExtractClassAnnotationsParameter)

Purpose: Extracts class annotations into .annotation files
Notes:

Parameters:
poParameter Consultingwerk.Studio.ExtractClassAnnotations.ExtractClassAnnotationsParameter
The ExtractClassAnnotationsParameter with the data for this call


Event Detail
Top

PUBLIC ProcessingFile (Object, ProcessingFileEventArgs)

Purpose: Raised when the job processes a file
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the ProcessingFile event
e Consultingwerk.Studio.ExtractClassAnnotations.ProcessingFileEventArgs
The ProcessingFileEventArgs with the data for the event
Top

PUBLIC StatusChanged (Object, StatusChangedEventArgs)

Purpose: Raised to provide status information
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the StatusChanged event
e Consultingwerk.StatusChangedEventArgs
The StatusChangedEventArgs with the data for the event


Property Detail
Top

PUBLIC INTEGER FileCount


Returns INTEGER


©2006-2023 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       15.04.2024 06:15:19