HomeNewsSurveyDownloadsDevelopment DocsDevelopment BlogsProject Page

  Table of Contents


Data Abstraction Layer Types
Data Abstraction Layer Type Collections
API
Event Argument Classes
Other

Data Abstraction Layer Types

public class Abstract : BasicDbTypeWithTextProperty
represents the abstract of a journal article, a film, etc.
CONSTRUCTORS:
public Abstract (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Abstract (string id, string text) : base(id)
basic detached constructor
public Abstract (string id, string text, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override Abstract CopyToDetached ()
creates a detached copy of this Abstract object
public class Annotation : BasicDbTypeWithTextProperty
represents an annotation
CONSTRUCTORS:
public Annotation (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Annotation (string id, string text) : base(id)
basic detached constructor
public Annotation (string id, string text, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public Annotation CopyToDetached ()
creates a detached copy of this Annotation object
public abstract class BasicDbFileType : BasicDbType
Blob and FileReference derive from this class
FIELDS:
protected bool _isURL = false
the value of this variable is determined by Initialize() or InitializeDetached(), depending on what kind of object is created.
protected string _myDescription
a description of this file
protected string _myFileName
protected string _myFullPath
CONSTRUCTORS:
public BasicDbFileType (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public BasicDbFileType (string id, string filename, string fullPath) : base(id)
detached constructor
METHODS:
public void DetermineIsURL ()
uses regular expressions to determine whether the full path refers to a local file or is a URL. Called by Initialize() and InitializeDetached(). Sets _isURL directly.
protected override string GetBasisForComparison ()
returns a string which can be used to compare objects
public override void Initialize ()
initializes the attached object; calls DetermineIsURL()
protected override void InitializeDetached ()
initializes the detached object; calls DetermineIsURL(); called by detached constructor
public abstract void Show ()
has to be implemented by descendants to allow viewing the file with its default viewer without casting (needed for FileReferenceCollection which takes both FileReference and Blob objects)
PROPERTIES/ACCESSORS:
string Description { get; set; }
string FileName { get; set; }
abstract string FullPath { get; set; }
accessors have to be implemented by descendants
bool IsURL { get; set; }
returns _isURL
public abstract class BasicDbType : IComparable
The basic class from which all other database types in the DAL derive.
FIELDS:
protected bool _isDeleted = false
protected bool _isDetached = false
protected bool _isInitialized = false
protected string _myID
stores a GUID
protected IDatabaseWrapper _myWrapper
CONSTRUCTORS:
public BasicDbType (serialized data)
deserialization constructor; required for clipboard and drag & drop support
public BasicDbType (string id)
the detached constructor
public BasicDbType (string id, IDatabaseWrapper wrapper)
the attached constructor
METHODS:
public virtual void [serialization method] (serialization stream)
controls serialization, needed for clipboard and drag & drop support
public void AttachToDatabase (IDatabaseWrapper wrapper)
should only execute if (_isDetached). Attaches a detached object to a database, in other words tells the relevant IDatabaseWrapper to save the object to the underlying database
public virtual int CompareTo() (object o)
implements Comparable (Java) / IComparable (C#)
public void Delete ()
sets _isDeleted = true; possibly calls IDatabaseWrapper to perform an delete operation on the database
protected string GetBasisForComparison ()
returns a string which can be used by CompareTo(); the idea behind this is that two data access layer objects can be compared by comparing their specific string representations (which may be different from the result of ToString())
public void Initialize ()
called by the IBibliographicalWrapper to which this item belongs upon deserialization from the database. This method should set _isInitialized to true on being first called and only execute, if (!_isInitialized).
protected void InitializeDetached ()
called by the detached constructor
public void Undelete ()
sets _isDeleted = false; possibly calls IDatabaseWrapper to perform an undelete operation on the database
PROPERTIES/ACCESSORS:
IDatabaseWrapper DatabaseWrapper { get; set; }
returns _ myWrapper
string ID { get; set; }
returns _myID
bool IsDeleted { get; set; }
returns _isDeleted
bool IsDetached { get; set; }
returns _isDetached
public abstract class BasicDbTypeWithContactInfo : BasicDbTypeWithNameProperty
the class from which such classes as Person and Body derive from
FIELDS:
protected AddressCollection _myAddresses
protected EmailAddressCollection _myEmailAddresses
protected BibliographicalItemCollection _myItems
protected PhoneNumberCollection _myPhoneNumbers
protected FileReferenceCollection _myURLs
CONSTRUCTORS:
public BasicDbTypeWithContactInfo (string id) : base(id)
basic detached constructor
public BasicDbTypeWithContactInfo (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public BasicDbTypeWithContactInfo (string id, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
protected override void InitializeDetached ()
initializes the collection types
PROPERTIES/ACCESSORS:
AddressCollection Addresses { get; set; }
EmailAddressCollection EmailAddresses { get; set; }
BibliographicalItemCollection Items { get; set; }
returns all bibliographical items related to this object
PhoneNumberCollection PhoneNumbers { get; set; }
FileReferenceCollection URLs { get; set; }
public abstract class BasicDbTypeWithMetaInfo : BasicDbType
the basic type from which all other types requiring meta information (creator, creation date, last modified by, last modification date) derive
FIELDS:
protected DateTime _lastModificationTimestamp
protected string _lastModifiedBy
protected DateTime _myCreationTimestamp
protected string _myCreator
CONSTRUCTORS:
public BasicDbTypeWithMetaInfo (string id) : base(id)
basic detached constructor
public BasicDbTypeWithMetaInfo (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public BasicDbTypeWithMetaInfo (string id, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id)
advanced detached constructor
METHODS:
public void UpdateModificationInfo ()
updates modification info based on the current user name (taken from environment) and current date and time
public void UpdateModificationInfo (string user)
updates modification info based on the username passed and current date and time
public void UpdateModificationInfo (string user, DateTime timestamp)
updates modification info based on the user and date and time specified
PROPERTIES/ACCESSORS:
DateTime CreationTimestamp { get; set; }
returns the item's creation date and time
string Creator { get; set; }
returns the item's creator
DateTime LastModificationTimestamp { get; set; }
returns the date and time of the last modification
string LastModifiedBy { get; set; }
returns the name of the user who last modified this item
public abstract class BasicDbTypeWithNameProperty : BasicDbTypeWithMetaInfo
this is the basic class from which all other classes with name properties derive
FIELDS:
protected string _myName
CONSTRUCTORS:
public BasicDbTypeWithNameProperty (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public BasicDbTypeWithNameProperty (string id, string name) : base(id)
simple detached constructor
public BasicDbTypeWithNameProperty (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
PROPERTIES/ACCESSORS:
string Name { get; set; }
public abstract class BasicDbTypeWithTextProperty : BasicDbTypeWithMetaInfo
classes such as TitleTranslation or Comment derive from this class
FIELDS:
protected string _myText
CONSTRUCTORS:
public BasicDbTypeWithTextProperty (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public BasicDbTypeWithTextProperty (string id, string text) : base(id)
basic detached constructor
public BasicDbTypeWithTextProperty (string id, string text, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override string GetBasisForComparison ()
PROPERTIES/ACCESSORS:
string Text { get; set; }
public abstract class BasicSettingsType

FIELDS:
protected string _myDescription
protected string _myName
CONSTRUCTORS:
public BasicSettingsType (string name, string description)
METHODS:
public object Clone ()
implements the ICloneable interface
public int CompareTo (object obj)
implements the IComparable interface; calls GetBasisForComparison()
protected abstract string GetBasisForComparison ()
is called by CompareTo(); must be implemented by all descendents.
PROPERTIES/ACCESSORS:
string Description { get; set; }
string Name { get; set; }
public class BibliographicType : BasicSettingsType
represents a bibliographic type such as article, book, colelction, lecture, etc. as well as information on which fields (author, title, isbn, doi, etc.) should be displayed for data input by users
CONSTRUCTORS:
public BibliographicType (string name, string description, Hashtable displayInfo) : base(name, description)
the Hashtable displayInfo uses field names (author, title, isbn, etc.) as keys and a boolean value
public class Binding : BasicSettingsType
e.g. hardcover, softcover, etc.
CONSTRUCTORS:
public Binding (string name, string description) : base(name, description)
METHODS:
protected override string GetBasisForComparison ()
called by CompareTo(); returns a string representation of the current object to allow comparing it to a another instance of the same type
public class Blob : BasicDbFileType
represents binary data (e.g. a pdf document) stored in the database
FIELDS:
protected MemoryStream (C#) or byte array (Java) _myBinaryData
stores binary data. For C#, it is probably advantageous using a MemoryStream object, since this allows easier handling e.g. of file operations (saving) than binary arrays do. However, both types can be easily converted into each other, so the question may rather be which of the alternatives is more sensible in terms of memory and CPU usage?
METHODS:
public Blob CopyToDetached ()
creates a detached copy of this Blob object
public override void Show ()
stores the binary data temporarily into a file and opens it with the default application. Waits for editing/viewing to finish (background thread) and then updates binary data contained in this object itself.
PROPERTIES/ACCESSORS:
MemoryStream or byte[] BinaryData { get; set; }
provides access to the binary data
string FullPath { get; set; }
The get method offers 2 possibilities: 1) return an empty string since there is no physical file 2) return a full path reference to the temp directory where the binary data would be stored temporarily for viewing/editing. The setter has no effect, since no path information is stored in the database
public class Body : BasicDbTypeWithContactInfo
represents any kind of organization, institution, department, university, corporation, etc.
FIELDS:
protected bool _isLibrary = false
protected bool _isPublisher = false
CONSTRUCTORS:
public Body (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Body (string id, string name) : base(id, name)
basic detached constructor
public Body (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public virtual Body CopyToDetached ()
returns a detached copy of this Body object
protected override string GetBasisForComparison ()
returns a string representation used by CompareTo() to compare this instance of Body to another
public override void Initialize ()
PROPERTIES/ACCESSORS:
bool IsLibrary { get; set; }
bool IsPublisher { get; set; }
string Name { get; set; }
public enum CitationPositions
specifies the position at which a citation occurs to allow correct formatting
public class CitationStyle : BasicSettingsType
represents a citation sytle, e.g. Chicago, Author-Date, etc.
CONSTRUCTORS:
public CitationStyle (string name, string description, Hashtable formattingInfo) : base(name, description)
METHODS:
public string GetFormattingInfo (BibliographicType bibliographicType, CitationPositions position)
returns a string which is parsed by the global IFormattingEngine to correctly format a citation
public void SetFormattingInfo (BibliographicType bibliographicType, CitationPositions position, string formattingInfo)
allows modifying the formatting information for a certain bibliographic type and the specified position
public class Comment : BasicDbTypeWithTextProperty
represents a comment
CONSTRUCTORS:
public Comment (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Comment (string id, string text) : base(id)
basic detached constructor
public Comment (string id, string text, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public Comment CopyToDetached ()
creates a detached copy of this Comment object
public class Context : BasicDbTypeWithNameProperty
represents a context, e.g. a research context such as a specific paper
CONSTRUCTORS:
public Context (string id) : base(id)
basic detached constructor
public Context (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Context (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, name, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override Context CopyToDetached ()
returns a detached copy of this Context object
public class Currency : BasicSettingsType

FIELDS:
protected string _mySymbol
contains the currency's official symbol such as €, $ or YTL
CONSTRUCTORS:
public Currency (string name, string description, string symbol) : base(name, description)
METHODS:
protected override string GetBasisForComparison ()
called by CompareTo(); returns a string representation of teh current object to allow comparing it to a another instance of the same type
public override string ToString ()
returns a string representation of this currency according to the settings supplied via the global ISettingsProvider (e.g. € or Euro)
PROPERTIES/ACCESSORS:
string Symbol { get; set; }
public class FileReference : BasicDbFileType
represents a reference to a file on a local or remote computer or a URL
METHODS:
public FileReference CopyToDetached ()
created a detached copy of this FileReference object
public override void Show ()
displays the file referenced to (if it exists) using the default application
PROPERTIES/ACCESSORS:
string FullPath { get; set; }
returns/alters the file path stored in the database for this FileReference object
public class Format : BasicSettingsType
represents a paper format such as A4, Legal, octavo, etc.
CONSTRUCTORS:
public Format (string name, string description) : base(name, description)
METHODS:
protected override string GetBasisForComparison ()
called by CompareTo(); returns a string representation of the current object to allow comparing it to a another instance of the same type
public class ItemLocation : BasicDbType
represents an item's location, i.e. a classmark and the corresponding library
FIELDS:
protected string _myClassmark
protected BibliographicalItemCollection _myItems
a list of all the BibliographicalItem objects which specify this item location; one ItemLocation belonging to several items would occur, for example, when the database lists separately pieces by different authors published in the same volume or where libraries assign a classmark to a whole journal rather than to its individual volumes
protected Library _myLibrary
protected string _myNote
allows storing additional information, e.g. that the item has to be ordered from closed stacks or is a reference item which may not be borrowed
CONSTRUCTORS:
public ItemLocation (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public ItemLocation (string id, string classmark, Library library) : base(id)
detached constructor
METHODS:
public ItemLocation CopyToDetached ()
provides a detached copy of this ItemLocation object
protected override string GetBasisForComparison ()
provides a string representation of this ItemLocation object which is used by CompareTo() to compare this instance of ItemLocation to another
public override void Initialize ()
protected override void InitializeDetached ()
PROPERTIES/ACCESSORS:
string Classmark { get; set; }
BibliographicalItemCollection Items { get; set; }
Library Library { get; set; }
string Note { get; set; }
public class Keyword : BasicDbTypeWithTextProperty
represents a keyword
CONSTRUCTORS:
public Keyword (string id) : base(id)
basic detached constructor
public Keyword (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
Keyword (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, name, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override Keyword CopyToDetached ()
returns a detached copy of this Keyword object
public class Language : BasicSettingsType

FIELDS:
protected string _myAlpha3Code
stores the 3-letter code according to the ISO 639 standard, e.g. eng, deu, etc. You can find the full code table at <a href="http://www.sil.org/iso639-3/codes.asp">http://www.sil.org/iso639-3/codes.asp</a>.
CONSTRUCTORS:
public Language (string name, string description, string alpha3Code) : base(name, description)
METHODS:
protected override string GetBasisForComparison ()
called by CompareTo(); returns a string representation of teh current object to allow comparing it to a another instance of the same type
public override string ToString ()
returns a string representation of this Language according to the settings supplied by the global ISettingsProvider, e.g. eng or English
PROPERTIES/ACCESSORS:
string Alpha3Code { get; set; }
public class Library : Body
represents a library
CONSTRUCTORS:
public Library (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Library (string id, string name) : base(id, name)
basic detached constructor
public Library (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override Library CopyToDetached ()
returns a detached copy of this Library object
public class Link : BasicDbType
represents a link between two bibliographical items
FIELDS:
protected string _myDescription
contains a description for this particular link
protected BibliographicalItem _myItemA
protected BibliographicalItem _myItemB
protected LinkDirection _myLinkDirection
this Link's direction
protected LinkType _myLinkType
determines what kind of link this is, e.g. adaptation of, review of, part of same discussion, inspiration for, etc.
protected Hashtable _myWeightByContextMap
this Hashtable (or SortedList) maps Context keys to int values. The idea behind this mechanism is that a Link may be stronger or weaker, or even non-existent, according to context.
METHODS:
public Link CopyToDetached ()
creates a detached copy of this Link
protected override string GetBasisForComparison ()
returns a string which allows comparing this Link with other Link objects
public int GetWeight (Context context)
returns the Link's weight for the Context specified; if the Context is not found in _myWeightByContext, then 0 is returned.
public void SetWeight (Context context)
sets this Link's weight for the specified Context; if the Context is not already part of _myWeightByContext then it is added.
PROPERTIES/ACCESSORS:
string Description { get; set; }
LinkDirection Direction { get; set; }
returns this Link's LinkDirection
LinkType LinkType { get; set; }
returns this Link's LinkType
enum LinkDirection
determines a Link object's direction
enum LinkType
determines a Link object's type
public class Periodical : BasicDbTypeWithContactInfo
represents a periodical
FIELDS:
protected PersonCollection _myEditorialBoard
protected string _myFrequency
represents the frequency of publication
protected string _myNote
CONSTRUCTORS:
public Periodical (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Periodical (string id, string note, string frequency, PersonCollection editorialBoard) : base(id)
basic detached constructor
public Periodical (string id, string note, string frequency, PersonCollection editorialBoard, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
extended detached constructor
METHODS:
public Periodical CopyToDetached ()
returns a detached copy of this Periodical object
protected override string GetBasisForComparison ()
returns a string representation used by CompareTo() to compare this instance of Periodical to another
public override void Initialize ()
protected override void InitializeDetached ()
PROPERTIES/ACCESSORS:
PersonCollection EditorialBoard { get; set; }
string Frequency { get; set; }
Note { get; set; }
public class Person : BasicDbTypeWithContactInfo
represents a person (e.g. author, lecturer, etc.)
FIELDS:
protected bool _isAuthor = false
protected bool _isEditor = false
protected bool _isIllustrator = false
protected bool _isPerformer = false
protected bool _isTranslator = false
protected string _myFirstname
protected PeriodicalCollection _myPeriodicalCollection
protected Image _myPhoto
protected SeriesCollection _mySeries
protected string _mySurname
protected int _myYearOfBirth
protected int _myYearOfDeath
CONSTRUCTORS:
public Person (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Person (string id, string surname, string firstname, int yearOfBirth, int yearOfDeath, bool isAuthor, bool isEditor, bool isIllustrator, bool isPerformer, bool isTranslator) : base(id)
basic detached constructor
public Person (string id, string surname, string firstname, int yearOfBirth, int yearOfDeath, bool isAuthor, bool isEditor, bool isIllustrator, bool isPerformer, bool isTranslator, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public Person CopyToDetached ()
returns a detached copy of this Person object
protected override string GetBasisForComparison ()
returns a string representation which is used by CompareTo() to compare this instance of Person to another
public override void Initialize ()
protected override void InitializeDetached ()
PROPERTIES/ACCESSORS:
string Firstname { get; set; }
bool IsAuthor { get; set; }
bool IsEditor { get; set; }
bool IsIllustrator { get; set; }
bool IsPerformer { get; set; }
bool IsTranslator { get; set; }
string Name { get; set; }
returns the person's full name according to the formatting preferences specified in the global ISettingsProvider; essentially returns a Person's ToString() method
PeriodicalCollection Periodicals { get; set; }
Image Photo { get; set; }
SeriesCollection Series { get; set; }
string Surname { get; set; }
string YearOfBirth { get; set; }
string YearOfDeath { get; set; }
public class Price : BasicDbType
represents a price
FIELDS:
protected Currency _myCurrency
protected Currency _myCurrency
protected double _myValue = 0
contains the numerical value of this item
protected double _myValue = 0
stores the numerical value for this price
CONSTRUCTORS:
public Price (string id, double value, Currency currency) : base(id)
detached constructor
public Price (string id, double value, Currency currency) : base(id)
detahced constructor
Price (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Price (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
METHODS:
public Price">Price CopyToDetached ()
creates a detached copy of this object
public Price">Price CopyToDetached ()
returns a detached copy of this Price">Price object
public override string GetBasisForComparison ()
returns a string representation of this Price">Price to allow comparison with other Prices
protected string GetBasisForComparison ()
returns a string which can be used by the CompareTo() method to compare this instance of Price">Price to another
public override string ToString ()
returns a string representation of this object based on user preferences and provided by the global ISettingsProvider; e.g. "12.95 EUR", "EUR 12.95", "$ 15.49", "15.49 $", etc.
public override string ToString ()
returns a string representation of this price according to the format specified in the config file (retrieved via the global ISettingsProvider).
PROPERTIES/ACCESSORS:
Currency Currency { get; set; }
returns this Price">Price's Currency
Currency Currency { get; set; }
affects _myCurrency; if the object is attached to an IDatabaseWrapper, the change is communicated to it to update the database.
double Value { get; set; }
returns this Price">Price's numerical value
double Value { get; set; }
sets/returns the numerical value of this Price">Price
public class Price : BasicDbType
represents the Price">Price of a bibliographical item
FIELDS:
protected Currency _myCurrency
protected Currency _myCurrency
protected double _myValue = 0
contains the numerical value of this item
protected double _myValue = 0
stores the numerical value for this price
CONSTRUCTORS:
public Price (string id, double value, Currency currency) : base(id)
detached constructor
public Price (string id, double value, Currency currency) : base(id)
detahced constructor
Price (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Price (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
METHODS:
public Price">Price CopyToDetached ()
creates a detached copy of this object
public Price">Price CopyToDetached ()
returns a detached copy of this Price">Price object
public override string GetBasisForComparison ()
returns a string representation of this Price">Price to allow comparison with other Prices
protected string GetBasisForComparison ()
returns a string which can be used by the CompareTo() method to compare this instance of Price">Price to another
public override string ToString ()
returns a string representation of this object based on user preferences and provided by the global ISettingsProvider; e.g. "12.95 EUR", "EUR 12.95", "$ 15.49", "15.49 $", etc.
public override string ToString ()
returns a string representation of this price according to the format specified in the config file (retrieved via the global ISettingsProvider).
PROPERTIES/ACCESSORS:
Currency Currency { get; set; }
returns this Price">Price's Currency
Currency Currency { get; set; }
affects _myCurrency; if the object is attached to an IDatabaseWrapper, the change is communicated to it to update the database.
double Value { get; set; }
returns this Price">Price's numerical value
double Value { get; set; }
sets/returns the numerical value of this Price">Price
public class Publisher : Body
represents a publisher
FIELDS:
protected PeriodicalCollection _myPeriodicals
protected PersonCollection _myPersons
contains all contributors to this Series
protected SeriesCollection _mySeries
CONSTRUCTORS:
public Publisher (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Publisher (string id, string name) : base(id, name)
basic detached constructor
public Publisher (string id, string name, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public override Publisher CopyToDetached ()
returns a detached copy of this Publisher object
protected override void InitializeDetached ()
PROPERTIES/ACCESSORS:
PersonCollection Authors { get; set; }
PersonCollection Editors { get; set; }
PersonCollection Illustrators { get; set; }
PeriodicalCollection Periodicals { get; set; }
SeriesCollection Series { get; set; }
PersonCollection Translators { get; set; }
public class Rating : BasicDbType
represents a user's rating of a bibliographical item
FIELDS:
protected string _myCreator
the user whose rating this object represents
protected int _myRating = 0
the rating as an integer; suggested values 0 to 5
CONSTRUCTORS:
public Rating (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public Rating (string id, string creator, int ratingValue) : base(id)
detached constructor
METHODS:
public Rating CopyToDetached ()
creates a detached copy of this Rating object
PROPERTIES/ACCESSORS:
string Creator { get; set; }
returns _myCreator
int RatingValue { get; set; }
affects _myRating
puiblic class TitleTranslation : BasicDbTypeWithTextProperty
represents the translated title of a BibliographicalItem; intended e.g. for the use of Sinologists who publish in a different language than Chinese. If used, the BibliographicalItem's Title property should ALWAYS contain the title in the original language and script; translations and transliterations would be classified as TitleTranslations.
FIELDS:
protected Language _myLanguage
represents the language of this translation
CONSTRUCTORS:
public TitleTranslation (string id, IDatabaseWrapper wrapper) : base(id, wrapper)
attached constructor
public TitleTranslation (string id, string text) : base(id)
basic detached constructor
public TitleTranslation (string id, string text, string creator, DateTime creationTimestamp, string lastModifiedBy, DateTime lastModificationTimestamp) : base(id, creator, creationTimestamp, lastModifiedBy, lastModificationTimestamp)
advanced detached constructor
METHODS:
public TitleTranslation CopyToDetached ()
creates a detached copy of this TitleTranslation object
PROPERTIES/ACCESSORS:
Language Language { get; set; }
affects _myLanguage
Back to Table of Contents




Data Abstraction Layer Type Collections

public class AddressCollection : BasicDbTypeCollection<Address, Person, AddressCollection>
stores Address objects
CONSTRUCTORS:
public AddressCollection (Person parent) : base(parent)
basic detached constructor
public AddressCollection (Person parent, IDatabaseWrapper wrapper) : base(parent, wrapper)
basic attached constructor
public AddressCollection (Person parent, IDatabaseWrapper wrapper, bool topLevel) : base(parent, wrapper, topLevel)
extended attached constructor
METHODS:
public AddressCollection CopyToDetached ()
returns a copy of this collection and all items contained in it
public abstract class BasicDbTypeCollection<T,P,R> : IEnumerable
provides the basic mechanisms for type collections
FIELDS:
protected bool _bulkInsert = false
normally false; this variable is set to true when BulkInsert() is called, in order to bypass sorting
protected bool _isDetached = true
protected bool _isTopLevel = false
is set to true, if this collection does not have a parent, e.g. because it's a collection of all objects of a certain type contained in the database
protected List _myList = new List();
the internal list of objects contained in this collection
protected P _myParent
contains the parent for this collection, if any
protected IDatabaseWrapper _myWrapper
CONSTRUCTORS:
public BasicDbTypeCollection (P parent)
detached constructor
public BasicDbTypeCollection (P parent, IDatabaseWrapper wrapper)
basic attached constructor
public BasicDbTypeCollection (P parent, IDatabaseWrapper wrapper, bool topLevel) : this(parent, wrapper)
extended attached constructor
METHODS:
public boolean Add (T item)
adds an item to the collection; if (!_bulkInsert), calls GetAppropriateIndex() to keep the internal list sorted (unless _isBulkInsert = true); does not allow adding duplicates; returns true, if adding successful, otherwise returns false; also calls AddReferenceToParent() if (!_isDetached && !_isTopLevel)
protected void AddReferenceToParent ()
adds a reference to the parent (if any and if (!_isDetached)); effectively calls IDatabaseWrapper's AddReference() method.
public void BeginInsert ()
begins a bulk insert by setting _bulkInsert = true and thus bypassing sorting by the Add() method.
public abstract R CopyToDetached ()
creates a detached copy of the entire collection and the items it contains
public void EndInsert ()
ends a bulk insert, sets _bulkInsert to false and calls Sort().
protected int GetAppropriateIndex (int leftBounds, int rightBounds, T item)
returns the appropriate index for a new item to be added to the collection in order to keep the collection sorted. This method employs the binary search algorith in order to find the last item smaller and the last item larger than the item to be added.
public T GetByID (string id)
returns the item in the collection with the specified GUID; returns null if no such item exists
public T GetByIndex (int index)
returns the item at the specified index
public void Remove (T item)
removes an item from the collection; also calls RemoveReferenceToParent() if (!_isDetached && !_isTopLevel)
protected void RemoveReferenceToParent ()
removes a reference to the parent (if any and if (!_isDetached)); effectively calls IDatabaseWrapper's RemoveReference() method.
protected void Sort ()
sorts the entire collection using a QuickSort or similar sorting algorithm. This method is called by EndInsert().
PROPERTIES/ACCESSORS:
int Count { get; set; }
returns the number of items in the collection
Back to Table of Contents




API

public interface IDatabaseWrapper
provides specifications for database wrappers
METHODS:
void AddReference (BasicDbType parent, BasicDbType child)
creates a reference between two objects in the database, e.g. associating an author with a book
void BeginTransaction ()
tells the IDatabaseWrapper to queue all database operations sent to it so that they can be performed as part of a transaction. EndTransaction() then processes the queue and sends the commands to the database as part of a transaction
bool Connect (string connectionString)
connects to a database and initialized the data abstraction layer
void CreateNewDatabase (String connectionString)
creates a new database
void EndTransaction ()
commits all database operations in the queue to the database using a database transaction. Calling this method only makes sense if BeginTransaction() has previously been called.
void Flush ()
commits all changes to the database. Implementations of IDatabaseWrapper are free, however, to commit modifications at other points as well. This method is primarily intended for wrappers working with local copies (temp file, memory) of a database, rather than with the actual database; in this case Flush() would cause a synchronization between local data and actual (remote) database.
BibliographicalItemCollection GetItemsForConfigType (BasicConfigType caller)
called by config types to retrieve bibliographical items associated with them, e.g. all bibliographical items of a certain language
object GetValue (BasicDbType caller, BibWormDALTypeProperties property)
returns a database value as an object
bool GetValueAsBoolean (BasicDbType caller, BibWormDALTypeProperties property)
returns a value as a boolean, if possible
byte[] GetValueAsByteArray (BasicDbType caller, BibWormDALTypeProperties property)
returns a value as a byte array; intended for recovering binary data (e.g. BLOBs) from a database
System.Drawing.Image(C#) GetValueAsImage (BasicDbType caller, BibWormDALTypeProperties property)
returns a value as an Image/Picture, if possible
DateTime GetValueAsLocalDateTime (BasicDbType caller, BibWormDALTypeProperties property)
returns a value as a local date and time, if possible
string GetValueAsString (BasicDbType caller, BibWormDALTypeProperties property)
returns a database value as a string, if possible
void RemoveReference (BasicDbType parent, BasicDbType child)
removes associations between two objects in the database, e.g. dissociates an author from a book
void SetValue (BasicDbType caller, BibWormDALTypeProperties property, object value)
saves a value to the database
void StoreObject (BasicDbType object)
stores a DAL object to the database; called by the AttachToDatabase() and Save() methods of dal objects
PROPERTIES/ACCESSORS:
AddressCollection Addresses { get; set; }
returns all Addresses contained in the database
BibliographicalItemCollection BibliographicalItems { get; set; }
returns all BibliographicalItems contained in the database
BodyCollection Bodies { get; set; }
returns all Bodies contained in the database
ContextCollection Contexts { get; set; }
returns all Contexts contained in the database
EmailAddressCollection EmailAddresses { get; set; }
returns all EmailAddresses contained in the database
FileReferenceCollection FilesInDatabase { get; set; }
returns all files stored as BLOBs in the database
bool IsReadOnly { get; set; }
ItemLocationCollection ItemLocations { get; set; }
returns all ItemLocations contained in the database
KeywordCollection Keywords { get; set; }
returns all Keywords contained in the database
LibraryCollection Libraries { get; set; }
returns all Libraries contained in the database
PeriodicalCollection Periodicals { get; set; }
returns all Periodicals in the database
PersonCollection Persons { get; set; }
returns all Persons contained in the database
PhoneNumberCollection PhoneNumbers { get; set; }
returns all PhoneNumbers contained in the database
PublisherCollection Publishers { get; set; }
returns all Publishers contained in the database
UnfixedBibliographicalItemChildCollection UnfixedBibliographicalItemChildren { get; set; }
returns all UnfixedBibliographicalItemChildren contained in the database
EVENTS:
DatabaseConnected, uses DatabaseEventArgs
this event is triggered directly after successful connection but before initialization of database objects begins
DatabaseConnecting, uses DatabaseEventArgs
this event is triggered, immediately before the IDatabaseWrapper actually establishes a connection to the database
DatabaseInitialized, uses DatabaseEventArgs
this event is triggered after all objects from the database have been initialized
Back to Table of Contents




Event Argument Classes

public class DatabaseEventArgs : EventArgs
used by all DatabaseEvents
FIELDS:
protected IDatabaseWrapper _myCaller
stores the calling IDatabaseWrapper
CONSTRUCTORS:
public DatabaseEventArgs (IDatabaseWrapper caller)
PROPERTIES/ACCESSORS:
IDatabaseWrapper DatabaseWrapper { get; set; }
returns _myCaller
Back to Table of Contents




Other

public static class Global
provides global access to some modules
FIELDS:
public static IConfigProvider ConfigProvider
provides access to the currently used IConfigProvider
public static IUserInterface UserInterface
contains the currently active user interface (if any)
public class SRUClient

public class SRWClient

public class Z3950Client

Back to Table of Contents