/* * Copyright 2010 Bizosys Technologies Limited * * Licensed to the Bizosys Technologies Limited (Bizosys) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The Bizosys licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.bizosys.hsearch.common; import com.bizosys.hsearch.filter.Access; /** * Carries all access information. It is serializable across wire (REST API). * @author karan * */ public class AccessDefn { /** * The User Ids */ public String[] uids = null; /** * The Teams */ public String[] teams = null; /** * The Roles */ public String[] roles = null; /** * The Organization Units / Tenants */ public String[] ous = null; /** * Specific Users from Organization Units */ public String[][] ouAndUids = null; /** * Specific Roles from Organization Units */ public String[][] ouAndRoles = null; /** * Creates an Access Object from the provided access definition * @return Access Object */ public Access getAccess() { if ( null == uids && null == teams && null == roles && null == ous && null == ouAndUids && null == ouAndRoles) return null; Access access = new Access(); if (null != uids) for (String uid : uids) access.addUid(uid); if (null != teams) for (String team : teams) access.addTeam(team); if (null != roles) for (String role : roles) access.addRole(role); if (null != ous) for (String ou : ous) access.addOrgUnit(ou); if (null != ouAndUids) for (String[] ouU : ouAndUids) access.addOrgUnitAndUid(ouU[0], ouU[1]); if (null != ouAndRoles) for (String[] ouR : ouAndRoles) access.addOrgUnitAndRole(ouR[0], ouR[1]); return access; } }