Class TBaseItem
Unit
Declaration
type TBaseItem = class(TSerializable)
Description
This is a basic item class, that is linkable, and has some RawDescription.
Source: source/component/PasDoc_Items.pas (line 157).
Hierarchy
- TObject
- TSerializable
- TBaseItem
Overview
Methods
| Public | class function Read7BitEncodedInt(const ASource: TStream): Integer; |
| Public | class procedure Write7BitEncodedInt(Value: Integer; const ADestination: TStream); |
| Public | class function LoadStringFromStream(const ASource: TStream): string; |
| Public | class procedure SaveStringToStream(const AValue: string; const ADestination: TStream); |
| Public | class function LoadDoubleFromStream(const ASource: TStream): double; |
| Public | class procedure SaveDoubleToStream(const AValue: double; const ADestination: TStream); |
| Public | class function LoadIntegerFromStream(const ASource: TStream): Longint; |
| Public | class procedure SaveIntegerToStream(const AValue: Longint; const ADestination: TStream); |
| Public | class procedure SerializeObject(const AObject: TSerializable; const ADestination: TStream); |
| Public | class function DeserializeObject(const ASource: TStream): TSerializable; |
| Public | class procedure Register(const AClass: TSerializableClass); |
| Public | procedure SerializeToFile(const AFileName: string); |
| Public | class function DeserializeFromFile(const AFileName: string): TSerializable; |
| Protected | procedure Serialize(const ADestination: TStream); override; |
| Protected | procedure Deserialize(const ASource: TStream); override; |
| Public | constructor Create; override; |
| Public | destructor Destroy; override; |
| Public | procedure RegisterTags(TagManager: TTagManager); virtual; |
| Public | function FindItem(const NameParts: TNameParts): TBaseItem; virtual; |
| Public | function FindItemMaybeInAncestors(const NameParts: TNameParts): TBaseItem; virtual; |
| Public | function FindName(const NameParts: TNameParts): TBaseItem; virtual; |
| Public | function RawDescriptionInfo: PRawDescriptionInfo; |
| Public | function QualifiedName: String; virtual; |
| Public | function BasePath: string; virtual; |
| Public | function Signature: string; virtual; |
Properties
| Public | property WasDeserialized: boolean read FWasDeserialized; |
| Public | property DetailedDescription: string
read FDetailedDescription write FDetailedDescription; |
| Public | property RawDescription: string
read GetRawDescription write WriteRawDescription; |
| Public | property FullLink: string read FFullLink write FFullLink; |
| Public | property LastMod: string read FLastMod write FLastMod; |
| Public | property Name: string read FName write FName; |
| Public | property Authors: TStringVector read FAuthors write SetAuthors; |
| Public | property Created: string read FCreated; |
| Public | property AutoLinkHereAllowed: boolean
read FAutoLinkHereAllowed write FAutoLinkHereAllowed default true; |
Description
Methods
| Public | class function Read7BitEncodedInt(const ASource: TStream): Integer; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure Write7BitEncodedInt(Value: Integer; const ADestination: TStream); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class function LoadStringFromStream(const ASource: TStream): string; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure SaveStringToStream(const AValue: string; const ADestination: TStream); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class function LoadDoubleFromStream(const ASource: TStream): double; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure SaveDoubleToStream(const AValue: double; const ADestination: TStream); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class function LoadIntegerFromStream(const ASource: TStream): Longint; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure SaveIntegerToStream(const AValue: Longint; const ADestination: TStream); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure SerializeObject(const AObject: TSerializable; const ADestination: TStream); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class function DeserializeObject(const ASource: TStream): TSerializable; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class procedure Register(const AClass: TSerializableClass); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | procedure SerializeToFile(const AFileName: string); |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | class function DeserializeFromFile(const AFileName: string): TSerializable; |
|
This item is declared in ancestor TSerializable. Read back from file. Exceptions raised
| |
| Protected | procedure Serialize(const ADestination: TStream); override; |
|
Serialization of TPasItem need to store in stream only data that is generated by parser. That's because current approach treats "loading from cache" as equivalent to parsing a unit and stores to cache right after parsing a unit. So what is generated by parser must be written to cache. That said,
| |
| Protected | procedure Deserialize(const ASource: TStream); override; |
|
This item has no description. | |
| Public | constructor Create; override; |
|
This item has no description. | |
| Public | destructor Destroy; override; |
|
This item has no description. | |
| Public | procedure RegisterTags(TagManager: TTagManager); virtual; |
|
It registers TTags that init Authors, Created, LastMod and remove relevant tags from description. You can override it to add more handlers. | |
| Public | function FindItem(const NameParts: TNameParts): TBaseItem; virtual; |
|
Search for an item with name NameParts inside this Pascal item. For units, it searches for items declared inside this unit (like a procedure, or a class in this unit). For classes it searches for items declared within this class (like a method or a property). For an enumerated type, it searches for members of this enumerated type. All normal rules of ObjectPascal scope apply, which means that e.g. classes have their separate namespace. When searching for Foo from the unit level, we do not "look into" class namespaces. Returns nil if not found. Note that it never compares NameParts with Self.Name. You may want to check this yourself if you want. Note that for TPasItem descendants, it always returns also some TPasItem descendant (so if you use this method with some TPasItem instance, you can safely cast result of this method to TPasItem). Implementation in this class always returns nil. Override as necessary. | |
| Public | function FindItemMaybeInAncestors(const NameParts: TNameParts): TBaseItem; virtual; |
|
This is just like FindItem, but in case of classes or such it should also search within ancestors. In this class, the default implementation just calls FindItem. | |
| Public | function FindName(const NameParts: TNameParts): TBaseItem; virtual; |
|
Do all you can to find link specified by NameParts. While searching this tries to mimic ObjectPascal identifier scope as much as it can. It seaches within this item, but also within class enclosing this item, within ancestors of this class, within unit enclosing this item, then within units used by unit of this item. | |
| Public | function RawDescriptionInfo: PRawDescriptionInfo; |
|
Full info about RawDescription of this item, including it's filename and position. This is intended to be initialized by parser. This returns PRawDescriptionInfo instead of just TRawDescriptionInfo to allow natural setting of properties of this record (otherwise Item.RawDescriptionInfo.StreamName := 'foo';
would not work as expected) . | |
| Public | function QualifiedName: String; virtual; |
|
Returns the qualified name of the item. This is intended to return a concise and not ambigous name. E.g. in case of TPasItem it is overridden to return Name qualified by class name and unit name. In this class this simply returns Name. | |
| Public | function BasePath: string; virtual; |
|
The full (absolute) path used to resolve filenames in this item's descriptions. Must always end with PathDelim. In this class, this simply returns GetCurrentDir (with PathDelim added if needed). | |
| Public | function Signature: string; virtual; |
|
Just like Name but optionally with added routine parameter types, to be unique when overloading is used. For example, for routines it may be like | |
Properties
| Public | property WasDeserialized: boolean read FWasDeserialized; |
|
This item is declared in ancestor TSerializable. This item has no description. | |
| Public | property DetailedDescription: string
read FDetailedDescription write FDetailedDescription; |
|
Detailed description of this item. In case of TPasItem, this is something more elaborate than TPasItem.AbstractDescription. This is already in the form suitable for final output, ready to be put inside final documentation. | |
| Public | property RawDescription: string
read GetRawDescription write WriteRawDescription; |
|
This stores unexpanded version (as specified in user's comment in source code of parsed units) of description of this item. Actually, this is just a shortcut to | |
| Public | property FullLink: string read FFullLink write FFullLink; |
|
a full link that should be enough to link this item from anywhere else | |
| Public | property LastMod: string read FLastMod write FLastMod; |
|
Contains '' or string with date of last modification. This string is already in the form suitable for final output format (i.e. already processed by TDocGenerator.ConvertString). | |
| Public | property Name: string read FName write FName; |
|
name of the item | |
| Public | property Authors: TStringVector read FAuthors write SetAuthors; |
|
list of strings, each representing one author of this item | |
| Public | property Created: string read FCreated; |
|
Contains '' or string with date of creation. This string is already in the form suitable for final output format (i.e. already processed by TDocGenerator.ConvertString). | |
| Public | property AutoLinkHereAllowed: boolean
read FAutoLinkHereAllowed write FAutoLinkHereAllowed default true; |
|
Is auto-link mechanism allowed to create link to this item ? This may be set to | |
Generated by PasDoc 1.0.2.