aboutsummaryrefslogtreecommitdiff
path: root/engine/classes/Exportable.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/classes/Exportable.php')
-rw-r--r--engine/classes/Exportable.php23
1 files changed, 23 insertions, 0 deletions
diff --git a/engine/classes/Exportable.php b/engine/classes/Exportable.php
new file mode 100644
index 000000000..0c1ea5282
--- /dev/null
+++ b/engine/classes/Exportable.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Define an interface for all ODD exportable objects.
+ *
+ * @package Elgg.Core
+ * @subpackage ODD
+ */
+interface Exportable {
+ /**
+ * This must take the contents of the object and convert it to exportable ODD
+ *
+ * @return object or array of objects.
+ */
+ public function export();
+
+ /**
+ * Return a list of all fields that can be exported.
+ * This should be used as the basis for the values returned by export()
+ *
+ * @return array
+ */
+ public function getExportableValues();
+}