ZPT-Sharp  v1.0.0
Zope Page Templates for .NET
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
CSF.Zpt.Tales.FilesystemDirectory Class Reference

Object which represents a System.IO.DirectoryInfo - and implements ITalesPathHandler to wrap that directory in a TALES-friendly manner. More...

Inheritance diagram for CSF.Zpt.Tales.FilesystemDirectory:
Collaboration diagram for CSF.Zpt.Tales.FilesystemDirectory:

Public Member Functions

virtual bool HandleTalesPath (string pathFragment, out object result, Rendering.IRenderingContext currentContext)
 Gets an System.Object based upon a TALES path fragment. More...
 
 FilesystemDirectory (DirectoryInfo directory, bool mandatoryExtensions=false)
 Initializes a new instance of the CSF.Zpt.Tales.FilesystemDirectory class. More...
 
- Public Member Functions inherited from CSF.Zpt.Tales.ITalesPathHandler
bool HandleTalesPath (string pathFragment, out object result, IRenderingContext currentContext)
 Gets an System.Object based upon a TALES path fragment. More...
 

Protected Member Functions

virtual FilesystemDirectory CreateChild (DirectoryInfo directory)
 Creates a child instance of FilesystemDirectory for the given subdirectory. More...
 

Properties

bool MandatoryExtensions [get]
 Gets a value indicating whether or not filename extensions are mandatory or not. More...
 
DirectoryInfo DirectoryInfo [get]
 Gets the DirectoryInfo associated with the current instance. More...
 

Detailed Description

Object which represents a System.IO.DirectoryInfo - and implements ITalesPathHandler to wrap that directory in a TALES-friendly manner.

Constructor & Destructor Documentation

CSF.Zpt.Tales.FilesystemDirectory.FilesystemDirectory ( DirectoryInfo  directory,
bool  mandatoryExtensions = false 
)
inline

Initializes a new instance of the CSF.Zpt.Tales.FilesystemDirectory class.

Parameters
directoryThe root directory for the current instance.
mandatoryExtensionsA value indicating whether filename extensions are mandatory or not.

Member Function Documentation

virtual FilesystemDirectory CSF.Zpt.Tales.FilesystemDirectory.CreateChild ( DirectoryInfo  directory)
inlineprotectedvirtual

Creates a child instance of FilesystemDirectory for the given subdirectory.

Returns
The child instance.
Parameters
directoryDirectory.

Reimplemented in CSF.Zpt.Tales.TemplateDirectory.

virtual bool CSF.Zpt.Tales.FilesystemDirectory.HandleTalesPath ( string  pathFragment,
out object  result,
Rendering.IRenderingContext  currentContext 
)
inlinevirtual

Gets an System.Object based upon a TALES path fragment.

This method should return a System.Object which represents the traversal of a single-level TALES path fragment, from the current instance. The value of that fragment is passed via the name pathFragment .

The precise meaning of 'traversal' is left to the implementation, but typical semantics will see an object return an associated object from an object graph.

In this simple example, the Employee class may return data from a related Person object, without exposing the Person object directly. This might be because (as shown in this example), the API of that Person object is more complex than desired, and so TALES should see a simplified version.

public class Employee : ITalesPathHandler
{
private Person _person;
public bool HandleTalesPath(string pathFragment, out object result, RenderingContext currentContext)
{
switch(pathFragment)
{
case: "name";
result = _person.Name;
return true;
case: "address";
result = _person.Address.FullAddress;
return true;
case: "gender":
result = _person.Gender.ToString();
return true;
default:
result = null;
return false;
}
}
}

Note that the return value does not need to be a primitive type. It may be a complex object, and the return value may also implement ITalesPathHandler if desired.

Returns
true if the path traversal was a success; false otherwise.
Parameters
pathFragmentThe path fragment.
resultExposes the result if the traversal was a success
currentContextGets the current rendering context.

Reimplemented in CSF.Zpt.Tales.TemplateDirectory.

Property Documentation

DirectoryInfo CSF.Zpt.Tales.FilesystemDirectory.DirectoryInfo
get

Gets the DirectoryInfo associated with the current instance.

The directory info.

bool CSF.Zpt.Tales.FilesystemDirectory.MandatoryExtensions
getprotected

Gets a value indicating whether or not filename extensions are mandatory or not.

true if extensions are mandatory; otherwise, false.


The documentation for this class was generated from the following file: