package com.revolsys.swing.component;
import java.awt.Component;
import javax.swing.Icon;
public abstract class AbstractComponentFactory<T extends Component>
implements ComponentFactory<T>, Cloneable {
private Icon icon;
private String name;
private String toolTip;
public AbstractComponentFactory() {
}
public AbstractComponentFactory(final Icon icon, final String name, final String toolTip) {
this.icon = icon;
this.name = name;
this.toolTip = toolTip;
}
@SuppressWarnings("unchecked")
@Override
public AbstractComponentFactory<T> clone() {
try {
return (AbstractComponentFactory<T>)super.clone();
} catch (final CloneNotSupportedException e) {
return null;
}
}
@Override
public void close(final Component component) {
}
@Override
public Icon getIcon() {
return this.icon;
}
@Override
public String getIconName() {
return null;
}
@Override
public String getName() {
return this.name;
}
@Override
public String getToolTip() {
return this.toolTip;
}
protected void setIcon(final Icon icon) {
this.icon = icon;
}
protected void setName(final String name) {
this.name = name;
}
protected void setToolTip(final String toolTip) {
this.toolTip = toolTip;
}
}