|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.evolveum.midpoint.prism.Definition
com.evolveum.midpoint.prism.ItemDefinition
com.evolveum.midpoint.prism.PrismContainerDefinition<V>
public class PrismContainerDefinition<V extends Containerable>
Definition of a property container.
Property container groups properties into logical blocks. The reason for grouping may be as simple as better understandability of data structure. But the group usually means different meaning, source or structure of the data. For example, the property container is frequently used to hold properties that are dynamic, not fixed by a static schema. Such grouping also naturally translates to XML and helps to "quarantine" such properties to avoid Unique Particle Attribute problems. Property Container contains a set of (potentially multi-valued) properties. The order of properties is not significant, regardless of the fact that it may be fixed in the XML representation. In the XML representation, each element inside Property Container must be either Property or a Property Container. This class represents schema definition for property container. SeeDefinition
for more details.
Field Summary | |
---|---|
protected java.lang.Class<V> |
compileTimeClass
|
protected ComplexTypeDefinition |
complexTypeDefinition
|
protected boolean |
isRuntimeSchema
This means that the property container is not defined by fixed (compile-time) schema. |
Fields inherited from class com.evolveum.midpoint.prism.ItemDefinition |
---|
name |
Fields inherited from class com.evolveum.midpoint.prism.Definition |
---|
defaultName, displayName, displayOrder, help, ignored, prismContext, typeName |
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable |
---|
INDENT_STRING |
Constructor Summary | |
---|---|
PrismContainerDefinition(javax.xml.namespace.QName name,
ComplexTypeDefinition complexTypeDefinition,
PrismContext prismContext)
The constructors should be used only occasionally (if used at all). |
|
PrismContainerDefinition(javax.xml.namespace.QName name,
ComplexTypeDefinition complexTypeDefinition,
PrismContext prismContext,
java.lang.Class<V> compileTimeClass)
|
Method Summary | ||
---|---|---|
PrismContainerDefinition<V> |
clone()
Shallow clone |
|
PrismContainerDefinition<V> |
cloneWithReplacedDefinition(javax.xml.namespace.QName itemName,
ItemDefinition newDefinition)
|
|
protected void |
copyDefinitionData(PrismContainerDefinition<V> clone)
|
|
PrismContainerDefinition<V> |
createContainerDefinition(javax.xml.namespace.QName name,
ComplexTypeDefinition complexTypeDefinition,
int minOccurs,
int maxOccurs)
|
|
PrismContainerDefinition |
createContainerDefinition(javax.xml.namespace.QName name,
javax.xml.namespace.QName typeName)
|
|
PrismContainerDefinition |
createContainerDefinition(javax.xml.namespace.QName name,
javax.xml.namespace.QName typeName,
int minOccurs,
int maxOccurs)
|
|
ItemDelta |
createEmptyDelta(ItemPath path)
|
|
PrismPropertyDefinition |
createPropertyDefinition(javax.xml.namespace.QName name)
|
|
PrismPropertyDefinition |
createPropertyDefinition(javax.xml.namespace.QName name,
javax.xml.namespace.QName typeName)
Creates new instance of property definition and adds it to the container. |
|
PrismPropertyDefinition |
createPropertyDefinition(javax.xml.namespace.QName name,
javax.xml.namespace.QName typeName,
int minOccurs,
int maxOccurs)
Creates new instance of property definition and adds it to the container. |
|
PrismPropertyDefinition |
createPropertyDefinition(java.lang.String localName,
javax.xml.namespace.QName typeName)
Creates new instance of property definition and adds it to the container. |
|
PrismPropertyDefinition |
createPropertyDefinition(java.lang.String localName,
java.lang.String localTypeName)
Creates new instance of property definition and adds it to the container. |
|
PrismPropertyDefinition |
createPropertyDefinition(java.lang.String localName,
java.lang.String localTypeName,
int minOccurs,
int maxOccurs)
Creates new instance of property definition and adds it to the container. |
|
java.lang.String |
debugDump(int indent)
|
|
protected void |
extendToString(java.lang.StringBuilder sb)
|
|
PrismContainerDefinition |
findContainerDefinition(ItemPath path)
Finds an inner PropertyContainerDefinition by following the property container path. |
|
|
findContainerDefinition(javax.xml.namespace.QName name)
Finds an inner PropertyContainerDefinition by looking at the property container name. |
|
|
findContainerDefinition(java.lang.String name)
|
|
ItemDefinition |
findItemDefinition(ItemPath path)
|
|
|
findItemDefinition(ItemPath path,
java.lang.Class<T> clazz)
|
|
ItemDefinition |
findItemDefinition(javax.xml.namespace.QName name)
|
|
|
findItemDefinition(javax.xml.namespace.QName name,
java.lang.Class<D> clazz)
|
|
PrismPropertyDefinition |
findPropertyDefinition(ItemPath path)
|
|
PrismPropertyDefinition |
findPropertyDefinition(javax.xml.namespace.QName name)
Finds a PropertyDefinition by looking at the property name. |
|
PrismReferenceDefinition |
findReferenceDefinition(javax.xml.namespace.QName name)
|
|
java.lang.Class<V> |
getCompileTimeClass()
|
|
ComplexTypeDefinition |
getComplexTypeDefinition()
|
|
protected java.lang.String |
getDebugDumpClassName()
Return a human readable name of this class suitable for logs. |
|
java.util.Collection<ItemDefinition> |
getDefinitions()
Returns set of property definitions. |
|
java.util.Set<PrismPropertyDefinition> |
getPropertyDefinitions()
Returns set of property definitions. |
|
protected java.lang.String |
getSchemaNamespace()
|
|
PrismContainer<V> |
instantiate()
Create property container instance with a default name. |
|
PrismContainer<V> |
instantiate(javax.xml.namespace.QName name)
Create property container instance with a specified name and element. |
|
boolean |
isEmpty()
|
|
boolean |
isRuntimeSchema()
|
|
void |
setCompileTimeClass(java.lang.Class<V> compileTimeClass)
|
|
void |
setComplexTypeDefinition(ComplexTypeDefinition complexTypeDefinition)
|
|
void |
setRuntimeSchema(boolean isRuntimeSchema)
|
Methods inherited from class com.evolveum.midpoint.prism.ItemDefinition |
---|
copyDefinitionData, equals, getDefaultName, getMaxOccurs, getMinOccurs, getName, getNameOrDefaultName, getNamespace, hashCode, isDynamic, isMandatory, isMultiValue, isOptional, isSingleValue, isValidFor, setDynamic, setMaxOccurs, setMinOccurs, setName, toString |
Methods inherited from class com.evolveum.midpoint.prism.Definition |
---|
copyDefinitionData, debugDump, dump, getDisplayName, getDisplayOrder, getHelp, getPrismContext, getSchemaRegistry, getTypeClass, getTypeName, isIgnored, setDisplayName, setDisplayOrder, setHelp, setIgnored, setTypeName |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected ComplexTypeDefinition complexTypeDefinition
protected java.lang.Class<V extends Containerable> compileTimeClass
protected boolean isRuntimeSchema
Constructor Detail |
---|
public PrismContainerDefinition(javax.xml.namespace.QName name, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext)
public PrismContainerDefinition(javax.xml.namespace.QName name, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, java.lang.Class<V> compileTimeClass)
Method Detail |
---|
public java.lang.Class<V> getCompileTimeClass()
public void setCompileTimeClass(java.lang.Class<V> compileTimeClass)
protected java.lang.String getSchemaNamespace()
public ComplexTypeDefinition getComplexTypeDefinition()
public void setComplexTypeDefinition(ComplexTypeDefinition complexTypeDefinition)
public <D extends ItemDefinition> D findItemDefinition(javax.xml.namespace.QName name, java.lang.Class<D> clazz)
public <T extends ItemDefinition> T findItemDefinition(ItemPath path, java.lang.Class<T> clazz)
public ItemDefinition findItemDefinition(javax.xml.namespace.QName name)
public ItemDefinition findItemDefinition(ItemPath path)
public PrismPropertyDefinition findPropertyDefinition(javax.xml.namespace.QName name)
name
- property definition name
public PrismPropertyDefinition findPropertyDefinition(ItemPath path)
public PrismReferenceDefinition findReferenceDefinition(javax.xml.namespace.QName name)
public <X extends Containerable> PrismContainerDefinition<X> findContainerDefinition(javax.xml.namespace.QName name)
name
- property container definition name
public <X extends Containerable> PrismContainerDefinition<X> findContainerDefinition(java.lang.String name)
public PrismContainerDefinition findContainerDefinition(ItemPath path)
path
- property container path
public java.util.Collection<ItemDefinition> getDefinitions()
public java.util.Set<PrismPropertyDefinition> getPropertyDefinitions()
public boolean isRuntimeSchema()
public void setRuntimeSchema(boolean isRuntimeSchema)
public PrismContainer<V> instantiate()
instantiate
in class ItemDefinition
public PrismContainer<V> instantiate(javax.xml.namespace.QName name)
instantiate
in class ItemDefinition
public ItemDelta createEmptyDelta(ItemPath path)
createEmptyDelta
in class ItemDefinition
public PrismContainerDefinition<V> clone()
clone
in class ItemDefinition
protected void copyDefinitionData(PrismContainerDefinition<V> clone)
public PrismContainerDefinition<V> cloneWithReplacedDefinition(javax.xml.namespace.QName itemName, ItemDefinition newDefinition)
public PrismPropertyDefinition createPropertyDefinition(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName)
name
- name of the property (element name)typeName
- XSD type of the property
public PrismPropertyDefinition createPropertyDefinition(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName, int minOccurs, int maxOccurs)
name
- name of the property (element name)typeName
- XSD type of the propertyminOccurs
- minimal number of occurrencesmaxOccurs
- maximal number of occurrences (-1 means unbounded)
public PrismPropertyDefinition createPropertyDefinition(javax.xml.namespace.QName name)
public PrismPropertyDefinition createPropertyDefinition(java.lang.String localName, javax.xml.namespace.QName typeName)
localName
- name of the property (element name) relative to the schema namespacetypeName
- XSD type of the property
public PrismPropertyDefinition createPropertyDefinition(java.lang.String localName, java.lang.String localTypeName)
localName
- name of the property (element name) relative to the schema namespacelocalTypeName
- XSD type of the property
public PrismPropertyDefinition createPropertyDefinition(java.lang.String localName, java.lang.String localTypeName, int minOccurs, int maxOccurs)
localName
- name of the property (element name) relative to the schema namespacelocalTypeName
- XSD type of the propertyminOccurs
- minimal number of occurrencesmaxOccurs
- maximal number of occurrences (-1 means unbounded)
public PrismContainerDefinition createContainerDefinition(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName)
public PrismContainerDefinition createContainerDefinition(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName, int minOccurs, int maxOccurs)
public PrismContainerDefinition<V> createContainerDefinition(javax.xml.namespace.QName name, ComplexTypeDefinition complexTypeDefinition, int minOccurs, int maxOccurs)
public java.lang.String debugDump(int indent)
debugDump
in interface DebugDumpable
debugDump
in class Definition
public boolean isEmpty()
protected java.lang.String getDebugDumpClassName()
getDebugDumpClassName
in class Definition
protected void extendToString(java.lang.StringBuilder sb)
extendToString
in class ItemDefinition
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |