Zero Install .NET API 2.20.0
ZeroInstall.Model.Recipe Class Reference

Retrieves an implementation by applying a list of IRecipeSteps, such as downloading and combining multiple archives. More...

Inheritance diagram for ZeroInstall.Model.Recipe:
ZeroInstall.Model.RetrievalMethod ZeroInstall.Model.FeedElement NanoByte.Common.ICloneable< RetrievalMethod > ZeroInstall.Model.XmlUnknown

Public Member Functions

override void Normalize (FeedUri? feedUri=null)
 Converts legacy elements, sets default values, etc.. More...
 
override string ToString ()
 Returns the recipe in the form "Recipe (X steps)". Not safe for parsing!
 
override RetrievalMethod Clone ()
 Creates a deep copy of this Recipe instance. More...
 
bool Equals (Recipe? other)
 
override bool Equals (object? obj)
 
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.FeedElement
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.XmlUnknown
string ToShortXml ()
 Returns a shortened XML representation (with attributes but without child elements). More...
 
override int GetHashCode ()
 
- Public Member Functions inherited from NanoByte.Common.ICloneable< RetrievalMethod >
RetrievalMethod Clone ()
 

Properties

List< IRecipeStepSteps = new() [get]
 An ordered list of IRecipeSteps to execute.
 
object?[] StepsArray [getset]
 Used for XML serialization. More...
 
bool ContainsUnknownSteps [get]
 Indicates whether this recipe contains steps of unknown type and therefore can not be processed.
 
- Properties inherited from ZeroInstall.Model.FeedElement
VersionRangeIfZeroInstallVersion [getset]
 Only process this element if the current Zero Install version matches the range.
 
string??? IfZeroInstallVersionString [getset]
 Used for XML serialization. More...
 

Additional Inherited Members

- Public Attributes inherited from ZeroInstall.Model.XmlUnknown
XmlAttribute?[] UnknownAttributes
 Contains any unknown additional XML attributes.
 
XmlElement?[] UnknownElements
 Contains any unknown additional XML elements.
 
- Protected Member Functions inherited from ZeroInstall.Model.FeedElement
bool Equals (FeedElement? other)
 
- Protected Member Functions inherited from ZeroInstall.Model.XmlUnknown
void EnsureAttribute (object? value, string attributeName)
 Ensures that a value deserialized from an XML attribute is set (not null). More...
 
void EnsureAttributeSafeID (string? value, string attributeName)
 Ensures that a value deserialized from an XML attribute is set (not null) and only contains alphanumeric characters, spaces ( ), dots (.), underscores (_), hyphens (-) and plus signs (+). More...
 
bool Equals (XmlUnknown? other)
 
- Static Protected Member Functions inherited from ZeroInstall.Model.FeedElement
static bool FilterMismatch (IRecipeStep step)
 Checks whether an element passes the specified IfZeroInstallVersion restriction, if any.
 
- Static Package Functions inherited from ZeroInstall.Model.FeedElement
static bool FilterMismatch< T > (T element)
 Checks whether an element passes the specified IfZeroInstallVersion restriction, if any. More...
 

Detailed Description

Retrieves an implementation by applying a list of IRecipeSteps, such as downloading and combining multiple archives.

Member Function Documentation

◆ Clone()

override RetrievalMethod ZeroInstall.Model.Recipe.Clone ( )
inlinevirtual

Creates a deep copy of this Recipe instance.

Returns
The new copy of the Recipe.

Implements ZeroInstall.Model.RetrievalMethod.

◆ Normalize()

override void ZeroInstall.Model.Recipe.Normalize ( FeedUri feedUri = null)
inlinevirtual

Converts legacy elements, sets default values, etc..

Parameters
feedUriThe feed the data was originally loaded from.
Exceptions
UriFormatExceptionDownloadRetrievalMethod.Href is relative and feedUri is a remote URI.
InvalidDataExceptionA required property is not set or invalid.

Reimplemented from ZeroInstall.Model.RetrievalMethod.

Property Documentation

◆ StepsArray

object? [] ZeroInstall.Model.Recipe.StepsArray
getset

Used for XML serialization.

See also
Steps

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