/* | |
* Copyright 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.pluto.internal.impl; | |
import org.apache.pluto.internal.InternalPortletPreference; | |
/** | |
* TODO: javadoc | |
* @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a> | |
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a> | |
* @version 1.0 | |
* @since Sep 20, 2004 | |
*/ | |
public class PortletPreferenceImpl implements InternalPortletPreference { | |
// Private Member Variables ------------------------------------------------ | |
/** The preference name. */ | |
private String name = null; | |
/** The preference values. */ | |
private String[] values = null; | |
/** Flag indicating if this preference is read-only. */ | |
private boolean readOnly = false; | |
// Constructors ------------------------------------------------------------ | |
public PortletPreferenceImpl(String name, String[] values) { | |
this.name = name; | |
this.values = values; | |
this.readOnly = false; | |
} | |
public PortletPreferenceImpl(String name, | |
String[] values, | |
boolean readOnly) { | |
this.name = name; | |
this.values = values; | |
this.readOnly = readOnly; | |
} | |
/** | |
* Private constructor that is used only within the <code>clone()</code> | |
* method. | |
* @see #clone() | |
*/ | |
private PortletPreferenceImpl() { | |
// Do nothing. | |
} | |
// PortletPreference Impl -------------------------------------------------- | |
public String getName() { | |
return name; | |
} | |
public void setName(String name) { | |
this.name = name; | |
} | |
public String[] getValues() { | |
return values; | |
} | |
public void setValues(String[] values) { | |
this.values = values; | |
} | |
public boolean isReadOnly() { | |
return readOnly; | |
} | |
public void setReadOnly(boolean readOnly) { | |
this.readOnly = readOnly; | |
} | |
public Object clone() { | |
PortletPreferenceImpl copy = new PortletPreferenceImpl(); | |
copy.name = this.name; | |
if (this.values != null) { | |
copy.values = (String[]) this.values.clone(); | |
} | |
copy.readOnly = this.readOnly; | |
return copy; | |
} | |
// Object Methods ---------------------------------------------------------- | |
/** | |
* Override of toString() that prints out name and values of fields. | |
* @see java.lang.Object#toString() | |
*/ | |
public String toString(){ | |
StringBuffer buffer = new StringBuffer(); | |
buffer.append(getClass().getName()); | |
buffer.append("[name=").append(name).append(";"); | |
if (values != null) { | |
for (int i = 0; i < values.length; i++) { | |
buffer.append("value[").append(i).append("]=") | |
.append(values[i]).append(";"); | |
} | |
} else { | |
buffer.append("values=NULL;"); | |
} | |
buffer.append("readOnly=").append(readOnly).append("]"); | |
return buffer.toString(); | |
} | |
} | |