package org.korsakow.domain; import java.util.Collection; import java.util.HashMap; import org.korsakow.domain.interf.IKeyword; import org.korsakow.domain.interf.IWidget; import org.korsakow.ide.resources.ResourceType; import org.korsakow.ide.resources.widget.WidgetPersistAction; import org.korsakow.ide.resources.widget.WidgetPersistCondition; public class Widget extends Resource implements IWidget { private final HashMap<String, Object> abstractProperties = new HashMap<String, Object>(); private String widgetId; private WidgetPersistCondition persistCondition = WidgetPersistCondition.Never; private WidgetPersistAction persistAction = WidgetPersistAction.Replace; private int x; private int y; private int width; private int height; Widget(long id, long version) { super(id, version); } Widget(long id, long version, String name, Collection<IKeyword> keywords, String widgetId, WidgetPersistCondition persistCondition, WidgetPersistAction persistAction, int x, int y, int width, int height) { super(id, version, name, keywords); setWidgetId(widgetId); setPersistCondition(persistCondition); setPersistAction(persistAction); setX(x); setY(y); setWidth(width); setHeight(height); } public String getType() { return ResourceType.WIDGET.getTypeId(); } public Collection<String> getDynamicPropertyIds() { return abstractProperties.keySet(); } public Object getDynamicProperty(String id) { return abstractProperties.get(id); } public void setDynamicProperty(String id, Object value) { if (id == null) throw new NullPointerException(); // if (value == null) // abstractProperties.remove(id); // else abstractProperties.put(id, value); } public Class getPropertyType(String id) { return Object.class; } public void setWidgetId(String widgetId) { this.widgetId = widgetId; } public String getWidgetId() { return widgetId; } public void setPersistCondition(WidgetPersistCondition condition) { persistCondition = condition; } public WidgetPersistCondition getPersistCondition() { return persistCondition; } public void setPersistAction(WidgetPersistAction action) { persistAction = action; } public WidgetPersistAction getPersistAction() { return persistAction; } public void setX(int x) { this.x = x; } public int getX() { return x; } public void setY(int y) { this.y = y; } public int getY() { return y; } public void setWidth(int width) { this.width = width; } public int getWidth() { return width; } public void setHeight(int height) { this.height = height; } public int getHeight() { return height; } }