Interface SAIFieldFactory
public interface SAIFieldFactory
SAIFieldFactory produces the field wrappers.
SAIFieldFactory is used to construct the appropriate X3DField
instances as needed either for translation from the underlying
field and event implementation, and in response to X3DNode.getField
calls.
The same factory is used to produce both the synchronous and stored versions of each field.
- Version:
- 1.0
- Author:
- Brad Vender
-
Method Summary
Modifier and TypeMethodDescriptiongetField
(VRMLNodeType vrmlNode, int fieldID, String eventName) Produce an asynchronous field.getField
(VRMLNodeType vrmlNode, String eventName) Produce an asynchronous field.getStoredField
(VRMLNodeType vrmlNode, int fieldID, String eventName, boolean isInput) Produce an stored field.
-
Method Details
-
getField
X3DField getField(VRMLNodeType vrmlNode, int fieldID, String eventName) throws InvalidFieldException, InvalidNodeException Produce an asynchronous field. These fields respond with the current field value when queried, as opposed to the field value when created.- Parameters:
vrmlNode
- The originating nodefieldID
- The field IDeventName
- The field name (for error reporting)- Returns:
- Throws:
InvalidFieldException
InvalidNodeException
-
getField
X3DField getField(VRMLNodeType vrmlNode, String eventName) throws InvalidFieldException, InvalidNodeException Produce an asynchronous field. These fields respond with the current field value when queried, as opposed to the field value when created.- Parameters:
vrmlNode
- The originating nodeeventName
- The name of the field- Returns:
- Throws:
InvalidFieldException
InvalidNodeException
-
getStoredField
X3DField getStoredField(VRMLNodeType vrmlNode, int fieldID, String eventName, boolean isInput) throws InvalidFieldException, InvalidNodeException Produce an stored field. These fields respond with the value of the field at the time of creation, rather than the current field value. Note that this method is mainly for use by the event propogation system, since it uses the underlying fieldID's rather than the String fieldNames.- Parameters:
vrmlNode
- The originating nodefieldID
- The field IDeventName
- The field name (for error reporting)isInput
- Is this an input or output buffer- Returns:
- Throws:
InvalidFieldException
InvalidNodeException
-