package org.freeplane.features.styles;
import org.freeplane.core.resources.NamedObject;
public class StyleNamedObject implements IStyle {
final private NamedObject namedObject;
public StyleNamedObject(NamedObject namedObject) {
super();
if(namedObject == null)
throw new NullPointerException();
this.namedObject = namedObject;
}
public StyleNamedObject(String string) {
if(string == null)
throw new NullPointerException();
namedObject = new NamedObject(string);
}
@Override
public boolean equals(Object obj) {
if(this == obj){
return true;
}
if(obj == null){
return false;
}
if(! this.getClass().equals(obj.getClass())){
return false;
}
return namedObject.equals(((StyleNamedObject)obj).namedObject);
}
@Override
public int hashCode() {
return namedObject.hashCode() + 37 * StyleNamedObject.class.hashCode();
}
@Override
public String toString() {
return namedObject.toString();
}
public Object getObject() {
return namedObject.getObject();
}
public static String toKeyString(IStyle style) {
if(style instanceof StyleNamedObject){
return ((StyleNamedObject)style).getObject().toString();
}
return style.toString();
}
}