func (o *SparseEnforcerRefresh) SetBSON(raw bson.Raw) error {

	if o == nil {
		return nil
	}

	s := &mongoAttributesSparseEnforcerRefresh{}
	if err := raw.Unmarshal(s); err != nil {
		return err
	}

	if s.Propagate != nil {
		o.Propagate = s.Propagate
	}
	if s.RefreshType != nil {
		o.RefreshType = s.RefreshType
	}

	return nil
}
// SetBSON implements the bson marshaling interface.
// This is used to transparently convert ID to MongoDBID as ObectID.
SetBSON implements the bson marshaling interface.
This is used to transparently convert ID to MongoDBID as ObectID.
// SetBSON implements the bson marshaling interface . // This is used to transparently convert ID to MongoDBID as ObectID .
func (o *SparseEnforcerRefresh) SetBSON(raw bson.Raw) error {
	if o == nil {
		return nil
	}
	s := &mongoAttributesSparseEnforcerRefresh{}
	if err := raw.Unmarshal(s); err != nil {
		return err
	}
	if s.Propagate != nil {
		o.Propagate = s.Propagate
	}
	if s.RefreshType != nil {
		o.RefreshType = s.RefreshType
	}
	return nil
}
func ( o * SparseEnforcerRefresh ) SetBSON ( raw bson . Raw ) error { if o == nil { return nil } s := & mongoAttributesSparseEnforcerRefresh { } if err := raw . Unmarshal ( s ) ; err != nil { return err } if s . Propagate != nil { o . Propagate = s . Propagate } if s . RefreshType != nil { o . RefreshType = s . RefreshType } return nil }
SetBSON implements the bson marshaling interface.
SetBSON implements the bson marshaling interface .