[Classes] [Prev] [Next] [Methods]

CValidatorFactoryDefault

Methods Index

Heritage
Description
Protected Data Members
Public Methods
Protected Methods
Private Methods

CValidatorFactoryDefault


Heritage

Superclass: CValidatorFactory

Subclass: None


Description

This class manages the creation and sharing of CValidator objects. CValidators are passed to views that mix in the CValidatorInterface for field formatting and validation.

This implementation of the validator factory uses proxies and reference counting to implement validator sharing, owing to the high cost of creating the validation parse tree at the PTK level. The proxies, CValidator, delegate operations to the internal class CValidatorImplementation. The factory maintains a list of implementations in a hash table keyed on the validation expression. When the user requests a CValidator by expression, the factory looks for an implementation that implements the requested expression already. If found, the factory issues another proxy on that implementation. If not found, the factory will create the implementation.


Protected Data Members

RWHashDictionary itsValidators;


Public Methods

CValidatorFactoryDefault();
virtual ~CValidatorFactoryDefault();
virtual CValidator ConstructValidator(
const CStringRW& aPattern,
BOOLEAN AutoComplete = TRUE);

Protected Methods

CValidatorFactoryDefault(
const CValidatorFactoryDefault&);
CValidatorFactoryDefault& operator=(
const CValidatorFactoryDefault&)

Private Methods

virtual CValidatorImplementation* ConstructImplementation (
const CStringRW& aPattern,
BOOLEAN AutoComplete);
virtual
CValidatorImplementation* ConstructPasswordImplementation (
const CStringRW& theSubstitute,
int theMaxLength);
virtual CValidatorConstructProxy(
CValidatorImplementation* theImplementation);
virtual void RemoveReference(
const CValidatorImplementation& anImplementation);


[Classes] [Prev] [Next] [Methods]

support@xvt.com


Visit our online help desk for tech support

Copyright © 2009, Providence Software Solutions Inc. All rights reserved.