@Override public String getDefaultFlavorName(String themePageName) { if (pageReg != null) { PageDescriptor themePage = pageReg.getPage(themePageName); if (themePage != null) { return themePage.getDefaultFlavor(); } } return null; }
@Override public List<String> getFlavorNames(String themePageName) { if (pageReg != null) { PageDescriptor themePage = pageReg.getPage(themePageName); if (themePage != null) { List<String> flavors = new ArrayList<>(); List<String> localFlavors = themePage.getFlavors(); if (localFlavors != null) { flavors.addAll(localFlavors); } // add flavors from theme for all pages PageDescriptor forAllPage = pageReg.getConfigurationApplyingToAll(); if (forAllPage != null) { localFlavors = forAllPage.getFlavors(); if (localFlavors != null) { flavors.addAll(localFlavors); } } // add default flavor if it's not listed there String defaultFlavor = themePage.getDefaultFlavor(); if (defaultFlavor != null) { if (!flavors.contains(defaultFlavor)) { flavors.add(0, defaultFlavor); } } return flavors; } } return null; }
public void merge(PageDescriptor src) { String newFlavor = src.getDefaultFlavor(); if (newFlavor != null) { setDefaultFlavor(newFlavor);
@Override public PageDescriptor clone() { PageDescriptor clone = new PageDescriptor(); clone.setName(getName()); clone.setCharset(getCharset()); clone.setDefaultFlavor(getDefaultFlavor()); clone.setAppendStyles(getAppendStyles()); List<String> styles = getStyles(); if (styles != null) { clone.setStyles(new ArrayList<String>(styles)); } clone.setAppendFlavors(getAppendFlavors()); List<String> flavors = getFlavors(); if (flavors != null) { clone.setFlavors(new ArrayList<String>(flavors)); } clone.setAppendResources(getAppendResources()); if (resources != null) { clone.setResources(new ArrayList<String>(resources)); } if (bundles != null) { clone.setResourceBundles(new ArrayList<String>(bundles)); } return clone; }