Skip navigation links


com.bea.p13n.rules.model
Class NewInstanceModel

java.lang.Object
  extended by com.bea.p13n.model.Model
      extended by com.bea.p13n.model.XmlObjectModel
          extended by com.bea.p13n.rules.model.ClauseModel
              extended by com.bea.p13n.rules.model.MethodCallModel
                  extended by com.bea.p13n.rules.model.NewInstanceModel

All Implemented Interfaces
Serializable, Cloneable

public class NewInstanceModel
extends MethodCallModel

A rule clause representing the creation of an object via a java type's constructor. This can only be used as a rule action, in which the resulting object will be added to the rule's context's working memory. A new-instance requires a type-alias, which is the java class which contains the constructor which will be executed. The arguments of a new-instance can be:

See Also
Serialized Form

Nested Class Summary
static class NewInstanceModel.Recognizer
          An object which can recognize the structure for this model.

 

Nested classes/interfaces inherited from class com.bea.p13n.rules.model.MethodCallModel
MethodCallModel.PropertyRefArgument, MethodCallModel.UnknownArgument, MethodCallModel.VariableArgument

 

Nested classes/interfaces inherited from class com.bea.p13n.model.Model
Model.ChangeEvent, Model.ChangeListener, Model.ChangeSupport, Model.Debug

 

Field Summary
static String CLAUSE_TYPE
          The clause type for this.

 

Fields inherited from class com.bea.p13n.rules.model.MethodCallModel
LITERAL_NAMESPACE_URI

 

Fields inherited from class com.bea.p13n.rules.model.ClauseModel
clauseType

 

Fields inherited from class com.bea.p13n.model.XmlObjectModel
copyRootXmlObject, instanceUri, isComplete

 

Fields inherited from class com.bea.p13n.model.Model
childrenModels, docModel, parentModel, roChildrenModels

 

Constructor Summary
NewInstanceModel()
           

 

Method Summary
 void clearCachedData()
          Clear any cached data.
 org.apache.xmlbeans.XmlObject createNewXmlObject(String clauseType)
          Create a new, empty root object for the specified clauseType.
protected  boolean determineIsComplete()
          Override to include a check to make sure the type-alias is valid and the method signature type aliases are valid as well.
protected  com.bea.p13n.expression.schema.MethodArgumentList getMethodArgumentListFromXmlObject(boolean create)
          Get the MethodArgumentList from the underlying method call XmlObject
 String[] getMethodSignature()
          Get the fully-qualified java classes which are the signature of the constructor.
protected  String[] getMethodSignatureNoCache()
          Get the fully-qualified java classes which are the signature of the constructor, without any caching.
protected  com.bea.p13n.expression.schema.NewInstance getNewInstance()
           
 String getTypeAlias()
          Get the fully-qualified java class name which will be created.
protected  void removeMethodArgumentListFromXmlObject()
          Remove the MethodArgumentList from the underlying XmlObject.
 void setMethodSignature(String... types)
          Set the fully-qualified java classes which are the signature of the constructor.
 void setTypeAlias(String typeAlias)
          Set the fully-qualified java class name which will be created.
 void setXmlObject(String clauseType, org.apache.xmlbeans.XmlObject clause)
          Initialize this clause model with a type and a root object.

 

Methods inherited from class com.bea.p13n.rules.model.MethodCallModel
convertArgToXmlObject, convertXmlObjectArg, determineArgumentIsComplete, findPropertySetType, getMethodArguments, getMethodArgumentsNoCache, setMethodArguments, setParent, unsupportedObjectArg, unsupportedXmlObjectArg

 

Methods inherited from class com.bea.p13n.rules.model.ClauseModel
addBranch, addLiteral, addMethod, addMethodOrOperator, addOperator, addVariable, addVariableBinding, copy, getClauseType, getContainingRuleModel, getCopyXmlObject, initializeNew, isInActions, isInConditions, isValidTypeAlias, isValidVariableName, makeSafeCopy, toString

 

Methods inherited from class com.bea.p13n.model.XmlObjectModel
checkElement, childAdded, childRemoved, fixQName, getApplicationInstanceUri, getChild, getDocument, getLocalName, getParent, getQName, getRootXmlObject, isComplete, isNil, preRemove, propertyChanged, removeAllChildren, removeChild, setApplicationInstanceUri, setIsComplete, setIsComplete, setRootXmlObject

 

Methods inherited from class com.bea.p13n.model.Model
addChangeListener, addChild, addChild, clone, doubleEquals, equals, getChildren, getDebug, getDebug, getDocument, getParent, longEquals, removeChangeListener, removeChild, removeChild, removeEmpties, setDocument

 

Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Field Detail

CLAUSE_TYPE

public static final String CLAUSE_TYPE
The clause type for this.
See Also
Constants Summary

Constructor Detail

NewInstanceModel

public NewInstanceModel()

Method Detail

createNewXmlObject

public org.apache.xmlbeans.XmlObject createNewXmlObject(String clauseType)
                                                 throws IllegalArgumentException
Description copied from class: ClauseModel
Create a new, empty root object for the specified clauseType.

Subclasses need to implement this to create an appropriately typed and filled root XmlObject which represents the ClauseModel. The return value from this needs to be accepted from ClauseModel.setXmlObject(java.lang.String, org.apache.xmlbeans.XmlObject) for the specified clauseType.

Specified by:
createNewXmlObject in class ClauseModel
Parameters
clauseType - the clause type of the clause.
Returns
a new, empty initialize root object.
Throws
IllegalArgumentException - thrown on an unsupproted clauseType.

setXmlObject

public void setXmlObject(String clauseType,
                         org.apache.xmlbeans.XmlObject clause)
                  throws IllegalArgumentException
Description copied from class: ClauseModel
Initialize this clause model with a type and a root object.

This will fire ChangeEvents for clauseType and rootXmlObject.

Subclasses should override to call super.setXmlObject() and do any type checking and verification.

It is not expected that ClauseModels are valid after a call to this method which throws an exception, although the caller could recall this method with valid data.

Overrides:
setXmlObject in class ClauseModel
Parameters
clauseType - the clause type of the clause.
clause - the root xml object of the clause.
Throws
IllegalArgumentException - thrown if the clause is not valid for the ClauseModel or clauseType.

determineIsComplete

protected boolean determineIsComplete()
Override to include a check to make sure the type-alias is valid and the method signature type aliases are valid as well.
Overrides:
determineIsComplete in class MethodCallModel
See Also
ClauseModel.isValidTypeAlias(String)

clearCachedData

public void clearCachedData()
Description copied from class: MethodCallModel
Clear any cached data. Subclasses can override if they have additional cached data.
Overrides:
clearCachedData in class MethodCallModel

getNewInstance

protected com.bea.p13n.expression.schema.NewInstance getNewInstance()

getMethodArgumentListFromXmlObject

protected com.bea.p13n.expression.schema.MethodArgumentList getMethodArgumentListFromXmlObject(boolean create)
Description copied from class: MethodCallModel
Get the MethodArgumentList from the underlying method call XmlObject
Specified by:
getMethodArgumentListFromXmlObject in class MethodCallModel
Parameters
create - true to create if not currently set, false to return null if currently set.
Returns
the MethodArgumentList, or null if not set and create==false.

removeMethodArgumentListFromXmlObject

protected void removeMethodArgumentListFromXmlObject()
Description copied from class: MethodCallModel
Remove the MethodArgumentList from the underlying XmlObject.
Specified by:
removeMethodArgumentListFromXmlObject in class MethodCallModel

getTypeAlias

public String getTypeAlias()
Get the fully-qualified java class name which will be created.

setTypeAlias

public void setTypeAlias(String typeAlias)
Set the fully-qualified java class name which will be created.

getMethodSignature

public String[] getMethodSignature()
Get the fully-qualified java classes which are the signature of the constructor.

getMethodSignatureNoCache

protected String[] getMethodSignatureNoCache()
Get the fully-qualified java classes which are the signature of the constructor, without any caching.

setMethodSignature

public void setMethodSignature(String... types)
Set the fully-qualified java classes which are the signature of the constructor.

Skip navigation links


Copyright © 2010, Oracle. All rights reserved.