a data object is stored inside the domain model? Like this sample script provided?

PHP Code:
class User extends DomainModel{
    protected 
$id = -1// a primary key
    
protected $data// stores basic data for user in primitive type format
    
protected $profile// a proxy field for user profile object
    
protected $validator// a user validator reference
    
protected $mapper// a user mapper reference

    
public function __construct(UserData $data NULL){
        if(
$data){
            
$this->id $data->getID();
            
$this->data $data;  
        } 
    }

    public function 
getID(){
        return 
$this->id;
    }

    public function 
getUserName(){
        return 
$this->data->getUserName();
    }

    public function 
setUserName($username){
        
$this->data->setUserName($username);
    }

    public function 
getPassword(){
        return 
$this->data->getPassword();
    }

    public function 
setPassword($password){
        
$this->data->setPassword($password);
    }

    public function 
getEmail(){
        return 
$this->data->getEmail();
    }

    public function 
setPassword($email){
        
$this->data->setEmail($email);
    }

    public function 
getProfile(){
        if(!
$this->profile){
            
$this->getMapper();
            
$profileMapper $this->mapper->getProfileMapper();
            
$this->profile $profileMapper->findByID($this->id);
        }
        return 
$this->profile;
    }

    public function 
getMapper(){
        if(!
$this->mapper$this->mapper = new UserMapper
        return 
$this->mapper;
    }

    public function 
getValidator(){
        if(!
$this->validator$this->validator = new UserValidator;
        return 
$this->validator;
    }

    public function 
setValidator(UserValidator $validator){
        
$this->validator $validator;
    }

    public function 
validate(){
        
$this->getValidator();
        return 
$this->validator->validate();
    }
   
    
// other domain logic goes below

So the domain model class does have business logic in it, it can validate, calculate and even act as factory for other models that has one to one or one to many dependency on it(a userprofile model to a user model is a good one). However, its data is encapsulated inside a data object, which has only protected fields and public getter/setter methods. My question is, is this design considered anemic domain model anti-pattern? Its a bit tricky here though, 'cause the domain model itself does not look like an anemic domain model, but if you look at the data object it does not have domain logic. I am actually still a bit confused at what the precise definition for anemic domain model is. Anyone mind elaborating this a bit and Id like to know if this kind of domain model in which the data fields are stored in a data object is considered an anti-pattern. Thx.