Property for the one side of a relation Depending on the type of property may be an optional property
Parameters
Properties
The current value of this property, may or may not be persisted to the database
Delegate for lazy-loading the property
The NodeSetProperty returned to the user
The related node as in the database null if not loaded or no relation present in the database
True if the T is marked nullable
Functions
Ensures that this property is loaded
Gets the loaded property which is returned by the lazy loading delegate
Gets related nodes defined by this property, but only those already loaded (therefore no lazy loading) The relationships do not have to be persisted yet
Gets the diff of added and removed relationships to persist in the database
Gets the lazy loading delegate which is used to get the value of the property
Called to register a database query result Adds the result to the cache Can be overridden to add custom behavior (super should be called in this case)
Sets the node from the remote side Used to prevent unnecessary lazy loaded queries
Called to validate the property Should throw an exception if the property is invalid, with an appropriate reason