Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2000, 2009, Oracle and/or its affiliates. All rights reserved.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.p13n.rules.model
Class NewInstanceModel

    java.lang.Object
      com.bea.p13n.model.Model
          com.bea.p13n.model.XmlObjectModel
              com.bea.p13n.rules.model.ClauseModel
                  com.bea.p13n.rules.model.MethodCallModel
                      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:

- literals: BigInteger, BigDecimal, Double, Float, Integer, Long, Boolean, Strings
- VariableArgument (not if an action with OR'ed conditions).
- PropertyRefArgument (not if an action with OR'ed conditions).
- UnknownArgument

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 ClauseModel's are valid after an 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.