Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 abstract class AbstractCollection implements Collection
00013 {
00014 protected $items = array();
00015
00016 public function add(CollectionItem $item)
00017 {
00018 $this->items[$item->getId()] = $item;
00019
00020 return $this;
00021 }
00022
00023 public function addAll(array $items)
00024 {
00025 foreach ($items as $item)
00026 $this->items[$item->getId()] = $item;
00027
00028 return $this;
00029 }
00030
00031 public function clear()
00032 {
00033 $this->items = array();
00034
00035 return $this;
00036 }
00037
00038 public function contains(CollectionItem $item)
00039 {
00040 return isset($this->items[$item->getId()]);
00041 }
00042
00043 public function containsAll(array $items)
00044 {
00045 return (array_intersect($items, $this->items) == $items);
00046 }
00047
00048 public function isEmpty()
00049 {
00050 return (count($this->items) == 0);
00051 }
00052
00053 public function size()
00054 {
00055 return count($this->items);
00056 }
00057
00058 public function remove(CollectionItem $item)
00059 {
00060 if (isset($this->items[$item->getId()]))
00061 unset($this->items[$item->getId()]);
00062
00063 return $this;
00064 }
00065
00066 public function removeAll(array $items)
00067 {
00068 $this->items = array_diff($this->items, $items);
00069
00070 return $this;
00071 }
00072
00073 public function retainAll(array $items)
00074 {
00075 $this->items = $items;
00076
00077 return $this;
00078 }
00079
00080 public function getList()
00081 {
00082 return $this->items;
00083 }
00084
00088 public function getByName($name)
00089 {
00090 return $this->items[$name];
00091 }
00092
00093 public function has($name)
00094 {
00095 return isset($this->items[$name]);
00096 }
00097 }
00098 ?>