Java tutorial
/* * Copyright (C) 2016 Singular Studios (a.k.a Atom Tecnologia) - www.opensingular.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.opensingular.lib.wicket.util.model; import java.util.Arrays; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; @SuppressWarnings("serial") public class FallbackReadOnlyModel<T> extends AbstractReadOnlyModel<T> { private final IModel<T>[] models; @SafeVarargs public FallbackReadOnlyModel(IModel<T>... models) { this.models = Arrays.copyOf(models, models.length); } @Override public void detach() { for (IModel<T> m : models) { m.detach(); } } @Override public T getObject() { for (IModel<T> m : models) { T object = m.getObject(); if (object != null) { return object; } } return null; } }