BoardInfo Methods |
The BoardInfo type exposes the following members.
Name | Description | |
---|---|---|
AddColumnPrefixesWhereCondition |
Adds restriction to given where filtering out all rows where given column starts with one of excluded prefixes found in TypeInfo default data settings.
(Inherited from BaseInfo.) | |
AddContentField |
Process search settings of DataClass field and inserts required search field into search fields collection when field is marked as content field.
(Inherited from AbstractInfoTInfo.) | |
AddSearchableField |
Process search settings of DataClass field and inserts required search field into search fields collection when field is searchable.
(Inherited from AbstractInfoTInfo.) | |
AllowExternalColumn |
Indicates whether a given column is allowed to be saved externally.
(Inherited from AbstractInfoTInfo.) | |
AnyItemChanged |
Returns true if any of specified columns changed.
(Inherited from AbstractInfoTInfo.) | |
BuildObjectPath |
Builds the path from the given column.
(Inherited from BaseInfo.) | |
ClearCache |
Clears the nested cached objects
(Inherited from BaseInfo.) | |
ClearData |
Clears data from the object.
(Inherited from BaseInfo.) | |
Clone |
Creates a clone of the object
(Inherited from AbstractInfoTInfo.) | |
Clone(Boolean) |
Creates a clone of the object
(Inherited from AbstractInfoTInfo.) | |
CloneObject |
Creates the clone of the object
(Inherited from AbstractInfoTInfo.) | |
ColumnsChanged |
Returns true if at least one column of the column list provided as the first argument was changed.
(Inherited from AbstractInfoTInfo.) | |
CombineColumnNames(ICollection) |
Returns column names
(Inherited from AbstractInfoTInfo.) | |
CombineColumnNames(String) |
Returns column names
(Inherited from AbstractInfoTInfo.) | |
CompareTo |
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
(Inherited from BaseInfo.) | |
ContainsColumn |
Returns true if the object contains given column.
(Inherited from AbstractInfoTInfo.) | |
CopyExternalColumns |
Copy value of external columns directly via set value
(Inherited from BaseInfo.) | |
CopyMemoryProperties |
Copies memory properties
(Inherited from BaseInfo.) | |
CopyProperties |
Copies memory properties
(Inherited from AbstractInfoTInfo.) | |
DataChanged |
Returns true if the object changed.
(Inherited from AbstractInfoTInfo.) | |
Delete |
Deletes the object using appropriate provider
(Inherited from BaseInfo.) | |
DeleteData |
Deletes the object.
(Inherited from AbstractInfoTInfo.) | |
DeleteExternalColumns |
Goes through the columns which are stored externally and deletes all the files.
(Inherited from AbstractInfoTInfo.) | |
DeleteMetafiles |
Deletes the metafiles related to this object
(Inherited from AbstractInfoTInfo.) | |
DeleteObject |
Deletes the object using appropriate provider.
(Overrides AbstractInfoTInfoDeleteObject.) | |
Destroy |
Destroys the object including its version history using appropriate provider
(Inherited from BaseInfo.) | |
Disconnect |
Disconnects the collection from the database.
(Inherited from BaseInfo.) | |
EnsureBinaryData |
Makes sure that the binary data is loaded into binary column of the object when StoreToFileSystem is true.
(Inherited from BaseInfo.) | |
EnsureBinaryData(Boolean) |
Makes sure that the binary data is loaded into binary column of the object.
(Inherited from BaseInfo.) | |
EnsureCodeName |
Ensures the code name of the object if not set
(Inherited from BaseInfo.) | |
EnsureData |
Creates a new data class container within the object
(Inherited from AbstractInfoTInfo.) | |
EnsureGUID |
Ensures the GUID of the object
(Inherited from BaseInfo.) | |
EnsureHierarchyColumns |
Ensures the IDPath and Level columns.
(Inherited from BaseInfo.) | |
EnsureLastModified |
Ensures the last modified time stamp of the object
(Inherited from BaseInfo.) | |
EnsureUniqueCodeName |
Ensures that the object has a unique code name within it's context
(Inherited from BaseInfo.) | |
ExecuteRemoveDependencyQuery |
Executes given query text using specified connection string.
(Inherited from BaseInfo.) | |
ExportDefaultData |
Exports the default object installation data
(Inherited from BaseInfo.) | |
Finalize |
Destructor
(Inherited from BaseInfo.) | |
GetAutomaticCodeName |
Gets the automatic code name for the object
(Inherited from BaseInfo.) | |
GetAutomaticProperty |
Tries to get the automatic property value for underlying object
(Inherited from AbstractInfoTInfo.) | |
GetBinaryData |
Returns the BinaryData object of the current instance. Has to be overriden by specific classes. Returns null by default.
(Inherited from BaseInfo.) | |
GetBooleanValue |
Gets the boolean value from the object.
(Inherited from BaseInfo.) | |
GetColumnNames |
Gets the default list of column names for this class
(Inherited from AbstractInfoTInfo.) | |
GetCount |
Gets count of the objects filtered by given where condition.
(Inherited from BaseInfo.) | |
GetCurrentObjectPathPart |
Builds the path from the given column.
(Inherited from BaseInfo.) | |
GetCustomProperties |
Gets list of custom properties.
(Inherited from BaseInfo.) | |
GetData |
Returns the data according to the set of input parameters.
(Inherited from BaseInfo.) | |
GetDataQueryInternal |
Gets the data query for this object type
(Inherited from BaseInfo.) | |
GetDateTimeValue |
Gets the DateTime value from the object.
(Inherited from BaseInfo.) | |
GetDefaultData |
Returns the default object installation data
(Inherited from BaseInfo.) | |
GetDefaultDataExportColumns |
Returns names of all columns that should be exported with default data as a comma separated string.
(Inherited from BaseInfo.) | |
GetDefaultDataWhereCondition |
Gets the where condition to filter out the default installation data
(Inherited from BaseInfo.) | |
GetDefaultObject |
Returns default object of given object type. Has to be overriden in specific info. Returns null by default. Example is UserInfo which returns user specified in the settings or Global Administrator.
(Inherited from BaseInfo.) | |
GetDependenciesNames |
Checks the object dependencies. Returns a list of object names which depend on this object. First tries to execute checkdependencies query, if not found, an automatic process is executed.
(Inherited from BaseInfo.) | |
GetDependenciesNamesAuto |
Checks the object dependencies. Returns a list of object names which depend on this object.
(Inherited from BaseInfo.) | |
GetDependencyCacheKeys |
Gets the array of dependency cache keys for current object.
(Inherited from BaseInfo.) | |
GetDependencyObjectType |
Gets dependency object type
(Inherited from BaseInfo.) | |
GetDoubleValue |
Gets the double value from the object.
(Inherited from BaseInfo.) | |
GetEditingPageURL |
Gets the object editing page URL.
(Inherited from BaseInfo.) | |
GetExisting |
Returns the existing object based on current object data.
(Inherited from BaseInfo.) | |
GetExistingWhereCondition |
Gets a where condition to find an existing object based on current object
(Inherited from BaseInfo.) | |
GetExistingWhereCondition(Boolean) |
Gets a where condition to find an existing object based on current object
(Inherited from BaseInfo.) | |
GetExternalColumnData |
Returns the column data from external storage if exists.
(Inherited from AbstractInfoTInfo.) | |
GetExternalColumns |
Returns the list of columns registered as the external columns.
(Inherited from AbstractInfoTInfo.) | |
GetExternalColumnSettings |
Returns settings for external storage of the column. Returns null by default (which causes the default settings to be used in the external column data storage process).
(Inherited from AbstractInfoTInfo.) | |
GetExternalFiles |
Goes through the columns which are stored externally and returns the list of particular files this object uses.
(Inherited from AbstractInfoTInfo.) | |
GetExternalPath |
Returns path to the external storage with data of the given column. If the column data is not stored in the external storage, returns null.
(Inherited from AbstractInfoTInfo.) | |
GetFileInfo |
Returns FileInfo object from external storage if exists.
(Inherited from AbstractInfoTInfo.) | |
GetFullObjectName |
Returns the name of the object within its parent hierarchy.
(Inherited from BaseInfo.) | |
GetGeneralizedInfo |
Gets the generalized info for this object
(Inherited from AbstractInfoTInfo.) | |
GetGlobalPermissionName |
Returns name of the global permission name corresponding to the given permission name.
By default, "Global" + permissionName is returned.
(Inherited from BaseInfo.) | |
GetGroupWhereCondition |
Gets the group where condition for the object
(Inherited from BaseInfo.) | |
GetGuidValue |
Gets the guid value from the object.
(Inherited from BaseInfo.) | |
GetChildDependencies |
Gets the child dependencies repository
(Inherited from BaseInfo.) | |
GetChildWhereCondition |
Gets the child object where condition.
(Inherited from BaseInfo.) | |
GetIconUrl(Page, String) |
Gets the object icon URL
(Inherited from BaseInfo.) | |
GetIconUrl(Int32, Int32, Int32) |
Gets the object icon URL
(Inherited from BaseInfo.) | |
GetIdentityWhereCondition |
Gets indentity where condition to identify the object
(Inherited from BaseInfo.) | |
GetIDPathPartLength |
Returns the length of a part of IDPath.
(Inherited from BaseInfo.) | |
GetIntegerValue |
Gets the integer value from the object.
(Inherited from BaseInfo.) | |
GetLastObjectOrder |
Returns number which will be the last order within all the other items (according to Parent, Group and Site settings).
I.e. returns largest existing order + 1.
(Inherited from BaseInfo.) | |
GetLocalColumnNames |
Gets the list of local column names for particular object
(Inherited from AbstractInfoTInfo.) | |
GetLocalProperties |
Gets the list of local properties for particular object
(Inherited from AbstractInfoTInfo.) | |
GetLockObject |
Gets the global lock object for all the instances of the object (locked on "objectType_objectId").
(Inherited from BaseInfo.) | |
GetModifiedFrom |
Gets the DataSet of all the objects modified from specified date.
(Inherited from BaseInfo.) | |
GetNameCollisions |
Gets the list of the name collisions of the given object
(Inherited from BaseInfo.) | |
GetNamePathPartColumn |
Returns the name of the column which is used to build the NamePath
(Inherited from BaseInfo.) | |
GetObject |
Gets the object by specified where condition.
(Inherited from BaseInfo.) | |
GetObjectData |
Object serialization.
(Inherited from AbstractInfoTInfo.) | |
GetObjectChildren |
Gets the object children repository
(Inherited from BaseInfo.) | |
GetObjectIdentifier |
Gets the object identifier that uniquely identifies the object
(Inherited from BaseInfo.) | |
GetObjectKey |
Gets the unique string key for the object.
(Inherited from BaseInfo.) | |
GetObjectOrderID |
Returns ID of the item being ordered. By default return ObjectID. This is overridden in TreeNode, where NodeID has to be supplied.
(Inherited from BaseInfo.) | |
GetObjectTypeForColumn |
Gets the object type for the given column or null if the object type is not found or unknown.
(Inherited from BaseInfo.) | |
GetOrderQueryParameters |
Creates QueryDataParameters with special macros for object order management.
(Inherited from BaseInfo.) | |
GetOriginalValue |
Returns the original value of column.
(Inherited from AbstractInfoTInfo.) | |
GetOtherBindings |
Gets the repository of other bindings
(Inherited from BaseInfo.) | |
GetParent |
Returns the parent object.
(Inherited from BaseInfo.) | |
GetPermissionName |
Converts PermissionEnum to permission codename which will be checked when CheckPermission() is called.
Derived classes can override this method to change permission which is checked (for example check for global permissions if object is global).
(Inherited from BaseInfo.) | |
GetPermissionObjectType |
Returns the permission object type of the object (checks the SiteID column and SiteBinding columns). According to this value, the permission check is performed.
(Inherited from BaseInfo.) | |
GetPermissionToCheck |
Converts PermissionEnum to permission codename which will be checked when CheckPermission() is called.
Derived classes can override this method to change permission which is checked (for example check for global permissions if object is global).
(Inherited from BaseInfo.) | |
GetPhysicalFiles |
Gets DataSet with physical files.
(Inherited from BaseInfo.) | |
GetProperty |
Gets the property value.
(Inherited from BaseInfo.) | |
GetPropertyType |
Gets the type of the given property
(Inherited from AbstractInfoTInfo.) | |
GetReferringObjects |
Gets the repository of depending objects
(Inherited from BaseInfo.) | |
GetRegisteredProperties |
Gets list of registered properties.
(Inherited from AbstractInfoTInfo.) | |
GetSearchDocument |
Returns index document for current object with dependencies on search index info.
(Inherited from AbstractInfoTInfo.) | |
GetSearchFields |
Returns search fields collection. When existing collection is passed as argument, fields will be added to that collection.
When collection is not passed, new collection will be created and return.
Collection will contain field values only when collection with StoreValues property set to true is passed to the method.
When method creates new collection, it is created with StoreValues property set to false.
(Inherited from AbstractInfoTInfo.) | |
GetSearchID |
Gets the id column value which is used as search id by default.
(Inherited from BaseInfo.) | |
GetSearchImageUrl |
Returns URL to current search result item.
(Inherited from AbstractInfoTInfo.) | |
GetSiblingsQueryInternal |
Gets the parametrized query to get siblings of the object (If there is no parent-child hierarchy, query is parametrized for all objects)
(Inherited from BaseInfo.) | |
GetSiblingsWhereCondition |
Creates where condition according to Parent, Group and Site settings.
(Inherited from BaseInfo.) | |
GetSiteWhereCondition |
Gets the site where condition for the object
(Inherited from BaseInfo.) | |
GetStringValue |
Gets the string value from the object.
(Inherited from BaseInfo.) | |
GetThumbnailUrl |
Gets the object thumbnail URL
(Inherited from BaseInfo.) | |
GetUniqueCodeName |
Returns the unique code name for the specified object, does not check duplicity if duplicity occurs within the currentObjectId.
(Inherited from BaseInfo.) | |
GetUniqueDisplayName |
Returns the unique display name for the specified object.
(Inherited from BaseInfo.) | |
GetUniqueName |
Returns the unique code name for the specified object, does not check duplicity if duplicity occurs within the currentObjectId.
(Inherited from BaseInfo.) | |
GetUniqueNameWhereCondition |
Constructs base where condition for checking column value uniqueness. This method can be overriden in child classes to add more conditions.
(Inherited from BaseInfo.) | |
GetValue(String) |
Gets the field value.
(Inherited from AbstractInfoTInfo.) | |
GetValueT(String, T) |
Gets the field value converted to a specified type.
(Inherited from AbstractInfoTInfo.) | |
GetValueForTranslation |
Returns value for translation services. Returns unmodified field content by default.
(Inherited from BaseInfo.) | |
GetVirtualFileRelativePath |
Returns virtual relative path for specific column
Ensures the GUID of the object
(Inherited from BaseInfo.) | |
HasAutomaticProperty |
Returns true if the given column provides an automatic property to access it's binding.
(Inherited from AbstractInfoTInfo.) | |
ChangedColumns |
Returns list of column names which values were changed.
(Inherited from AbstractInfoTInfo.) | |
CheckDefaultPermissions |
Check universal permissions for an object
(Inherited from BaseInfo.) | |
CheckDependencies |
Checks the object dependencies. Returns true if there is at least one dependency.
(Inherited from BaseInfo.) | |
CheckLicense |
Checks the object license. Returns true if the licensing conditions for this object were matched.
(Inherited from BaseInfo.) | |
CheckPermissions |
Checks whether the specified user has permissions for this object.
(Inherited from BaseInfo.) | |
CheckPermissionsInternal |
Checks whether the specified user has permissions for this object. This method is called automatically after CheckPermissions event was fired.
(Inherited from BaseInfo.) | |
CheckPermissionsWithHandler |
Checks whether the specified user has permissions for this object. Outcome of this method is determined by combining results of CheckPermissions event and CheckPermissionsInternal method.
(Inherited from BaseInfo.) | |
CheckUniqueCodeName |
Checks if the object has unique code name. Returns true if the object has unique code name.
(Inherited from BaseInfo.) | |
CheckUniqueValues |
Checks if a record with the same column values already exists in the database. Returns true if the set of values is unique.
(Inherited from BaseInfo.) | |
InitObjectsOrder |
Inits the proper item order so the order is consistent.
(Inherited from BaseInfo.) | |
InitObjectsOrderPostprocessing |
Method called after the InitObjectOrder method is called. Override this to do further actions after order initialization. Does nothing by default.
(Inherited from BaseInfo.) | |
Insert |
Inserts the object using appropriate provider
(Inherited from BaseInfo.) | |
InsertAsClone |
Inserts the object as a new object to the DB with inner data and structure (according to given settings) cloned from the original.
(Inherited from BaseInfo.) | |
InsertAsCloneInternal |
This method is called on cloned object prepared in memory by InsertAsClone method.
Override if you need to do further actions before inserting actual object to DB (insert special objects, modify foreign keys, copy files, etc.).
Calls Insert() by default.
(Inherited from BaseInfo.) | |
InsertAsClonePostprocessing |
This method is called once the object is completely cloned (with all children, bindings, etc.).
Override if you need to do further actions after the object has been cloned.
(Inherited from BaseInfo.) | |
InsertData |
Inserts the object to the database.
(Inherited from AbstractInfoTInfo.) | |
InsertSearchFieldToDocument |
Inserts given search field and it's value into search document.
(Inherited from AbstractInfoTInfo.) | |
Invalidate |
Invalidates the object in the object table.
(Inherited from BaseInfo.) | |
IsAvailableOnSite |
Checks whether info object as available on given site. Available means that object is global or assigned to given site.
(Inherited from BaseInfo.) | |
IsCheckedOutByUser |
Returns true if the object is checked out by the specified user.
(Inherited from BaseInfo.) | |
IsChildOf |
Returns true if the object is child of the given object. If parameter parent is null, returns true only if the object is not a child of any object.
(Inherited from BaseInfo.) | |
IsModifiedExternally |
Goes through the columns which are stored externally and checkes if the data in DB is the same as in external storage. If all the columns are same returns true, otherwise false.
(Inherited from AbstractInfoTInfo.) | |
IsObjectInvalid |
Returns true if the object is invalid.
(Inherited from BaseInfo.) | |
ItemChanged |
Returns true if the item on specified column name changed.
(Inherited from AbstractInfoTInfo.) | |
LoadDefaultData |
Loads the default data to the object.
(Inherited from AbstractInfoTInfo.) | |
LoadFromDataContainer |
Loads the object data from given data container.
(Inherited from AbstractInfoTInfo.) | |
LoadFromDataRow |
Loads the object data from given DataRow.
(Inherited from AbstractInfoTInfo.) | |
MacroRepresentation |
By default, BaseInfo has no special macro representation.
(Inherited from BaseInfo.) | |
MakeComplete |
Makes the object data complete.
(Inherited from AbstractInfoTInfo.) | |
PermissionCheckException |
Fires an exception in case authorization result is false (denied or insignificant)
(Inherited from BaseInfo.) | |
PropertyPropertyType |
Returns the extension property for the object
(Inherited from AbstractObject.) | |
Reconnect |
Reconnects the collection to the database.
(Inherited from BaseInfo.) | |
RegisterExternalColumn |
Registers external column settings to the hash table.
(Inherited from AbstractInfoTInfo.) | |
RegisterExternalColumns |
Registers external column settings to the hash table.
(Inherited from AbstractInfoTInfo.) | |
RegisterProperties |
Registers the properties of this object
(Overrides AbstractInfoTInfoRegisterProperties.) | |
RegisterProperty(String, Object, FuncTInfo, Object, Object) |
Registers the given parameterized property to the object.
(Inherited from AbstractInfoTInfo.) | |
RegisterPropertyTProperty(String, FuncTInfo, Object) |
Registers the given property to the object
(Inherited from AbstractInfoTInfo.) | |
RemoveObjectDependencies |
Removes object dependencies. First tries to execute removedependencies query, if not found, automatic process is executed.
(Inherited from BaseInfo.) | |
ResetChanges |
Resets the object changes and keeps the new values as unchanged accoring to the asUnchanged parameter.
(Inherited from AbstractInfoTInfo.) | |
RestoreSettings |
Restores local settings for object instance.
(Inherited from BaseInfo.) | |
RevertChanges |
Reverts the object changes to the original values.
(Inherited from AbstractInfoTInfo.) | |
SaveExternalColumns |
Goes through the columns which are stored externally and ensures them in the external storage.
(Inherited from AbstractInfoTInfo.) | |
SerializationNotSupported |
Throws serialization not supported exception
(Inherited from BaseInfo.) | |
SetData |
Updates or inserts the object to the database.
(Inherited from AbstractInfoTInfo.) | |
SetExternalColumnData |
Saves the column data to the external storage if exists. Returns true if data was stored in external storage and should not be stored also in DB. If data should be stored in DB, returns false.
(Inherited from AbstractInfoTInfo.) | |
SetObject |
Updates the object using appropriate provider.
(Overrides AbstractInfoTInfoSetObject.) | |
SetObjectAlphabeticalOrder |
Moves the object to the right position according to the custom order.
(Inherited from BaseInfo.) | |
SetObjectOrder |
Moves the object to the specified order (if OrderColumn is specified). The move is done within the object's parent and site (if defined).
(Inherited from BaseInfo.) | |
SetObjectOrderPostprocessing |
Method which is called after the order of the object was changed. Generates staging tasks and webfarm tasks by default.
(Inherited from AbstractInfoTInfo.) | |
SetParent |
Updates the parent object, enables to update the data that is overridden in the parent object before or after it is saved
(Inherited from BaseInfo.) | |
SetValue(String, Object) |
Sets the field value.
(Inherited from AbstractInfoTInfo.) | |
SetValue(String, Object, Boolean) |
Sets the object value to the nullable column.
(Inherited from BaseInfo.) | |
SetValue(String, Object, Object) |
Sets the object value to the nullable column.
(Inherited from BaseInfo.) | |
SortAlphabetically |
Sort objects alphabetically.
(Inherited from BaseInfo.) | |
StoreSettings |
Stores local settings for object instance.
(Inherited from BaseInfo.) | |
SubmitChanges |
Submits the changes in the object to the database.
(Inherited from BaseInfo.) | |
ToMacroString |
Returns the default text representation in the macros.
(Inherited from BaseInfo.) | |
ToString |
Returns the text representation of the object
(Inherited from BaseInfo.) | |
TouchKeys |
Touches the cache dependency keys of the object to flush the dependent cache items.
(Inherited from AbstractInfoTInfo.) | |
TouchParent |
Updates the parent object by saving it (to update the timestamp).
(Inherited from BaseInfo.) | |
TryGetAutomaticProperty |
Tries to get the automatic property value for underlying object
(Inherited from AbstractInfoTInfo.) | |
TryGetProperty(String, Object) |
Returns value of property.
(Inherited from AbstractInfoTInfo.) | |
TryGetProperty(String, Object, Boolean) |
Returns value of property.
(Inherited from BaseInfo.) | |
TryGetValue |
Returns value of column.
(Inherited from AbstractInfoTInfo.) | |
Update |
Updates the database entity using appropriate provider
(Inherited from BaseInfo.) | |
UpdateData |
Updates the object to the database.
(Inherited from AbstractInfoTInfo.) | |
UpdateExternalColumns |
Goes through the columns which are stored externally and updates DB versions with the data from external storage.
(Inherited from AbstractInfoTInfo.) | |
UpdateFromDB |
Updates the data of the object from DB (updates also ObjectSettings).
(Inherited from BaseInfo.) | |
UpdatePhysicalFiles |
Saves physical files.
(Inherited from BaseInfo.) | |
UpsertData |
Updates or inserts the object to the database.
(Inherited from AbstractInfoTInfo.) | |
WriteDefaultData |
Writes the default object installation data into xml file
(Inherited from BaseInfo.) |
Name | Description | |
---|---|---|
AsValue |
Converts object to a query value which can be used as a query parameter
(Defined by QueryExtensions.) | |
Compare |
Compares two BaseInfo objects (data & structure) according to comparison settings given.
(Defined by DataExtensions.) | |
GetAPIString |
Gets the string by the specified resource key
(Defined by CoreExtensions.) | |
GetString |
Gets the string by the specified resource key
(Defined by CoreExtensions.) | |
ToBoolean |
Returns the boolean representation of an object or default value if not.
(Defined by CoreExtensions.) | |
ToDateTime |
Returns the DateTime representation of an object or default value if not.
(Defined by CoreExtensions.) | |
ToDouble |
Returns the double representation of an object or default value if not.
(Defined by CoreExtensions.) | |
ToGuid |
Returns the Guid representation of an object or default value if not.
(Defined by CoreExtensions.) | |
ToInteger |
Returns the integer representation of an object or default value if not.
(Defined by CoreExtensions.) | |
ToString |
Returns the string representation of an object or default value if not.
(Defined by CoreExtensions.) |