package com.constellio.model.extensions.events.records;
import com.constellio.data.utils.Factory;
import com.constellio.data.utils.FactoryWithCache;
import com.constellio.model.entities.records.Record;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.services.schemas.SchemaUtils;
public class RecordLogicalDeletionValidationEvent implements RecordEvent {
User user;
Record record;
Factory<Boolean> referenceCount;
public RecordLogicalDeletionValidationEvent(Record record, User user, Factory<Boolean> referenceCount) {
this.record = record;
this.user = user;
this.referenceCount = new FactoryWithCache<>(referenceCount);
}
public Record getRecord() {
return record;
}
public User getUser() {
return user;
}
public String getSchemaTypeCode() {
return new SchemaUtils().getSchemaTypeCode(record.getSchemaCode());
}
public boolean isSchemaType(String schemaType) {
return schemaType.equals(getSchemaTypeCode());
}
public boolean isRecordReferenced() {
return referenceCount.get();
}
public String getCollection() {
return record.getCollection();
}
}