blob: 221dd5d1eec12aaf8adf28d51eeacb6dcd0a0ec9 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.cocoon.forms.binding;
import org.apache.cocoon.forms.binding.library.Library;
import org.apache.cocoon.forms.formmodel.Widget;
/**
* Binding declares the methods to 'bind' (i.e. 'load' and 'save')
* information elements from some back-end model (2nd argument) to and from
* a existing Cocoon Form Widget.
*
* @version $Id$
*/
public interface Binding {
/**
* Sets parent binding.
* @param binding Parent of this binding.
*/
void setParent(Binding binding);
/**
* Gets binding definition id.
*/
String getId();
/**
* returns the local library for this tree of bindings
*/
Library getEnclosingLibrary();
/**
* sets the library this binding is a part of
*/
void setEnclosingLibrary(Library lib);
/**
* checks for deep validity of this binding tree (taking into accound included libraries)
*/
boolean isValid();
/**
* Gets a binding class.
* @param id Id of binding class to get.
*/
Binding getClass(String id);
/**
* Loads the information-elements from the objModel to the frmModel.
*
* @param frmModel
* @param objModel
*/
void loadFormFromModel(Widget frmModel, Object objModel)
throws BindingException;
/**
* Saves the infortmation-elements to the objModel from the frmModel.
* @param frmModel
* @param objModel
*/
void saveFormToModel(Widget frmModel, Object objModel)
throws BindingException;
}