/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF 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 org.apache.jetspeed.om.portlet.impl; import java.util.List; import java.util.Locale; import org.apache.jetspeed.om.portlet.Description; import org.apache.jetspeed.om.portlet.SecurityRole; import org.apache.jetspeed.util.JetspeedLocale; import org.apache.jetspeed.util.ojb.CollectionUtils; /** * * @version: $Id$ */ public class SecurityRoleImpl implements SecurityRole { private String name; protected List descriptions; public SecurityRoleImpl() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public Description getDescription(Locale locale) { return (Description)JetspeedLocale.getBestLocalizedObject(getDescriptions(), locale); } @SuppressWarnings("unchecked") public List getDescriptions() { if (descriptions == null) { descriptions = CollectionUtils.createList(); } return descriptions; } public Description addDescription(String lang) { DescriptionImpl d = new DescriptionImpl(this, lang); for (Description desc : getDescriptions()) { if (desc.getLocale().equals(d.getLocale())) { throw new IllegalArgumentException("Description for language: "+d.getLocale()+" already defined"); } } descriptions.add(d); return d; } }