
jdplus.toolkit.desktop.plugin.workspace.AbstractWorkspaceItemManager Maven / Gradle / Ivy
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jdplus.toolkit.desktop.plugin.workspace;
import java.util.Collections;
import java.util.List;
/**
*
* @author Jean Palate
* @param
*/
public abstract class AbstractWorkspaceItemManager implements WorkspaceItemManager {
protected abstract String getItemPrefix();
protected boolean isUsed(String name) {
if (null != WorkspaceFactory.getInstance().getActiveWorkspace().searchDocument(getId(), name)) {
return true;
}
if (null != WorkspaceFactory.getInstance().getActiveWorkspace().searchDocumentByName(getId(), name)) {
return true;
}
return false;
}
public String getNextItemName() {
return getNextItemName(null);
}
@Override
public String getNextItemName(final String pname) {
String name = pname;
int id = 1;
while (name == null || isUsed(name)) {
StringBuilder builder = new StringBuilder();
builder.append(getItemPrefix());
builder.append("-").append(id++);
name = builder.toString();
}
return name;
}
@Override
public WorkspaceItem create(Workspace ws) {
D newObject = createNewObject();
if (newObject == null)
return null;
WorkspaceItem item = WorkspaceItem.newItem(getId(), getNextItemName(), newObject);
if (ws != null) {
ws.add(item);
}
return item;
}
@Override
public List> getDefaultItems() {
return Collections.emptyList();
}
@Override
public boolean isAutoLoad(){
return false;
}
protected void cloneItem(WorkspaceItem doc) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy