Version 1
[yaffs-website] / web / core / modules / comment / src / Entity / CommentType.php
diff --git a/web/core/modules/comment/src/Entity/CommentType.php b/web/core/modules/comment/src/Entity/CommentType.php
new file mode 100644 (file)
index 0000000..a773c58
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+
+namespace Drupal\comment\Entity;
+
+use Drupal\Core\Config\Entity\ConfigEntityBundleBase;
+use Drupal\comment\CommentTypeInterface;
+
+/**
+ * Defines the comment type entity.
+ *
+ * @ConfigEntityType(
+ *   id = "comment_type",
+ *   label = @Translation("Comment type"),
+ *   label_singular = @Translation("comment type"),
+ *   label_plural = @Translation("comment types"),
+ *   label_count = @PluralTranslation(
+ *     singular = "@count comment type",
+ *     plural = "@count comment types",
+ *   ),
+ *   handlers = {
+ *     "form" = {
+ *       "default" = "Drupal\comment\CommentTypeForm",
+ *       "add" = "Drupal\comment\CommentTypeForm",
+ *       "edit" = "Drupal\comment\CommentTypeForm",
+ *       "delete" = "Drupal\comment\Form\CommentTypeDeleteForm"
+ *     },
+ *     "list_builder" = "Drupal\comment\CommentTypeListBuilder"
+ *   },
+ *   admin_permission = "administer comment types",
+ *   config_prefix = "type",
+ *   bundle_of = "comment",
+ *   entity_keys = {
+ *     "id" = "id",
+ *     "label" = "label"
+ *   },
+ *   links = {
+ *     "delete-form" = "/admin/structure/comment/manage/{comment_type}/delete",
+ *     "edit-form" = "/admin/structure/comment/manage/{comment_type}",
+ *     "add-form" = "/admin/structure/comment/types/add",
+ *     "collection" = "/admin/structure/comment/types",
+ *   },
+ *   config_export = {
+ *     "id",
+ *     "label",
+ *     "target_entity_type_id",
+ *     "description",
+ *   }
+ * )
+ */
+class CommentType extends ConfigEntityBundleBase implements CommentTypeInterface {
+
+  /**
+   * The comment type ID.
+   *
+   * @var string
+   */
+  protected $id;
+
+  /**
+   * The comment type label.
+   *
+   * @var string
+   */
+  protected $label;
+
+  /**
+   * The description of the comment type.
+   *
+   * @var string
+   */
+  protected $description;
+
+  /**
+   * The target entity type.
+   *
+   * @var string
+   */
+  protected $target_entity_type_id;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDescription() {
+    return $this->description;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setDescription($description) {
+    $this->description = $description;
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getTargetEntityTypeId() {
+    return $this->target_entity_type_id;
+  }
+
+}