class BalanaPolicyManager implements XACMLPolicyManager {

    @Activate
    protected void start(BundleContext context, Map<String, Object> props) {
        typeIRI = vf.createIRI(com.mobi.ontologies.rdfs.Resource.type_IRI);
        policyFileTypeIRI = vf.createIRI(PolicyFile.TYPE);
        PolicyManagerConfig config = Configurable.createConfigurable(PolicyManagerConfig.class, props);

        try {
            LOG.debug("Setting up policy file directory");
            VirtualFile file = this.vfs.resolveVirtualFile(config.policyFileLocation());
            if (!file.exists()) {
                if (config.createLocationIfNotExists()) {
                    LOG.debug("Directory does not exist. Creating it now.");
                    file.createFolder();
                } else {
                    throw new MobiException("Policy File Location " + config.policyFileLocation() + " does not exist");
                }
            } else if (!file.isFolder()) {
                throw new MobiException("Policy File Location " + config.policyFileLocation() + " is not a directory");
            }
            fileLocation = config.policyFileLocation();
        } catch (VirtualFilesystemException e) {
            throw new MobiException(e);
        }

        loadPolicies(context);
    }

}