class RangerValidator {

	Set<String> getAccessTypes(RangerServiceDef serviceDef) {
		if(LOG.isDebugEnabled()) {
			LOG.debug("==> RangerValidator.getAccessTypes(" + serviceDef + ")");
		}

		Set<String> accessTypes = new HashSet<String>();
		if (serviceDef == null) {
			LOG.warn("serviceDef passed in was null!");
		} else if (CollectionUtils.isEmpty(serviceDef.getAccessTypes())) {
			LOG.warn("AccessTypeDef collection on serviceDef was null!");
		} else {
			for (RangerAccessTypeDef accessTypeDef : serviceDef.getAccessTypes()) {
				if (accessTypeDef == null) {
					LOG.warn("Access type def was null!");
				} else {
					String accessType = accessTypeDef.getName();
					if (StringUtils.isBlank(accessType)) {
						LOG.warn("Access type def name was null/empty/blank!");
					} else {
						accessTypes.add(accessType.toLowerCase());
					}
				}
			}
		}

		if(LOG.isDebugEnabled()) {
			LOG.debug("<== RangerValidator.getAccessTypes(" + serviceDef + "): " + accessTypes);
		}
		return accessTypes;
	}

	protected  RangerValidator(ServiceStore store);

}