/** * Returns a new instance of {@link BrowserSniffer} from the {@link BrowserSnifferFactory} found by the {@link * FactoryExtensionFinder}. The returned instance is designed to be used during execution of a request thread, so it * is not guaranteed to be {@link java.io.Serializable}. * * @param externalContext The external context associated with the current faces context. It is needed in order * for the {@link FactoryExtensionFinder} to be able to find the factory. * * @since 3.1 * @since 2.1 * @since 1.1 */ public static BrowserSniffer getBrowserSnifferInstance(ExternalContext externalContext) { BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( externalContext, BrowserSnifferFactory.class); return browserSnifferFactory.getBrowserSniffer(externalContext); }
/** * @deprecated Call {@link #getBrowserSnifferInstance(ExternalContext)} instead. * * <p>Returns a new instance of {@link BrowserSniffer} from the {@link BrowserSnifferFactory} found by * the {@link FactoryExtensionFinder}. The returned instance is designed to be used during execution of * a request thread, so it is not guaranteed to be {@link java.io.Serializable}.</p> */ @Deprecated public static BrowserSniffer getBrowserSnifferInstance() { return getBrowserSnifferInstance(FacesContext.getCurrentInstance().getExternalContext()); }
private BrowserSnifferFactory getFirstNonBridgeBrowserSnifferFactory() { BrowserSnifferFactory firstNonBridgeBrowserSnifferFactory = wrappedBrowserSnifferFactory; while (firstNonBridgeBrowserSnifferFactory.getClass().getName().startsWith("com.liferay.faces.bridge")) { firstNonBridgeBrowserSnifferFactory = firstNonBridgeBrowserSnifferFactory.getWrapped(); } return firstNonBridgeBrowserSnifferFactory; } }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputTime inputTime = (InputTime) uiComponent; if (isNative(browserSniffer, inputTime)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); InputDate inputDate = (InputDate) uiComponent; if (isNative(browserSniffer, inputDate)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
@Override public PartialResponseWriter getPartialResponseWriter() { if (partialResponseWriter == null) { BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); FacesContext facesContext = FacesContext.getCurrentInstance(); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); partialResponseWriter = new PartialResponseWriterAlloyImpl(super.getPartialResponseWriter(), browserSniffer); } return partialResponseWriter; }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); InputTime inputTime = (InputTime) uiComponent; if (isNative(browserSniffer, inputTime)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
@Override public PartialResponseWriter getPartialResponseWriter() { if (partialResponseWriter == null) { BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); FacesContext facesContext = FacesContext.getCurrentInstance(); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); partialResponseWriter = new PartialResponseWriterAlloyImpl(super.getPartialResponseWriter(), browserSniffer); } return partialResponseWriter; }
protected String[] getModules(String defaultModule, FacesContext facesContext, UIComponent uiComponent) { String[] modules = new String[] { defaultModule }; BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); InputDateTime inputDateTime = (InputDateTime) uiComponent; if (isNative(browserSniffer, inputDateTime)) { modules[0] = defaultModule.concat("-native"); } else { Map<String, List<ClientBehavior>> clientBehaviorMap = inputDateTime.getClientBehaviors(); List<ClientBehavior> valueChangeClientBehaviors = clientBehaviorMap.get(VALUE_CHANGE); if ((valueChangeClientBehaviors != null) && !valueChangeClientBehaviors.isEmpty()) { modules = StringHelper.append(modules, NODE_EVENT_SIMULATE); } } return modules; }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputDate inputDate = (InputDate) uiComponent; if (isNative(browserSniffer, inputDate)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
@Override protected void encodeHiddenAttributes(FacesContext facesContext, ResponseWriter responseWriter, InputTime inputTime, boolean first) throws IOException { BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); if (!isNative(browserSniffer, inputTime)) { encodeAutocomplete(facesContext, responseWriter, inputTime, first); first = false; encodeHiddenAttributesInputDateTime(facesContext, responseWriter, inputTime, first); first = false; } }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputDate inputDate = (InputDate) uiComponent; if (isNative(browserSniffer, inputDate)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
@Override public String getPattern() { String timePattern; FacesContext facesContext = FacesContext.getCurrentInstance(); BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); if (browserSniffer.isMobile() && isNativeWhenMobile()) { timePattern = DEFAULT_HTML5_TIME_PATTERN; } else { timePattern = super.getPattern(); } return timePattern; }
protected String[] getModules(String[] defaultModules, FacesContext facesContext, UIComponent uiComponent) { List<String> modules = new ArrayList<String>(); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputDateTime inputDateTime = (InputDateTime) uiComponent; if (isNative(browserSniffer, inputDateTime)) { String nativeAlloyModuleName = defaultModules[0].concat("-native"); modules.add(nativeAlloyModuleName); } else { modules.addAll(Arrays.asList(defaultModules)); Map<String, List<ClientBehavior>> clientBehaviorMap = inputDateTime.getClientBehaviors(); List<ClientBehavior> valueChangeClientBehaviors = clientBehaviorMap.get(VALUE_CHANGE); if ((valueChangeClientBehaviors != null) && !valueChangeClientBehaviors.isEmpty()) { modules.add(NODE_EVENT_SIMULATE); } modules = getModules(Collections.unmodifiableList(modules), facesContext, inputDateTime); } return modules.toArray(new String[] {}); }
@Override protected void encodeHiddenAttributes(FacesContext facesContext, ResponseWriter responseWriter, InputDate inputDate, boolean first) throws IOException { BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); if (!isNative(browserSniffer, inputDate)) { encodeCalendar(facesContext, responseWriter, inputDate, first); first = false; encodeHiddenAttributesInputDateTime(facesContext, responseWriter, inputDate, first); first = false; } }
@Override public String getAlloyClassName(FacesContext facesContext, UIComponent uiComponent) { String alloyClassName = super.getAlloyClassName(facesContext, uiComponent); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputTime inputTime = (InputTime) uiComponent; if (isNative(browserSniffer, inputTime)) { alloyClassName = alloyClassName.concat("Native"); } return alloyClassName; }
value = BrowserSnifferFactory.getBrowserSnifferInstance(currentInstance.getExternalContext());
protected String[] getModules(String[] defaultModules, FacesContext facesContext, UIComponent uiComponent) { List<String> modules = new ArrayList<String>(); BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); InputDateTime inputDateTime = (InputDateTime) uiComponent; if (isNative(browserSniffer, inputDateTime)) { String nativeAlloyModuleName = defaultModules[0].concat("-native"); modules.add(nativeAlloyModuleName); } else { modules.addAll(Arrays.asList(defaultModules)); Map<String, List<ClientBehavior>> clientBehaviorMap = inputDateTime.getClientBehaviors(); List<ClientBehavior> valueChangeClientBehaviors = clientBehaviorMap.get(VALUE_CHANGE); if ((valueChangeClientBehaviors != null) && !valueChangeClientBehaviors.isEmpty()) { modules.add(NODE_EVENT_SIMULATE); } modules = getModules(Collections.unmodifiableList(modules), facesContext, inputDateTime); } return modules.toArray(new String[] {}); }
@Override public String getPattern() { String datePattern; FacesContext facesContext = FacesContext.getCurrentInstance(); BrowserSniffer browserSniffer = BrowserSnifferFactory.getBrowserSnifferInstance( facesContext.getExternalContext()); if (browserSniffer.isMobile() && isNativeWhenMobile()) { datePattern = DEFAULT_HTML5_DATE_PATTERN; } else { datePattern = super.getPattern(); if (datePattern == null) { // Provide a default datePattern based on the locale. Object locale = getLocale(); datePattern = getDefaultDatePattern(locale); } } return datePattern; }
@Override protected void encodeHiddenAttributes(FacesContext facesContext, ResponseWriter responseWriter, InputDate inputDate, boolean first) throws IOException { BrowserSnifferFactory browserSnifferFactory = (BrowserSnifferFactory) FactoryExtensionFinder.getFactory( BrowserSnifferFactory.class); BrowserSniffer browserSniffer = browserSnifferFactory.getBrowserSniffer(facesContext.getExternalContext()); if (!isNative(browserSniffer, inputDate)) { encodeCalendar(facesContext, responseWriter, inputDate, first); first = false; encodeHiddenAttributesInputDateTime(facesContext, responseWriter, inputDate, first); first = false; } }