summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'SemanticMediaWiki/includes/formatters/ParameterFormatterFactory.php')
-rw-r--r--SemanticMediaWiki/includes/formatters/ParameterFormatterFactory.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/SemanticMediaWiki/includes/formatters/ParameterFormatterFactory.php b/SemanticMediaWiki/includes/formatters/ParameterFormatterFactory.php
new file mode 100644
index 00000000..e816ff4f
--- /dev/null
+++ b/SemanticMediaWiki/includes/formatters/ParameterFormatterFactory.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace SMW;
+
+/**
+ * Factory class handling parameter formatting instances
+ *
+ * @file
+ *
+ * @license GNU GPL v2+
+ * @since 1.9
+ *
+ * @author mwjames
+ */
+
+/**
+ * Factory class handling parameter formatting instances
+ *
+ * @ingroup Formatter
+ */
+class ParameterFormatterFactory {
+
+ /**
+ * Returns an ArrayFormatter instance
+ *
+ * @since 1.9
+ *
+ * @param array $rawParams
+ *
+ * @return ArrayFormatter
+ */
+ public static function newFromArray( array $rawParams ) {
+
+ if ( isset( $rawParams[0] ) && is_object( $rawParams[0] ) ) {
+ array_shift( $rawParams );
+ }
+
+ //$formatter = JsonParameterFormatter::newFromArray( $rawParams );
+
+ //if ( $formatter->isJson() ) {
+ // $instance = $formatter;
+ //} else {
+ // $instance = new ParserParameterFormatter( $rawParams );
+ //}
+
+ $instance = new ParserParameterFormatter( $rawParams );
+
+ return $instance;
+ }
+}