001/* 002 * (C) Copyright 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * bstefanescu 018 */ 019package org.nuxeo.ecm.automation.server; 020 021import org.nuxeo.common.utils.StringUtils; 022import org.nuxeo.common.xmap.annotation.XNode; 023import org.nuxeo.common.xmap.annotation.XObject; 024import org.nuxeo.ecm.automation.core.Constants; 025import org.nuxeo.runtime.model.Descriptor; 026 027/** 028 * @author <a href="mailto:[email protected]">Bogdan Stefanescu</a> 029 */ 030@XObject("binding") 031public class RestBinding implements Descriptor { 032 033 @XNode("@name") 034 public String name; 035 036 @XNode("@chain") 037 public boolean chain; 038 039 @XNode("@disabled") 040 public boolean isDisabled; 041 042 @XNode("secure") 043 public boolean isSecure; 044 045 @XNode("administrator") 046 public boolean isAdministrator; 047 048 public String[] groups; 049 050 @Override 051 public String getId() { 052 return chain ? Constants.CHAIN_ID_PREFIX + name : name; 053 } 054 055 public boolean hasGroups() { 056 return groups != null && groups.length > 0; 057 } 058 059 @XNode("groups") 060 public void setGroups(String list) { 061 list = list.trim(); 062 if (list != null && list.length() > 0) { 063 this.groups = StringUtils.split(list, ',', true); 064 } 065 } 066 067}