<?php
namespace phpDocumentor\Descriptor\ProjectDescriptor;
class Settings
{
const VISIBILITY_PUBLIC = 1;
const VISIBILITY_PROTECTED = 2;
const VISIBILITY_PRIVATE = 4;
const VISIBILITY_INTERNAL = 8;
const VISIBILITY_DEFAULT = 7;
protected $isModified = false;
protected $visibility = self::VISIBILITY_DEFAULT;
protected $includeSource = false;
public function setVisibility($visibilityFlag)
{
$this->setValueAndCheckIfModified('visibility', $visibilityFlag);
}
public function getVisibility()
{
return $this->visibility;
}
public function isModified()
{
return $this->isModified;
}
public function clearModifiedFlag()
{
$this->isModified = false;
}
protected function setValueAndCheckIfModified($propertyName, $value)
{
if ($this->$propertyName != $value) {
$this->isModified = true;
}
$this->$propertyName = $value;
}
public function includeSource()
{
$this->includeSource = true;
}
public function excludeSource()
{
$this->includeSource = false;
}
public function shouldIncludeSource()
{
return $this->includeSource;
}
}