Opalis Quick Integration Kit 3.0
Add a type marked with the OpalisData attribute.

Namespace:  Opalis.QuickIntegrationKit
Assembly:  Opalis.QuickIntegrationKit(in Opalis.QuickIntegrationKit.dll) Version: 3.0.0.0 (3.1.0.1)

Syntax

C#
void 
AddCorellatedData(
	
Type 
type
)
Visual Basic (Declaration)
Sub 
AddCorellatedData ( _
	
type 
As 
Type _
)
Visual C++
void 
AddCorellatedData(
	
Type^ 
type
)

Parameters

type
Type: System . . :: . Type
The type of OpalisData object to add to the design.

Remarks

When you add a type marked with the OpalisData attribute the designer will automaticall add all of the OpalisInput, OpalisFilter and OpalisOutput properties encapsulated in the type.

Examples

CopyC#
[OpalisData]
public 
class FileInfoAdapter
{

private 
readonly FileInfo fileInfo;


public
FileInfoAdapter(FileInfo fileInfo)
	{
	
this.fileInfo = fileInfo;
}

	[OpalisOutput, OpalisFilter]

public 
string Name
	{
		get { 
return fileInfo.Name; }
}

	[OpalisOutput, OpalisFilter]  

public 
long Length
	{
		get { 
return fileInfo.Length; }
}

	[OpalisOutput, OpalisFilter]

public DateTime CreationTime
	{
		get { 
return
fileInfo.CreationTime; }
}

	[OpalisOutput, OpalisFilter]

public DateTime
LastWriteTime
	{
		get { 
return
fileInfo.LastWriteTime; }
}

	[OpalisOutput, OpalisFilter]

public 
bool ReadOnly
	{
		get { 
return (fileInfo.Attributes
& FileAttributes.ReadOnly) != 
0; }
}
}

[OpalisObject]
public 
class GetDirectory :
IOpalisObject
{

public 
void Design(IOpalisDesigner
designer)
	{
		designer.AddInput(

"Directory").WithFolderBrowser();
		designer.AddCorellatedData(
typeof(FileInfoAdapter));
}


public 
void Execute(IOpalisRequest
request, IOpalisResponse response)
	{
		DirectoryInfo dir = request.Inputs[

"Directory"].As<DirectoryInfo>();
		ICollection files = request.Filters.Filter(FindFiles(dir));
		response.Publish(
"Number of Files",
files.Count);
		response.PublishRange(files); 	
}


private IEnumerable
FindFiles()
	{
	
foreach (FileInfo info 
in path.GetFiles(
"*.*"))
		{
			yield 
return 
new FileInfoAdapter(info);
	}
}	
}

See Also