package org.tessell.generators.views; import static org.apache.commons.lang.StringUtils.substringAfterLast; import static org.apache.commons.lang.StringUtils.substringBeforeLast; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; /** A DTO for {@code ui:style} declarations. */ class UiStyleDeclaration { final String type; final String name; String css = ""; private File cssFile; UiStyleDeclaration(final String type, final String name) { this.type = type; this.name = name; } /** @return the css content from our ui:style snippet in a tmp file */ File getCssInFile() { if (cssFile == null) { try { cssFile = File.createTempFile(name, ".tmp"); cssFile.deleteOnExit(); FileUtils.writeStringToFile(cssFile, css); } catch (IOException e) { throw new RuntimeException(e); } } return cssFile; } public String getStubClassName() { final String packageName = substringBeforeLast(type, "."); final String simpleName = substringAfterLast(type, "."); return packageName + ".Stub" + simpleName; } }