/* * Copyright 2000-2001,2004 The Apache Software Foundation. * * Licensed 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.profile; import java.io.Serializable; import org.apache.jetspeed.om.security.Group; import org.apache.jetspeed.om.security.JetspeedUser; import org.apache.jetspeed.om.security.Role; /** * Interface definition for a Profile Locator. Locators are used by the profiler * to describe the parameters used to locate a resource in the persistent * configuration store. * * * @author <a href="mailto:taylor@apache.org">David Sean Taylor </a> */ public interface ProfileLocator extends Serializable, Cloneable { /* * populates this profile locator from a given path in the format: * * user/ <name>/media-type/ <mediaType>/language/ <language> /country/ * <country>/ <page>/page * * group/ "" role/ "" * * @param path The formatted profiler path string. */ public void createFromPath(String path); /* * Gets the unique profile locator id, which is a combination of the params * This ID must follow the one of the 4 sequences below: * * <username>/ <mediaType>/ <language>/ <country>/ <page> <group>/ * <mediaType>/ <language>/ <country>/ <page> <role>/ <mediaType>/ <language>/ * <country>/ <page> * * @return The profile locator id */ public String getId(); /* * Gets the unique profile locator path, which is a combination of the params * This Path must follow the one of the 4 sequences below: * * user/ <name>/media-type/ <mediaType>/language/ <language> /country/ * <country>/ <page>/page * * group/ "" role/ "" * * @return The profile locator path */ public String getPath(); /* * Gets the resource name parameter for this profile. * * @return The resource name parameter for this profile. */ String getName(); /* * Sets the resource name parameter for this profile. * * @param name The resource name parameter for this profile. */ void setName(String name); /* * Gets the media type parameter for this profile. Media types are values such * as html, wml, xml ... * * @return The media type parameter for this profile. */ public String getMediaType(); /* * Sets the media type parameter for this profile. Media types are values such * as html, wml, xml ... * * @param mediaType The media type parameter for this profile. */ public void setMediaType(String mediaType); /* * Gets the language parameter for this profile. Language values are ISO-639 * standard language abbreviations en, fr, de, ... * * @return The language parameter for this profile. */ public String getLanguage(); /* * Sets the language parameter for this profile. Language values are ISO-639 * standard language abbreviations en, fr, de, ... * * @param language The language parameter for this profile. */ public void setLanguage(String language); /* * Gets the country code parameter for this profile. Country code values are * ISO-3166 standard country code abbreviations. GB, US, FR, CA, DE, ... * * @return The country code parameter for this profile. */ public String getCountry(); /* * Sets the country code parameter for this profile. Country code values are * ISO-3166 standard country code abbreviations. GB, US, FR, CA, DE, ... * * @param country The country code parameter for this profile. */ public void setCountry(String country); /* * Gets the user parameter for this profile. * * @return The user parameter for this profile. */ public JetspeedUser getUser(); public String getUserName(); /* * Sets the user parameter for this profile. * * @param user The user parameter for this profile. */ public void setUser(JetspeedUser user); /* * Gets the anonymous user flag for this profile. * * @return True if this profile is anonymous. */ public boolean getAnonymous(); /* * Sets the user parameter as the anonymous user * * @param anonymous True indicates this is an anonymous user. */ public void setAnonymous(boolean anonymous); /* * Gets the role parameter for this profile. * * @return The role parameter for this profile. */ public Role getRole(); public String getRoleName(); /* * Sets the role parameter for this profile. * * @param role The role parameter for this profile. */ public void setRole(Role role); public void setRoleByName(String roleName); /* * Gets the group parameter for this profile. * * @return The group parameter for this profile. */ public Group getGroup(); public String getGroupName(); /* * Sets the group parameter for this profile. * * @param group The group parameter for this profile. */ public void setGroup(Group group); public void setGroupByName(String groupName); public String getOrgName(); public void setOrgName(String orgName); /** * @see Object#clone * @return an instance copy of this object */ public Object clone() throws java.lang.CloneNotSupportedException; }