/* * 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.psml; // Jetspeed imports import org.apache.jetspeed.om.SecurityReference; import org.apache.jetspeed.om.profile.*; /** * Default bean like implementation of the Entry interface * suitable for serialization with Castor * * @author <a href="mailto:raphael@apache.org">Rapha謖 Luta</a> * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a> * @version $Id: PsmlEntry.java,v 1.6 2004/02/23 03:02:54 jford Exp $ */ public class PsmlEntry extends PsmlIdentityElement implements Entry { private String parent = null; /** Holds value of property securityRef. */ private SecurityReference securityRef; /** @return the entry name from which this one is derived */ public String getParent() { return this.parent; } /** * Sets the ancestor for this Entry. * @param parent the new ancestor entry name. This name should * be defined in the system registry */ public void setParent( String parent ) { this.parent = parent; } /** Getter for property securityRef. * @return Value of property securityRef. */ public SecurityReference getSecurityRef() { return securityRef; } /** Setter for property securityRef. * @param securityRef New value of property securityRef. */ public void setSecurityRef(SecurityReference securityRef) { this.securityRef = securityRef; } /** This method recreates the paramter name index for quick retrieval * of parameters by name. Shoule be called whenever a complete index * of parameter should be rebuilt (eg removing a parameter or setting * a parameters vector) private void buildNameIndex() { Hashtable idx = new Hashtable(); Iterator i = parameter.iterator(); int count = 0; while( i.hasNext() ) { Parameter p = (Parameter)i.next(); idx.put( p.getName(), new Integer(count) ); count++; } this.nameIdx = idx; } */ /** * Create a clone of this object */ public Object clone() throws java.lang.CloneNotSupportedException { Object cloned = super.clone(); // clone the securityRef ((PsmlEntry)cloned).securityRef = ((this.securityRef == null) ? null : (SecurityReference) this.securityRef.clone()); return cloned; } // clone }