org.topbraid.forms.model
Class FormsUtil

java.lang.Object
  extended by org.topbraid.forms.model.FormsUtil

public class FormsUtil
extends java.lang.Object


Constructor Summary
FormsUtil()
           
 
Method Summary
static void addChild(com.hp.hpl.jena.rdf.model.Resource parent, com.hp.hpl.jena.rdf.model.Resource control)
           
static com.hp.hpl.jena.rdf.model.Resource createClone(com.hp.hpl.jena.rdf.model.Resource control)
          Creates a clone of a complete panel tree, but with new IDs for the anonymous nodes.
static int getChildIndex(com.hp.hpl.jena.rdf.model.Resource control)
           
static java.util.List<com.hp.hpl.jena.rdf.model.Resource> getChildren(com.hp.hpl.jena.rdf.model.Resource composite)
           
static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls)
           
static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls, com.hp.hpl.jena.rdf.model.Model formsModel)
           
static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls, com.hp.hpl.jena.rdf.model.Model formsModel, java.util.Set reached)
          Finds the most direct superclass that has a direct form associated with it.
static java.lang.String getDeclaredLabel(com.hp.hpl.jena.rdf.model.Resource control)
           
static com.hp.hpl.jena.rdf.model.Resource getDefaultForm(com.hp.hpl.jena.rdf.model.Model formsModel)
           
static com.hp.hpl.jena.rdf.model.Resource getDirectForm(com.hp.hpl.jena.rdf.model.Resource cls)
           
static com.hp.hpl.jena.rdf.model.Resource getDirectForm(com.hp.hpl.jena.rdf.model.Resource cls, com.hp.hpl.jena.rdf.model.Model formsModel)
          Gets the "direct" form for a given class, or null if non exists.
static com.hp.hpl.jena.rdf.model.Resource getFormOfClass(com.hp.hpl.jena.rdf.model.Resource cls)
           
static com.hp.hpl.jena.rdf.model.Resource getFormOfClass(com.hp.hpl.jena.rdf.model.Resource cls, com.hp.hpl.jena.rdf.model.Model formsModel)
          Gets the form that shall be used for a given class.
static com.hp.hpl.jena.rdf.model.Resource getFormOfInstance(com.hp.hpl.jena.rdf.model.Resource resource)
           
static com.hp.hpl.jena.rdf.model.Resource getFormOfInstance(com.hp.hpl.jena.rdf.model.Resource resource, com.hp.hpl.jena.rdf.model.Model formsModel)
           
static com.hp.hpl.jena.ontology.OntModel getFormsModel(com.hp.hpl.jena.rdf.model.Resource resource)
           
static java.lang.String getLabel(com.hp.hpl.jena.rdf.model.Resource control)
           
static java.lang.String getLabel(com.hp.hpl.jena.rdf.model.Resource control, com.hp.hpl.jena.ontology.OntModel ontModel)
           
static java.util.List<com.hp.hpl.jena.rdf.model.Resource> getMatchingWidgetTypes(com.hp.hpl.jena.rdf.model.Resource propertyWidget)
           
static int getMinCardinality(com.hp.hpl.jena.rdf.model.Resource widget)
           
static int getNumColumns(com.hp.hpl.jena.rdf.model.Resource composite)
           
static com.hp.hpl.jena.rdf.model.Resource getParent(com.hp.hpl.jena.rdf.model.Resource control)
           
static com.hp.hpl.jena.rdf.model.Property getPredicate(com.hp.hpl.jena.rdf.model.Resource widget, com.hp.hpl.jena.ontology.OntModel ontModel)
           
static java.util.Set<com.hp.hpl.jena.rdf.model.Property> getPredicates(com.hp.hpl.jena.rdf.model.Resource form)
           
static java.util.Map getPredicatesMap(com.hp.hpl.jena.rdf.model.Resource form, java.util.Collection predicates)
          Gets a Map that assigns the primary layout panel to each Property of a given input collection.
static java.util.Map getPredicatesMap(com.hp.hpl.jena.rdf.model.Resource form, java.util.Iterator it)
           
static com.hp.hpl.jena.rdf.model.Resource getPredicateType(com.hp.hpl.jena.rdf.model.Resource widgetGroup)
           
static java.util.List<com.hp.hpl.jena.rdf.model.Property> getRelevantPredicates(com.hp.hpl.jena.rdf.model.Resource resource, boolean useDomain)
           
static java.util.List getSections(com.hp.hpl.jena.rdf.model.Resource composite)
           
static boolean getUseDomain(com.hp.hpl.jena.rdf.model.Resource form)
           
static boolean getUseLabels(com.hp.hpl.jena.rdf.model.Resource form)
           
static boolean getUseLabelsRecursive(com.hp.hpl.jena.rdf.model.Resource form)
           
static com.hp.hpl.jena.rdf.model.Resource getWidget(com.hp.hpl.jena.rdf.model.Resource composite, com.hp.hpl.jena.rdf.model.Property predicate)
           
static com.hp.hpl.jena.rdf.model.Resource getWidgetType(com.hp.hpl.jena.rdf.model.Resource propertyWidget)
           
static boolean hasOnlyCompositeChildren(com.hp.hpl.jena.rdf.model.Resource composite)
           
static boolean hasParent(com.hp.hpl.jena.rdf.model.Resource control, com.hp.hpl.jena.rdf.model.Resource parent)
           
static boolean hasType(com.hp.hpl.jena.rdf.model.Resource resource, com.hp.hpl.jena.rdf.model.Resource type)
           
static boolean hasWidgetGroupOrHiddenWidget(com.hp.hpl.jena.rdf.model.Resource form)
           
static com.hp.hpl.jena.rdf.model.Resource inSourceModel(com.hp.hpl.jena.rdf.model.Resource control)
          Gets a pointer to a form control inside its physical graph.
static boolean isAutoExpand(com.hp.hpl.jena.rdf.model.Resource propertyWidget)
           
static boolean isCollapsed(com.hp.hpl.jena.rdf.model.Resource section)
           
static boolean isColumnLayoutSwitchable(com.hp.hpl.jena.rdf.model.Resource form)
           
static boolean isComposite(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isExpandingProperty(com.hp.hpl.jena.rdf.model.Resource section, com.hp.hpl.jena.rdf.model.Resource subject, com.hp.hpl.jena.rdf.model.Property predicate)
           
static boolean isForm(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isHiddenIfNoValue(com.hp.hpl.jena.rdf.model.Resource widget)
           
static boolean isLabel(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isPanel(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isPropertyWidget(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isPropertyWidgetGroup(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isSection(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isSeparator(com.hp.hpl.jena.rdf.model.Resource control)
           
static boolean isSuitableComposite(com.hp.hpl.jena.rdf.model.Resource composite, com.hp.hpl.jena.rdf.model.Property predicate)
           
static boolean isTwoColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)
           
static void moveChild(com.hp.hpl.jena.rdf.model.Resource control, int index)
           
static void removeChild(com.hp.hpl.jena.rdf.model.Resource parent, com.hp.hpl.jena.rdf.model.Resource child)
           
static void setAutoExpand(com.hp.hpl.jena.rdf.model.Resource widget, boolean value)
           
static void setChildIndex(com.hp.hpl.jena.rdf.model.Resource control, int index)
           
static void setCollapsed(com.hp.hpl.jena.rdf.model.Resource widget, boolean value)
           
static void setHiddenIfNoValue(com.hp.hpl.jena.rdf.model.Resource widget, boolean value)
           
static void setNumColumns(com.hp.hpl.jena.rdf.model.Resource composite, int value)
           
static void setOneColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)
           
static void setTwoColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)
           
static void setUseDomain(com.hp.hpl.jena.rdf.model.Resource form, boolean value)
           
static void setUseLabels(com.hp.hpl.jena.rdf.model.Resource form, boolean value)
           
static void setWidgetType(com.hp.hpl.jena.rdf.model.Resource propertyWidget, com.hp.hpl.jena.rdf.model.Resource widgetType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormsUtil

public FormsUtil()
Method Detail

addChild

public static void addChild(com.hp.hpl.jena.rdf.model.Resource parent,
                            com.hp.hpl.jena.rdf.model.Resource control)

createClone

public static com.hp.hpl.jena.rdf.model.Resource createClone(com.hp.hpl.jena.rdf.model.Resource control)
Creates a clone of a complete panel tree, but with new IDs for the anonymous nodes.

Parameters:
control - the base panel Resource
Returns:
a clone of the panel

getChildIndex

public static int getChildIndex(com.hp.hpl.jena.rdf.model.Resource control)

getChildren

public static java.util.List<com.hp.hpl.jena.rdf.model.Resource> getChildren(com.hp.hpl.jena.rdf.model.Resource composite)

getClassOrSuperClassWithDirectForm

public static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls)

getClassOrSuperClassWithDirectForm

public static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls,
                                                                                    com.hp.hpl.jena.rdf.model.Model formsModel)

getClassOrSuperClassWithDirectForm

public static com.hp.hpl.jena.rdf.model.Resource getClassOrSuperClassWithDirectForm(com.hp.hpl.jena.rdf.model.Resource cls,
                                                                                    com.hp.hpl.jena.rdf.model.Model formsModel,
                                                                                    java.util.Set reached)
Finds the most direct superclass that has a direct form associated with it. This will walk up the superclass hierarchy depth-first (later implementations may decide to do breadth-first).

Parameters:
cls - the class to start traversal with
formsModel - the Model containing the forms
reached - a Set of reached classes
Returns:
a class with direct form or null

getDeclaredLabel

public static java.lang.String getDeclaredLabel(com.hp.hpl.jena.rdf.model.Resource control)

getDefaultForm

public static com.hp.hpl.jena.rdf.model.Resource getDefaultForm(com.hp.hpl.jena.rdf.model.Model formsModel)

getDirectForm

public static com.hp.hpl.jena.rdf.model.Resource getDirectForm(com.hp.hpl.jena.rdf.model.Resource cls)

getDirectForm

public static com.hp.hpl.jena.rdf.model.Resource getDirectForm(com.hp.hpl.jena.rdf.model.Resource cls,
                                                               com.hp.hpl.jena.rdf.model.Model formsModel)
Gets the "direct" form for a given class, or null if non exists. The direct form must have the cls as its forms:subjectType.

Parameters:
cls - the type to search the direct form for
formsModel - the Model containing the available forms resources
Returns:
the direct form resource

getFormOfClass

public static com.hp.hpl.jena.rdf.model.Resource getFormOfClass(com.hp.hpl.jena.rdf.model.Resource cls)

getFormOfClass

public static com.hp.hpl.jena.rdf.model.Resource getFormOfClass(com.hp.hpl.jena.rdf.model.Resource cls,
                                                                com.hp.hpl.jena.rdf.model.Model formsModel)
Gets the form that shall be used for a given class.

Parameters:
cls - the class to look at
formsModel - the current forms Model
Returns:
a form (might be the default if no other was found)

getFormOfInstance

public static com.hp.hpl.jena.rdf.model.Resource getFormOfInstance(com.hp.hpl.jena.rdf.model.Resource resource)

getFormOfInstance

public static com.hp.hpl.jena.rdf.model.Resource getFormOfInstance(com.hp.hpl.jena.rdf.model.Resource resource,
                                                                   com.hp.hpl.jena.rdf.model.Model formsModel)

getFormsModel

public static com.hp.hpl.jena.ontology.OntModel getFormsModel(com.hp.hpl.jena.rdf.model.Resource resource)

getLabel

public static java.lang.String getLabel(com.hp.hpl.jena.rdf.model.Resource control)

getLabel

public static java.lang.String getLabel(com.hp.hpl.jena.rdf.model.Resource control,
                                        com.hp.hpl.jena.ontology.OntModel ontModel)

getMatchingWidgetTypes

public static java.util.List<com.hp.hpl.jena.rdf.model.Resource> getMatchingWidgetTypes(com.hp.hpl.jena.rdf.model.Resource propertyWidget)

getMinCardinality

public static int getMinCardinality(com.hp.hpl.jena.rdf.model.Resource widget)

getNumColumns

public static int getNumColumns(com.hp.hpl.jena.rdf.model.Resource composite)

getParent

public static com.hp.hpl.jena.rdf.model.Resource getParent(com.hp.hpl.jena.rdf.model.Resource control)

getPredicate

public static com.hp.hpl.jena.rdf.model.Property getPredicate(com.hp.hpl.jena.rdf.model.Resource widget,
                                                              com.hp.hpl.jena.ontology.OntModel ontModel)

getPredicates

public static java.util.Set<com.hp.hpl.jena.rdf.model.Property> getPredicates(com.hp.hpl.jena.rdf.model.Resource form)

getPredicateType

public static com.hp.hpl.jena.rdf.model.Resource getPredicateType(com.hp.hpl.jena.rdf.model.Resource widgetGroup)

getPredicatesMap

public static java.util.Map getPredicatesMap(com.hp.hpl.jena.rdf.model.Resource form,
                                             java.util.Collection predicates)
Gets a Map that assigns the primary layout panel to each Property of a given input collection. This algorithm will try to find the most specific filter for each property.

Parameters:
form - the root of the panel hierarchy to walk through
predicates - the list of Properties to map
Returns:
a Map from Property -> Panel Resource

getPredicatesMap

public static java.util.Map getPredicatesMap(com.hp.hpl.jena.rdf.model.Resource form,
                                             java.util.Iterator it)

getRelevantPredicates

public static java.util.List<com.hp.hpl.jena.rdf.model.Property> getRelevantPredicates(com.hp.hpl.jena.rdf.model.Resource resource,
                                                                                       boolean useDomain)
Parameters:
resource -
useDomain -
Returns:

getSections

public static java.util.List getSections(com.hp.hpl.jena.rdf.model.Resource composite)

getUseDomain

public static boolean getUseDomain(com.hp.hpl.jena.rdf.model.Resource form)

getUseLabels

public static boolean getUseLabels(com.hp.hpl.jena.rdf.model.Resource form)

getUseLabelsRecursive

public static boolean getUseLabelsRecursive(com.hp.hpl.jena.rdf.model.Resource form)

getWidget

public static com.hp.hpl.jena.rdf.model.Resource getWidget(com.hp.hpl.jena.rdf.model.Resource composite,
                                                           com.hp.hpl.jena.rdf.model.Property predicate)

getWidgetType

public static com.hp.hpl.jena.rdf.model.Resource getWidgetType(com.hp.hpl.jena.rdf.model.Resource propertyWidget)

hasOnlyCompositeChildren

public static boolean hasOnlyCompositeChildren(com.hp.hpl.jena.rdf.model.Resource composite)

hasParent

public static boolean hasParent(com.hp.hpl.jena.rdf.model.Resource control,
                                com.hp.hpl.jena.rdf.model.Resource parent)

hasType

public static boolean hasType(com.hp.hpl.jena.rdf.model.Resource resource,
                              com.hp.hpl.jena.rdf.model.Resource type)

hasWidgetGroupOrHiddenWidget

public static boolean hasWidgetGroupOrHiddenWidget(com.hp.hpl.jena.rdf.model.Resource form)

inSourceModel

public static com.hp.hpl.jena.rdf.model.Resource inSourceModel(com.hp.hpl.jena.rdf.model.Resource control)
Gets a pointer to a form control inside its physical graph. This is typically needed if a method tries to manipulate the properties of a form element, but the form element is defined in an imported model of the config OntModel.

Parameters:
control - the control to get
Returns:
control in its source Model

isAutoExpand

public static boolean isAutoExpand(com.hp.hpl.jena.rdf.model.Resource propertyWidget)

isComposite

public static boolean isComposite(com.hp.hpl.jena.rdf.model.Resource control)

isCollapsed

public static boolean isCollapsed(com.hp.hpl.jena.rdf.model.Resource section)

isColumnLayoutSwitchable

public static boolean isColumnLayoutSwitchable(com.hp.hpl.jena.rdf.model.Resource form)

isExpandingProperty

public static boolean isExpandingProperty(com.hp.hpl.jena.rdf.model.Resource section,
                                          com.hp.hpl.jena.rdf.model.Resource subject,
                                          com.hp.hpl.jena.rdf.model.Property predicate)

isForm

public static boolean isForm(com.hp.hpl.jena.rdf.model.Resource control)

isLabel

public static boolean isLabel(com.hp.hpl.jena.rdf.model.Resource control)

isHiddenIfNoValue

public static boolean isHiddenIfNoValue(com.hp.hpl.jena.rdf.model.Resource widget)

isPanel

public static boolean isPanel(com.hp.hpl.jena.rdf.model.Resource control)

isPropertyWidget

public static boolean isPropertyWidget(com.hp.hpl.jena.rdf.model.Resource control)

isPropertyWidgetGroup

public static boolean isPropertyWidgetGroup(com.hp.hpl.jena.rdf.model.Resource control)

isSection

public static boolean isSection(com.hp.hpl.jena.rdf.model.Resource control)

isSeparator

public static boolean isSeparator(com.hp.hpl.jena.rdf.model.Resource control)

isSuitableComposite

public static boolean isSuitableComposite(com.hp.hpl.jena.rdf.model.Resource composite,
                                          com.hp.hpl.jena.rdf.model.Property predicate)

isTwoColumnLayout

public static boolean isTwoColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)

moveChild

public static void moveChild(com.hp.hpl.jena.rdf.model.Resource control,
                             int index)

removeChild

public static void removeChild(com.hp.hpl.jena.rdf.model.Resource parent,
                               com.hp.hpl.jena.rdf.model.Resource child)

setAutoExpand

public static void setAutoExpand(com.hp.hpl.jena.rdf.model.Resource widget,
                                 boolean value)

setUseDomain

public static void setUseDomain(com.hp.hpl.jena.rdf.model.Resource form,
                                boolean value)

setUseLabels

public static void setUseLabels(com.hp.hpl.jena.rdf.model.Resource form,
                                boolean value)

setChildIndex

public static void setChildIndex(com.hp.hpl.jena.rdf.model.Resource control,
                                 int index)

setCollapsed

public static void setCollapsed(com.hp.hpl.jena.rdf.model.Resource widget,
                                boolean value)

setHiddenIfNoValue

public static void setHiddenIfNoValue(com.hp.hpl.jena.rdf.model.Resource widget,
                                      boolean value)

setNumColumns

public static void setNumColumns(com.hp.hpl.jena.rdf.model.Resource composite,
                                 int value)

setOneColumnLayout

public static void setOneColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)

setTwoColumnLayout

public static void setTwoColumnLayout(com.hp.hpl.jena.rdf.model.Resource form)

setWidgetType

public static void setWidgetType(com.hp.hpl.jena.rdf.model.Resource propertyWidget,
                                 com.hp.hpl.jena.rdf.model.Resource widgetType)