NamedPair entry = new NamedPair(name, val, type);
@Override public List<NamedPair> getAllNamedByType(Type type) { List<NamedPair> allNamed = getAllNamed(); if (type == null || allNamed.isEmpty()) { return allNamed; } List<NamedPair> parametersByType = new ArrayList<>(); Iterator<NamedPair> iterator = allNamed.iterator(); while (iterator.hasNext()) { NamedPair pair = iterator.next(); if (type == pair.getType()) { parametersByType.add(pair); } } return Collections.unmodifiableList(parametersByType); }
NamedPair entry = new NamedPair(name, val, type);
/** * Merges the page parameters into this, overwriting existing values * * @param other * The parameters to merge * @return this instance, for chaining */ public PageParameters mergeWith(final PageParameters other) { if (other != null && this != other) { for (int index = 0; index < other.getIndexedCount(); index++) { if (!other.get(index).isNull()) { set(index, other.get(index)); } } for (String name : other.getNamedKeys()) { remove(name); } for (NamedPair curNamed : other.getAllNamed()) { add(curNamed.getKey(), curNamed.getValue(), curNamed.getType()); } } return this; }
/** * Merges the page parameters into this, overwriting existing values * * @param other * The parameters to merge * @return this instance, for chaining */ public PageParameters mergeWith(final PageParameters other) { if (other != null && this != other) { for (int index = 0; index < other.getIndexedCount(); index++) { if (!other.get(index).isNull()) { set(index, other.get(index)); } } for (String name : other.getNamedKeys()) { remove(name); } for (NamedPair curNamed : other.getAllNamed()) { add(curNamed.getKey(), curNamed.getValue(), curNamed.getType()); } } return this; }
List<INamedParameters.NamedPair> allNamed = parameters.getAllNamed(); for (INamedParameters.NamedPair pair : allNamed){ options.add(pair.getValue());
private Url encode(BrixNodeWebPage page) { BrixNode node = page.getModelObject(); // This is a URL for redirect. Allow components to contribute state to // URL if they want to final BrixPageParameters parameters = page.getBrixPageParameters(); Iterator<NamedPair> it = page.getBrixPageParameters().getAllNamed().iterator(); while (it.hasNext()) { INamedParameters.NamedPair namedPair = it.next(); if (isNumber(namedPair.getKey())) { parameters.remove(namedPair.getKey()); } } page.visitChildren(PageParametersAware.class, new IVisitor<Component, PageParametersAware>() { @Override public void component(Component component, IVisit<PageParametersAware> iVisit) { ((PageParametersAware) component).contributeToPageParameters(parameters); } }); return encode(node, parameters, null); }
/** * Copies all given source {@link org.apache.wicket.request.mapper.parameter.PageParameters} to * the given destination {@link org.apache.wicket.request.mapper.parameter.PageParameters}. * * @param source * The source {@link org.apache.wicket.request.mapper.parameter.PageParameters}. * @param destination * The destination {@link org.apache.wicket.request.mapper.parameter.PageParameters}. * @return The destination {@link org.apache.wicket.request.mapper.parameter.PageParameters} * with the copied keys and values. */ public static PageParameters copy(final PageParameters source, final PageParameters destination) { Args.notNull(source, "source"); Args.notNull(destination, "destination"); final List<INamedParameters.NamedPair> namedPairs = source.getAllNamed(); for (final INamedParameters.NamedPair namedPair : namedPairs) { destination.add(namedPair.getKey(), namedPair.getValue()); } return destination; }
@Override public List<StringValue> getValues(final String name) { Args.notNull(name, "name"); if (namedParameters != null) { List<StringValue> result = new ArrayList<>(); for (NamedPair entry : namedParameters) { if (entry.getKey().equals(name)) { result.add(StringValue.valueOf(entry.getValue(), locale)); } } return Collections.unmodifiableList(result); } else { return Collections.emptyList(); } }
@Override public Url encodePageParameters(final PageParameters pageParameters) { Url url = new Url(); if (pageParameters != null) { for (int i = 0; i < pageParameters.getIndexedCount(); ++i) { url.getSegments().add(pageParameters.get(i).toString()); } for (PageParameters.NamedPair pair : pageParameters.getAllNamed()) { QueryParameter param = new QueryParameter(pair.getKey(), pair.getValue()); url.getQueryParameters().add(param); } } return url; } }
/** * Gets the url that references this handler. * * @return the url that references this handler */ public CharSequence getCallbackUrl() { Component component = getComponent(); if (component == null) { throw new IllegalArgumentException( "Behavior must be bound to a component to create the URL"); } PageParameters parameters = new PageParameters(); PageParameters pageParameters = component.getPage().getPageParameters(); List<INamedParameters.NamedPair> allNamedInPath = pageParameters.getAllNamedByType(INamedParameters.Type.PATH); for (INamedParameters.NamedPair namedPair : allNamedInPath) { parameters.add(namedPair.getKey(), namedPair.getValue(), INamedParameters.Type.PATH); } return getComponent().urlForListener(this, parameters); }
/** * Gets the url that references this handler. * * @return the url that references this handler */ public CharSequence getCallbackUrl() { Component component = getComponent(); if (component == null) { throw new IllegalArgumentException( "Behavior must be bound to a component to create the URL"); } PageParameters parameters = new PageParameters(); PageParameters pageParameters = component.getPage().getPageParameters(); List<INamedParameters.NamedPair> allNamedInPath = pageParameters.getAllNamedByType(INamedParameters.Type.PATH); for (INamedParameters.NamedPair namedPair : allNamedInPath) { parameters.add(namedPair.getKey(), namedPair.getValue(), INamedParameters.Type.PATH); } return getComponent().urlForListener(this, parameters); }
@Override public List<StringValue> getValues(final String name) { Args.notNull(name, "name"); if (namedParameters != null) { List<StringValue> result = new ArrayList<>(); for (NamedPair entry : namedParameters) { if (entry.getKey().equals(name)) { result.add(StringValue.valueOf(entry.getValue(), locale)); } } return Collections.unmodifiableList(result); } else { return Collections.emptyList(); } }