package io.oasp.module.security.common.impl.accesscontrol;
import io.oasp.module.security.common.base.accesscontrol.AbstractAccessControlProvider;
import io.oasp.module.security.common.base.accesscontrol.AccessControlSchemaProvider;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
/**
* This is the default implementation of {@link io.oasp.module.security.common.api.accesscontrol.AccessControlProvider}.
*
*/
public class AccessControlProviderImpl extends AbstractAccessControlProvider {
private AccessControlSchemaProvider accessControlSchemaProvider;
/**
* The constructor.
*/
public AccessControlProviderImpl() {
super();
}
/**
* Initializes this class.
*/
@PostConstruct
public void initialize() {
if (this.accessControlSchemaProvider == null) {
this.accessControlSchemaProvider = new AccessControlSchemaProviderImpl();
}
initialize(this.accessControlSchemaProvider.loadSchema());
}
/**
* @return accessControlSchemaProvider
*/
public AccessControlSchemaProvider getAccessControlSchemaProvider() {
return this.accessControlSchemaProvider;
}
/**
* @param accessControlSchemaProvider the {@link AccessControlSchemaProvider} to {@link Inject}.
*/
@Inject
public void setAccessControlSchemaProvider(AccessControlSchemaProvider accessControlSchemaProvider) {
this.accessControlSchemaProvider = accessControlSchemaProvider;
}
}