org.openmrs.api.db.hibernate
Class HibernateFormDAO

java.lang.Object
  extended by org.openmrs.api.db.hibernate.HibernateFormDAO
All Implemented Interfaces:
FormDAO

public class HibernateFormDAO
extends java.lang.Object
implements FormDAO

Hibernate specific Form related functions This class should not be used directly. All calls should go through the FormService methods.

See Also:
FormDAO, FormService

Field Summary
protected  org.apache.commons.logging.Log log
           
 
Constructor Summary
HibernateFormDAO()
           
 
Method Summary
 void deleteField(Field field)
          Deletes a field from the database.
 void deleteFieldType(FieldType fieldType)
          Delete the given field type from the database
 void deleteForm(Form form)
          Delete form from database.
 void deleteFormField(FormField formField)
          Deletes a FormField from the database.
 Form duplicateForm(Form form)
          Creates new form from the given Form
 java.util.List<Field> getAllFields(boolean includeRetired)
          Returns all fields in the database, possibly including retired ones
 java.util.List<FieldType> getAllFieldTypes(boolean includeRetired)
          Get all field types
 java.util.List<FormField> getAllFormFields()
          Returns all FormFields in the database
 java.util.List<Form> getAllForms(boolean includeRetired)
          Returns all forms in the database, possibly including retired ones
 Field getField(java.lang.Integer fieldId)
           
 FieldAnswer getFieldAnswerByUuid(java.lang.String uuid)
           
 Field getFieldByUuid(java.lang.String uuid)
          Auto generated method comment
 java.util.List<Field> getFields(java.util.Collection<Form> forms, java.util.Collection<FieldType> fieldTypes, java.util.Collection<Concept> concepts, java.util.Collection<java.lang.String> tableNames, java.util.Collection<java.lang.String> attributeNames, java.lang.Boolean selectMultiple, java.util.Collection<FieldAnswer> containsAllAnswers, java.util.Collection<FieldAnswer> containsAnyAnswer, java.lang.Boolean retired)
          Returns all fields that match a broad range of (nullable) criteria
 java.util.List<Field> getFields(java.lang.String search)
           
 java.util.List<Field> getFieldsByConcept(Concept concept)
           
 FieldType getFieldType(java.lang.Integer fieldTypeId)
          Get fieldType by internal identifier
 FieldType getFieldTypeByUuid(java.lang.String uuid)
          Auto generated method comment
 Form getForm(java.lang.Integer formId)
          Get form by internal form identifier
 Form getForm(java.lang.String name, java.lang.String version)
          Get form by exact name and version
 Form getFormByUuid(java.lang.String uuid)
          Auto generated method comment
 FormField getFormField(Form form, Concept concept, java.util.Collection<FormField> ignoreFormFields, boolean force)
           
 FormField getFormField(java.lang.Integer formFieldId)
           
 FormField getFormFieldByUuid(java.lang.String uuid)
          Auto generated method comment
 java.util.List<FormField> getFormFields(Form form)
           
 java.util.List<FormField> getFormFieldsByField(Field field)
          Return a list of FormFields given a Field
 java.util.List<Form> getForms(java.lang.String partialName, java.lang.Boolean published, java.util.Collection<EncounterType> encounterTypes, java.lang.Boolean retired, java.util.Collection<FormField> containingAnyFormField, java.util.Collection<FormField> containingAllFormFields, java.util.Collection<Field> fields)
          Gets all forms that match all the criteria.
 java.util.List<Form> getFormsByName(java.lang.String name)
          Gets all forms with the given name, sorted (alphabetically) by descending version
 java.util.List<Form> getFormsContainingConcept(Concept c)
          Get all forms that contain the given Concept as one of their fields.
 Field saveField(Field field)
           
 FieldType saveFieldType(FieldType fieldType)
          Save the given field type to the database
 Form saveForm(Form form)
          Returns the form object originally passed in, which will have been persisted.
 FormField saveFormField(FormField formField)
           
 void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
          Set session factory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final org.apache.commons.logging.Log log
Constructor Detail

HibernateFormDAO

public HibernateFormDAO()
Method Detail

setSessionFactory

public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Set session factory

Parameters:
sessionFactory -

saveForm

public Form saveForm(Form form)
              throws DAOException
Returns the form object originally passed in, which will have been persisted.

Specified by:
saveForm in interface FormDAO
Throws:
DAOException
See Also:
FormService.createForm(org.openmrs.Form)

duplicateForm

public Form duplicateForm(Form form)
                   throws DAOException
Description copied from interface: FormDAO
Creates new form from the given Form

Specified by:
duplicateForm in interface FormDAO
Parameters:
form - Form to duplicate
Returns:
newly duplicated Form
Throws:
DAOException
See Also:
FormService.duplicateForm(org.openmrs.Form)

deleteForm

public void deleteForm(Form form)
                throws DAOException
Description copied from interface: FormDAO
Delete form from database. This is included for troubleshooting and low-level system administration. Ideally, this method should never be called — Forms should be retired and not deleted altogether (since many foreign key constraints depend on forms, deleting a form would require deleting all traces, and any historical trail would be lost). This method only clears form roles and attempts to delete the form record. If the form has been included in any other parts of the database (through a foreign key), the attempt to delete the form will violate foreign key constraints and fail.

Specified by:
deleteForm in interface FormDAO
Parameters:
form - Form to delete
Throws:
DAOException
See Also:
FormService.deleteForm(org.openmrs.Form)

getForm

public Form getForm(java.lang.Integer formId)
             throws DAOException
Description copied from interface: FormDAO
Get form by internal form identifier

Specified by:
getForm in interface FormDAO
Parameters:
formId - Integer internal identifier for requested Form
Returns:
requested Form
Throws:
DAOException
See Also:
FormService.getForm(java.lang.Integer)

getFormFields

public java.util.List<FormField> getFormFields(Form form)
                                        throws DAOException
Throws:
DAOException
See Also:
FormService.getFormFields(Form)

getFields

public java.util.List<Field> getFields(java.lang.String search)
                                throws DAOException
Specified by:
getFields in interface FormDAO
Parameters:
search - String phrase to search for
Returns:
list of fields in the database matching search phrase
Throws:
DAOException
See Also:
FormDAO.getFields(java.lang.String)

getFieldsByConcept

public java.util.List<Field> getFieldsByConcept(Concept concept)
                                         throws DAOException
Throws:
DAOException
See Also:
FormService.getFieldsByConcept(org.openmrs.Concept)

getField

public Field getField(java.lang.Integer fieldId)
               throws DAOException
Specified by:
getField in interface FormDAO
Throws:
DAOException
See Also:
FormService.getField(java.lang.Integer), FormDAO.getField(java.lang.Integer)

getAllFields

public java.util.List<Field> getAllFields(boolean includeRetired)
                                   throws DAOException
Description copied from interface: FormDAO
Returns all fields in the database, possibly including retired ones

Specified by:
getAllFields in interface FormDAO
Parameters:
includeRetired - whether or not to return retired fields
Returns:
all fields in the database, possibly including retired ones
Throws:
DAOException
See Also:
FormService.getAllFields(boolean), FormDAO.getAllFields(boolean)

getFieldType

public FieldType getFieldType(java.lang.Integer fieldTypeId)
                       throws DAOException
Description copied from interface: FormDAO
Get fieldType by internal identifier

Specified by:
getFieldType in interface FormDAO
Parameters:
fieldTypeId - Internal Integer identifier of FieldType
Returns:
The FieldType with specified internal identifier
Throws:
DAOException
See Also:
FormService.getFieldType(java.lang.Integer), FormDAO.getFieldType(java.lang.Integer)

getAllFieldTypes

public java.util.List<FieldType> getAllFieldTypes(boolean includeRetired)
                                           throws DAOException
Description copied from interface: FormDAO
Get all field types

Specified by:
getAllFieldTypes in interface FormDAO
Parameters:
includeRetired - boolean - include retired field types as well?
Returns:
List object with all FieldTypes, possibly including retired ones
Throws:
DAOException
See Also:
FormService.getFieldTypes(), FormDAO.getAllFieldTypes(boolean)

getFormField

public FormField getFormField(java.lang.Integer formFieldId)
                       throws DAOException
Specified by:
getFormField in interface FormDAO
Throws:
DAOException
See Also:
FormService.getFormField(java.lang.Integer), FormDAO.getFormField(java.lang.Integer)

getFormField

public FormField getFormField(Form form,
                              Concept concept,
                              java.util.Collection<FormField> ignoreFormFields,
                              boolean force)
                       throws DAOException
Specified by:
getFormField in interface FormDAO
Throws:
DAOException
See Also:
FormService.getFormField(org.openmrs.Form, org.openmrs.Concept, java.util.Collection, boolean), FormDAO.getFormField(org.openmrs.Form, org.openmrs.Concept, java.util.Collection, boolean)

getAllForms

public java.util.List<Form> getAllForms(boolean includeRetired)
                                 throws DAOException
Description copied from interface: FormDAO
Returns all forms in the database, possibly including retired ones

Specified by:
getAllForms in interface FormDAO
Parameters:
includeRetired - boolean - include retired forms?
Returns:
List
object of all forms, possibly including retired ones
Throws:
DAOException
See Also:
FormService.getForms()

getFormsContainingConcept

public java.util.List<Form> getFormsContainingConcept(Concept c)
                                               throws DAOException
Description copied from interface: FormDAO
Get all forms that contain the given Concept as one of their fields. (Includes retired forms.)

Specified by:
getFormsContainingConcept in interface FormDAO
Parameters:
c - the Concept to search through form fields for
Returns:
forms that contain a form field referencing the given concept
Throws:
DAOException
See Also:
FormDAO.getFormsContainingConcept(org.openmrs.Concept)

saveField

public Field saveField(Field field)
                throws DAOException
Specified by:
saveField in interface FormDAO
Throws:
DAOException
See Also:
FormService.saveField(org.openmrs.Field), FormDAO.saveField(org.openmrs.Field)

deleteField

public void deleteField(Field field)
                 throws DAOException
Description copied from interface: FormDAO
Deletes a field from the database.

This will fail if any other entities reference this field via a foreign key

Specified by:
deleteField in interface FormDAO
Parameters:
field - the Field to delete
Throws:
DAOException
See Also:
FormService.deleteField(org.openmrs.Field), FormDAO.deleteField(org.openmrs.Field)

saveFormField

public FormField saveFormField(FormField formField)
                        throws DAOException
Specified by:
saveFormField in interface FormDAO
Throws:
DAOException
See Also:
FormService.createFormField(org.openmrs.FormField)

deleteFormField

public void deleteFormField(FormField formField)
                     throws DAOException
Description copied from interface: FormDAO
Deletes a FormField from the database. This will fail if any other entities reference this FormField via a foreign key

Specified by:
deleteFormField in interface FormDAO
Parameters:
formField - the FormField to delete
Throws:
DAOException
See Also:
FormService.deleteFormField(org.openmrs.FormField), FormDAO.deleteFormField(org.openmrs.FormField)

getAllFormFields

public java.util.List<FormField> getAllFormFields()
                                           throws DAOException
Description copied from interface: FormDAO
Returns all FormFields in the database

Specified by:
getAllFormFields in interface FormDAO
Returns:
List object of all FormFields in the database
Throws:
DAOException
See Also:
FormDAO.getAllFormFields()

getFields

public java.util.List<Field> getFields(java.util.Collection<Form> forms,
                                       java.util.Collection<FieldType> fieldTypes,
                                       java.util.Collection<Concept> concepts,
                                       java.util.Collection<java.lang.String> tableNames,
                                       java.util.Collection<java.lang.String> attributeNames,
                                       java.lang.Boolean selectMultiple,
                                       java.util.Collection<FieldAnswer> containsAllAnswers,
                                       java.util.Collection<FieldAnswer> containsAnyAnswer,
                                       java.lang.Boolean retired)
                                throws DAOException
Description copied from interface: FormDAO
Returns all fields that match a broad range of (nullable) criteria

Specified by:
getFields in interface FormDAO
Parameters:
forms - Collection of Form to which the requested Fields must belong
fieldTypes - Collection of FieldType of which the requested fields must be
concepts - Collection of Concepts which the fields must point to
tableNames - Collection of TableNames which the fields must point to
attributeNames - Collection of String attribute names which the fields must point to
selectMultiple - Boolean value that matching fields must have for selectMultiple
containsAllAnswers - Collection of FieldAnswers, all of which a matching field must contain (not yet implemented)
containsAnyAnswer - Collection of FieldAnswers, any one of which a matching field must contain (not yet implemented)
retired - Boolean retired status that fields must match
Returns:
All Fields that match the criteria
Throws:
DAOException
See Also:
FormDAO.getFields(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.lang.Boolean, java.util.Collection, java.util.Collection, java.lang.Boolean)

getForm

public Form getForm(java.lang.String name,
                    java.lang.String version)
             throws DAOException
Description copied from interface: FormDAO
Get form by exact name and version

Specified by:
getForm in interface FormDAO
Parameters:
name - the name of the form to get
version - the version of the form to get
Returns:
the form with the exact name and version given
Throws:
DAOException
See Also:
FormDAO.getForm(java.lang.String, java.lang.String)

getForms

public java.util.List<Form> getForms(java.lang.String partialName,
                                     java.lang.Boolean published,
                                     java.util.Collection<EncounterType> encounterTypes,
                                     java.lang.Boolean retired,
                                     java.util.Collection<FormField> containingAnyFormField,
                                     java.util.Collection<FormField> containingAllFormFields,
                                     java.util.Collection<Field> fields)
                              throws DAOException
Description copied from interface: FormDAO
Gets all forms that match all the criteria. Expects the list objects to be non-null

Specified by:
getForms in interface FormDAO
Parameters:
partialName - String of partial name of form to search on
published - boolean - is the form published?
encounterTypes - Collection of EncounterTypes that the form must represent
retired - boolean - is the form retired?
containingAnyFormField - Collection of FormFields, any one of which must be contained in the form
containingAllFormFields - Collection of FormFields, all of which must be contained in the form
fields - Collection of Fields that the form must contain
Returns:
All forms that match the criteria
Throws:
DAOException
See Also:
FormDAO.getForms(java.lang.String, java.lang.Boolean, java.util.Collection, java.lang.Boolean, java.util.Collection, java.util.Collection, java.util.Collection)

getFieldByUuid

public Field getFieldByUuid(java.lang.String uuid)
Description copied from interface: FormDAO
Auto generated method comment

Specified by:
getFieldByUuid in interface FormDAO
Returns:
See Also:
FormDAO.getFieldByUuid(java.lang.String)

getFieldAnswerByUuid

public FieldAnswer getFieldAnswerByUuid(java.lang.String uuid)
Specified by:
getFieldAnswerByUuid in interface FormDAO

getFieldTypeByUuid

public FieldType getFieldTypeByUuid(java.lang.String uuid)
Description copied from interface: FormDAO
Auto generated method comment

Specified by:
getFieldTypeByUuid in interface FormDAO
Returns:
See Also:
FormDAO.getFieldTypeByUuid(java.lang.String)

getFormByUuid

public Form getFormByUuid(java.lang.String uuid)
Description copied from interface: FormDAO
Auto generated method comment

Specified by:
getFormByUuid in interface FormDAO
Returns:
See Also:
FormDAO.getFormByUuid(java.lang.String)

getFormFieldByUuid

public FormField getFormFieldByUuid(java.lang.String uuid)
Description copied from interface: FormDAO
Auto generated method comment

Specified by:
getFormFieldByUuid in interface FormDAO
Returns:
See Also:
FormDAO.getFormFieldByUuid(java.lang.String)

getFormsByName

public java.util.List<Form> getFormsByName(java.lang.String name)
                                    throws DAOException
Description copied from interface: FormDAO
Gets all forms with the given name, sorted (alphabetically) by descending version

Specified by:
getFormsByName in interface FormDAO
Parameters:
name - String name of the forms to get
Returns:
All forms with the given name, sorted by (alphabetically) by descending version
Throws:
DAOException
See Also:
FormDAO.getFormsByName(java.lang.String)

deleteFieldType

public void deleteFieldType(FieldType fieldType)
                     throws DAOException
Description copied from interface: FormDAO
Delete the given field type from the database

Specified by:
deleteFieldType in interface FormDAO
Parameters:
fieldType - FieldType to delete
Throws:
DAOException
See Also:
FormDAO.deleteFieldType(org.openmrs.FieldType)

saveFieldType

public FieldType saveFieldType(FieldType fieldType)
                        throws DAOException
Description copied from interface: FormDAO
Save the given field type to the database

Specified by:
saveFieldType in interface FormDAO
Parameters:
fieldType - FieldType to save to the database
Returns:
the newly saved field type
Throws:
DAOException
See Also:
FormDAO.saveFieldType(org.openmrs.FieldType)

getFormFieldsByField

public java.util.List<FormField> getFormFieldsByField(Field field)
Description copied from interface: FormDAO
Return a list of FormFields given a Field

Specified by:
getFormFieldsByField in interface FormDAO
Returns:
List of FormFields
See Also:
org.openmrs.api.db.FormDAO#getFormFieldByField(org.openmrs.Field)

OpenMRS-1.7.x

Generated Apr 27 2012 10:06 PM. NOTE - these libraries are in active development and subject to change