FluentIsolatedExtension
class FluentIsolatedExtension extends Extension (View source)
Represents an object that can only exist in a single locale
Note: You cannot use this extension on any object with the other fluent extensions
Properties
protected | T | $owner | The object this extension is applied to. |
from Extension |
int | $LocaleID |
Methods
Called when this extension is added to a particular class
Temporarily modify the owner. The original owner is ensured to be restored
Clear the current owner, and restore extension to the state prior to the last setOwner()
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
Invoke extension point. This will prefer explicit extend
prefixed
methods.
Amend freshly created DataQuery objects with the current locale and frontend status
Get current locale from given dataquery
Soft-migration for records that used to be FluentFilteredExtension Set the locale for records with missing LocaleID to the first locale they had selected
Details
__construct()
No description
static
add_to_class(string $class, string $extensionClass, mixed $args = null)
Called when this extension is added to a particular class
setOwner(object $owner)
Set the owner of this extension.
mixed
withOwner(mixed $owner, callable $callback, array $args = [])
Temporarily modify the owner. The original owner is ensured to be restored
clearOwner()
Clear the current owner, and restore extension to the state prior to the last setOwner()
T
getOwner()
Returns the owner of this extension.
static string
get_classname_without_arguments(string $extensionStr)
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
mixed
invokeExtension(object $owner, string $method, array ...$arguments)
Invoke extension point. This will prefer explicit extend
prefixed
methods.
protected
onBeforeWrite()
No description
protected
augmentDataQueryCreation(SQLSelect $query, DataQuery $dataQuery)
Amend freshly created DataQuery objects with the current locale and frontend status
protected
augmentDatabase()
Safety checks for config are done on dev/build
protected
onRequireDefaultRecords()
No description
protected
augmentSQL(SQLSelect $query, DataQuery|null $dataQuery = null)
No description
protected Locale|null
getDataQueryLocale(DataQuery|null $dataQuery = null)
Get current locale from given dataquery
protected void
migrateFromFilteredExtension()
Soft-migration for records that used to be FluentFilteredExtension Set the locale for records with missing LocaleID to the first locale they had selected
protected bool
getIsIDFiltered(SQLSelect $query)
Determine if this record is being filtered by ID
Locale
Locale()
No description