Start page / Plug-In Development / Universal Extensions / Data Access / Data Snippet Provider

Data Snippet Provider

FirstSpirit Developer API Interface: de.espirit.firstspirit.client.plugin.dataaccess.DataSnippetProvider
Developer API documentation: DataSnippetProvider<D>

This class identifies information about a data object which may be shown in UI representations (called "snippets") of that data object, such as header and extract texts, thumbnail, and icon.

Important XML-conform escaping should be applied to results of logic for the header and excerpt definitions so that XML-specific special characters are converted into corresponding entities.
public class MyDataSnippetProvider implements DataSnippetProvider<MyDataObject> {

private final BaseContext _context;

public MyDataSnippetProvider(@NotNull final BaseContext context) {
_context = context;
}

@Nullable
@Override
public Image<?> getIcon(@NotNull final MyDataObject object) {
final ImageAgent imageAgent = _context.requireSpecialist(ImageAgent.TYPE);
if (_context.is(BaseContext.Env.WEBEDIT)) {
return imageAgent.getImageFromUrl("path/to/myDataObjectIcon.png");
} else {
return imageAgent.getImageFromIcon(new ImageIcon(getClass().getResource("myDataObjectIcon.png")));
}
}

/**
* Ideally, the thumbnail would be generated based on information sourced from the given object.
* For simplicity's sake, we're using a hardcoded thumbnail image here.
*/
@Nullable
@Override
public Image<?> getThumbnail(@NotNull final MyDataObject object, @Nullable final Language language) {
final ImageAgent imageAgent = _context.requireSpecialist(ImageAgent.TYPE);
if (_context.is(BaseContext.Env.WEBEDIT)) {
return imageAgent.getImageFromUrl("path/to/myDataObjectThumbnail.png");
} else {
return imageAgent.getImageFromIcon(new ImageIcon(getClass().getResource("myDataObjectThumbnail.png")));
}
}

@NotNull
@Override
public String getHeader(@NotNull final MyDataObject object, @Nullable final Language language) {
return object.getHeader();
}

@Nullable
@Override
public String getExtract(@NotNull final MyDataObject object, @Nullable final Language language) {
return object.getText();
}
}

© 2005 - 2024 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2024.10 | Data privacy