/******************************************************************************* * Copyright (c) 2015 Development Gateway, Inc and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the MIT License (MIT) * which accompanies this distribution, and is available at * https://opensource.org/licenses/MIT * * Contributors: * Development Gateway - initial API and implementation *******************************************************************************/ /** * */ package org.devgateway.toolkit.forms.models; import org.apache.wicket.Component; import org.apache.wicket.model.IModel; import org.apache.wicket.model.IWrapModel; /** * @author mpostelnicu * */ public class SubComponentWrapModel<T> implements IWrapModel<T> { private static final long serialVersionUID = 4054354057335519754L; private Component parent; public SubComponentWrapModel(final Component parent) { this.parent = parent; } /* * (non-Javadoc) * * @see org.apache.wicket.model.IWrapModel#getWrappedModel() */ @Override public IModel<?> getWrappedModel() { return parent.getDefaultModel(); } @SuppressWarnings("unchecked") @Override public T getObject() { return (T) parent.getDefaultModelObject(); } @Override public void setObject(final T object) { parent.setDefaultModelObject(object); } @Override public void detach() { IModel<?> wrappedModel = getWrappedModel(); if (wrappedModel != null) { wrappedModel.detach(); } } }