|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object | +--org.mmbase.bridge.implementation.BasicNode
| Field Summary | |
protected java.lang.String |
account
The account this node is edited under. |
static int |
ACTION_COMMIT
|
static int |
ACTION_CREATE
|
static int |
ACTION_DELETE
|
static int |
ACTION_EDIT
|
protected BasicCloud |
cloud
Reference to the Cloud. |
protected boolean |
isnew
Determines whether this node was created for insert. |
protected MMBase |
mmb
Reference to MMBase root. |
protected NodeManager |
nodeManager
Reference to the NodeManager |
protected MMObjectNode |
noderef
Reference to actual MMObjectNode object. |
protected int |
temporaryNodeId
Temporary node ID. |
| Method Summary | |
protected void |
_setValue(java.lang.String attribute,
java.lang.Object value)
|
void |
cancel()
Cancel changes to a node This fails if the current node is not in edit mode. |
void |
commit()
Commit the node to the database. |
int |
compareTo(java.lang.Object o)
Compares this node to the passed object. |
int |
countRelatedNodes(java.lang.String type)
Returns the number of related nodes that have a specific node manager. |
int |
countRelations()
Returns the number of relations this node has with other nodes. |
int |
countRelations(java.lang.String type)
Returns the number of relation nodes attached to this node that have a specific relation manager. |
void |
createAlias(java.lang.String aliasName)
Create an alias for this node. |
Relation |
createRelation(Node destinationNode,
RelationManager relationManager)
Adds a relation between this node and a specified node to the cloud. |
void |
delete()
Removes the Node. |
void |
delete(boolean deleteRelations)
Removes the Node. |
void |
deleteAlias(java.lang.String aliasName)
Delete an alias for this node. |
void |
deleteRelations()
Removes all relation nodes attached to this node. |
void |
deleteRelations(java.lang.String type)
Removes all relation nodes with a certain relation manager that are attached to this node. |
protected void |
edit(int action)
Edit this node. |
boolean |
equals(java.lang.Object o)
Compares two nodes, and returns true if they are equal. |
protected void |
finalize()
Reverse the buffers, when changed and not stored... |
StringList |
getAliases()
Returns all aliases for this node. |
boolean |
getBooleanValue(java.lang.String attribute)
Returns the value of the specified field as a boolean. |
int |
getByteSize()
Determins the byte-size of this object |
int |
getByteSize(SizeOf sizeof)
Determins the byte-size of this object using the given SizeOf instance. |
byte[] |
getByteValue(java.lang.String attribute)
Returns the value of the specified field as a byte array. |
Cloud |
getCloud()
Returns the cloud this node belongs to. |
java.lang.String |
getContext()
get the Context of the current Node |
double |
getDoubleValue(java.lang.String attribute)
Returns the value of the specified field as a double. |
FieldValue |
getFieldValue(Field field)
Returns the value of the specified field as a FieldValue object. |
FieldValue |
getFieldValue(java.lang.String fieldName)
Returns the value of the specified field as a FieldValue object. |
float |
getFloatValue(java.lang.String attribute)
Returns the value of the specified field as a float. |
FieldValue |
getFunctionValue(java.lang.String functionName,
java.util.List arguments)
Returns the value of the specified function on the node. |
int |
getIntValue(java.lang.String attribute)
Returns the value of the specified field as an int. |
long |
getLongValue(java.lang.String attribute)
Returns the value of the specified field as a long. |
protected MMObjectNode |
getNode()
Obtains a reference to the underlying MMObjectNode. |
NodeManager |
getNodeManager()
Returns the node manager for this node. |
Node |
getNodeValue(java.lang.String attribute)
Returns the value of the specified field as a Node. |
int |
getNumber()
Returns the unique number for this node. |
StringList |
getPossibleContexts()
get the Contextes which can be set to this specific node |
NodeList |
getRelatedNodes()
Returns all related nodes. |
NodeList |
getRelatedNodes(NodeManager nodeManager)
Returns all related nodes that have a specific node manager. |
NodeList |
getRelatedNodes(NodeManager nodeManager,
java.lang.String role,
java.lang.String direction)
Returns all related nodes that have a specific node manager and role. |
NodeList |
getRelatedNodes(java.lang.String type)
Returns all related nodes that have a specific node manager. |
NodeList |
getRelatedNodes(java.lang.String type,
java.lang.String role,
java.lang.String direction)
Returns all related nodes that have a specific node manager and role. |
RelationList |
getRelations()
Returns all relation nodes attached to this node. |
RelationList |
getRelations(java.lang.String role)
Returns all relation nodes attached to this node that have a specific role |
RelationList |
getRelations(java.lang.String role,
NodeManager nodeManager)
Returns all relation nodes attached to this node that have a specific role, or refer a node from a specific nodemanager |
RelationList |
getRelations(java.lang.String role,
java.lang.String nodeManager)
Returns all relation nodes attached to this node that have a specific role, or refer a node from a specific nodemanager |
java.lang.String |
getStringValue(java.lang.String attribute)
Returns the value of the specified field as a String. |
java.lang.Object |
getValue(java.lang.String attribute)
Returns the value of the specified field as an object. |
org.w3c.dom.Document |
getXMLValue(java.lang.String fieldName)
Returns the value of the specified field as a dom.Document
If the node value is not itself a Document, the method attempts to
attempts to convert the String value into an XML. |
org.w3c.dom.Element |
getXMLValue(java.lang.String fieldName,
org.w3c.dom.Document tree)
Returns the value of the specified field as a dom.Element
If the node value is not itself a Document, the method attempts to
attempts to convert the String value into an XML. |
int |
hashCode()
|
boolean |
hasRelations()
Checks whether this node has any relations. |
protected void |
init()
Initializes the node. |
protected void |
invalidateNode()
Invalidates the reference to the underlying MMObjectNode, replacing it with a virtual node that only inherits the number field. |
boolean |
isNodeManager()
Determine whether this Node is a NodeManager. |
boolean |
isRelation()
Determine whether this Node is a Relation. |
boolean |
isRelationManager()
Determine whether this Node is a RelationManager. |
boolean |
mayChangeContext()
Check context-change rights on this node. |
boolean |
mayDelete()
Check delete rights on this node. |
boolean |
mayLink()
Check link rights on this node. |
boolean |
mayWrite()
Check write rights on this node. |
void |
setBooleanValue(java.lang.String attribute,
boolean value)
Sets the value of the specified field using an boolean. |
void |
setByteValue(java.lang.String attribute,
byte[] value)
Sets the value of the specified field using a byte array. |
void |
setContext(java.lang.String context)
set the Context of the current Node |
void |
setDoubleValue(java.lang.String attribute,
double value)
Sets the value of the specified field using a double. |
void |
setFloatValue(java.lang.String attribute,
float value)
Sets the value of the specified field using a float. |
void |
setIntValue(java.lang.String attribute,
int value)
Sets the value of the specified field using an int. |
void |
setLongValue(java.lang.String attribute,
long value)
Sets the value of the specified field using a long. |
protected void |
setNode(MMObjectNode n)
Sets the reference to the underlying MMObjectNode. |
void |
setNodeValue(java.lang.String attribute,
Node value)
Sets the value of the specified field using an Node. |
void |
setStringValue(java.lang.String attribute,
java.lang.String value)
Sets the value of the specified field using a String. |
void |
setValue(java.lang.String attribute,
java.lang.Object value)
Sets the value of the specified field using an object. |
void |
setXMLValue(java.lang.String fieldName,
org.w3c.dom.Document value)
Set's the value of the specified field as a dom.Element |
NodeManager |
toNodeManager()
Returns this as a NodeManager. |
Relation |
toRelation()
Returns this as a Relation. |
RelationManager |
toRelationManager()
Returns this as a RelationManager. |
java.lang.String |
toString()
Converts the node to a string |
| Methods inherited from class java.lang.Object |
clone, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int ACTION_CREATE
public static final int ACTION_EDIT
public static final int ACTION_DELETE
public static final int ACTION_COMMIT
protected NodeManager nodeManager
protected BasicCloud cloud
protected MMBase mmb
protected MMObjectNode noderef
protected int temporaryNodeId
protected java.lang.String account
protected boolean isnew
| Method Detail |
protected void init()
public boolean isRelation()
NodeisRelation in interface Nodeorg.mmbase.bridge.Nodetrue if this Node is a Relation.public Relation toRelation()
NodetoRelation in interface Nodeorg.mmbase.bridge.NodeRelation objectClasscastException - if the Node is not a Relationpublic boolean isNodeManager()
NodeisNodeManager in interface Nodeorg.mmbase.bridge.Nodetrue if this Node is a NodeManager.public NodeManager toNodeManager()
NodetoNodeManager in interface Nodeorg.mmbase.bridge.NodeNodeManager objectClasscastException - if the Node is not a NodeManagerpublic boolean isRelationManager()
NodeisRelationManager in interface Nodeorg.mmbase.bridge.Nodetrue if this Node is a RelationManager.public RelationManager toRelationManager()
NodetoRelationManager in interface Nodeorg.mmbase.bridge.NodeNodeManager objectClasscastException - if the Node is not a RelationManagerpublic int getByteSize()
SizeMeasurablegetByteSize in interface SizeMeasurablepublic int getByteSize(SizeOf sizeof)
SizeMeasurablegetByteSize in interface SizeMeasurable
protected MMObjectNode getNode()
throws NotFoundException
NotFoundException - if no node was specified. This generally means theprotected void invalidateNode()
protected void setNode(MMObjectNode n)
n - the node to set a reference to.java.lang.IllegalArgumentException - is n is nullpublic Cloud getCloud()
NodegetCloud in interface Nodepublic NodeManager getNodeManager()
NodegetNodeManager in interface Nodepublic int getNumber()
NodegetNumber in interface Nodeorg.mmbase.bridge.NodeNode.createAlias(String alias)protected void edit(int action)
action - The action to perform.
public void setValue(java.lang.String attribute,
java.lang.Object value)
Nodeint can be set using an
Integer.
This change will not be visible to the cloud until the commit method is
called.setValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
protected void _setValue(java.lang.String attribute,
java.lang.Object value)
public void setBooleanValue(java.lang.String attribute,
boolean value)
Nodeboolean.
This change will not be visible to the cloud until the commit method is
called.setBooleanValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setNodeValue(java.lang.String attribute,
Node value)
NodeNode.
This change will not be visible to the cloud until the commit method is
called.setNodeValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setIntValue(java.lang.String attribute,
int value)
Nodeint.
This change will not be visible to the cloud until the commit method is
called.setIntValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setFloatValue(java.lang.String attribute,
float value)
Nodefloat.
This change will not be visible to the cloud until the commit method is
called.setFloatValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setDoubleValue(java.lang.String attribute,
double value)
Nodedouble.
This change will not be visible to the cloud until the commit method is
called.setDoubleValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setByteValue(java.lang.String attribute,
byte[] value)
Nodebyte array.
This change will not be visible to the cloud until the commit method is
called.setByteValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setLongValue(java.lang.String attribute,
long value)
Nodelong.
This change will not be visible to the cloud until the commit method is
called.setLongValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given field
public void setStringValue(java.lang.String attribute,
java.lang.String value)
NodeString.
This change will not be visible to the cloud until the commit method is
called.setStringValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be updatedvalue - the new value for the given fieldpublic java.lang.Object getValue(java.lang.String attribute)
Nodeint is returned as an Integer.
The object type may vary and is dependent on how data was stored in a field.
I.e. It may be possible for an Integer field to return it's value as a String
if it was stored that way in the first place.getValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic boolean getBooleanValue(java.lang.String attribute)
Nodeboolean.
If the actual value is numeric, this call returns true
if the value is a positive, non-zero, value. In other words, values '0'
and '-1' are concidered false.
If the value is a string, this call returns true if
the value is "true" or "yes" (case-insensitive).
In all other cases (including calling byte fields), false
is returned.getBooleanValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic Node getNodeValue(java.lang.String attribute)
NodeNode.
If the value is not itself a Node, this call attempts to convert the
original field value to a Node, by trying to retrieve a Node using
the field value as a Node number or alias.null.
null lets the
Node return a reference to itself, regardless of the actual value of the
number field or status of the Node.getNodeValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedCloud.getList(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)public int getIntValue(java.lang.String attribute)
Nodeint.
Numeric fields are simply converted. Double and float values may be truncated.
For Node values, the numeric key is returned.
Long values return -1 of the value is too large.
Boolean fields return 0 if false, and 1 if true.
String fields are parsed.
If a parsed string contains an error, ot the field value is not of a type that can be converted
(i.e. a byte array), this function returns -1getIntValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic float getFloatValue(java.lang.String attribute)
Nodefloat.
This function attempts to convert the value to a float.
Numeric fields are simply converted.
Boolean fields return 0.0 if false, and 1.0 if true.
String fields are parsed.
If a parsed string contains an error, ot the field value is not of a type that can be converted
(i.e. a byte array), this function returns -1.0.getFloatValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic long getLongValue(java.lang.String attribute)
Nodelong.
This function attempts to convert the value to a long.
Numeric fields are simply converted. Double and float values may be truncated.
Boolean fields return 0 if false, and 1 if true.
String fields are parsed.
If a parsed string contains an error, ot the field value is not of a type that can be converted
(i.e. a byte array), this function returns -1getLongValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic double getDoubleValue(java.lang.String attribute)
Nodedouble.
This function attempts to convert the value to a double.
Numeric fields are simply converted. Double may be truncated.
Boolean fields return 0.0 if false, and 1.0 if true.
String fields are parsed.
If a parsed string contains an error, ot the field value is not of a type that can be converted
(i.e. a byte array), this function returns -1.0.getDoubleValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic byte[] getByteValue(java.lang.String attribute)
Nodebyte array.
This function returns either the value of a byte field, or the byte value of a string
(converted using the default encoding, i.e. UTF8)
Other types of values return an empty byte-array.getByteValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedpublic java.lang.String getStringValue(java.lang.String attribute)
NodeString.
Byte arrays are converted to string using the default encoding (UTF8).
Node values return a string representation of their numeric key.
For other values the result is calling the toString() method on the actual object.getStringValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returned
public FieldValue getFieldValue(java.lang.String fieldName)
throws NotFoundException
NodeFieldValue object.getFieldValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field whose value to returnNotFoundException - is the field does not existpublic FieldValue getFieldValue(Field field)
NodeFieldValue object.getFieldValue in interface Nodeorg.mmbase.bridge.Nodefield - the Field object whose value to return
public FieldValue getFunctionValue(java.lang.String functionName,
java.util.List arguments)
NodegetFunctionValue in interface Nodeorg.mmbase.bridge.NodefunctionName - the name of the function to be executedarguments - parameters to the functionpublic org.w3c.dom.Document getXMLValue(java.lang.String fieldName)
Nodedom.Document
If the node value is not itself a Document, the method attempts to
attempts to convert the String value into an XML.
If the value cannot be converted, this method returns nullgetXMLValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnednulljava.lang.IllegalArgumentException - if the Field is not of type TYPE_XML.
public org.w3c.dom.Element getXMLValue(java.lang.String fieldName,
org.w3c.dom.Document tree)
Nodedom.Element
If the node value is not itself a Document, the method attempts to
attempts to convert the String value into an XML.
This method fails (throws a IllegalArgumentException) if the Field is not of type TYPE_XML.
If the value cannot be converted, this method returns nullgetXMLValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedtree - the DOM Document to which the Element is added
(as the document root element)nulljava.lang.IllegalArgumentException - if the Field is not of type TYPE_XML.
public void setXMLValue(java.lang.String fieldName,
org.w3c.dom.Document value)
Nodedom.ElementsetXMLValue in interface Nodeorg.mmbase.bridge.NodefieldName - the name of the field to be returnedvalue - the DOM Document to has to be set, if not correct doc-type,
system will try to convert it to the wanted type.public void commit()
Nodecommit in interface Nodepublic void cancel()
Nodecancel in interface Nodepublic void delete()
Nodedelete in interface Nodepublic void delete(boolean deleteRelations)
Nodedelete in interface Nodeorg.mmbase.bridge.NodedeleteRelations - a boolean. If true, then first all
existing relations with this node will be removed.public java.lang.String toString()
NodetoString in interface NodetoString in class java.lang.Objectpublic void deleteRelations()
NodedeleteRelations in interface Node
public void deleteRelations(java.lang.String type)
throws NotFoundException
NodedeleteRelations in interface Nodeorg.mmbase.bridge.NoderelationManager - the name of the relation manager the removed
relation nodes should havepublic RelationList getRelations()
NodegetRelations in interface Nodeorg.mmbase.bridge.Nodepublic RelationList getRelations(java.lang.String role)
NodegetRelations in interface Nodeorg.mmbase.bridge.Noderole - the name of the role the returned
relation nodes should have
public RelationList getRelations(java.lang.String role,
java.lang.String nodeManager)
throws NotFoundException
NodegetRelations in interface Nodeorg.mmbase.bridge.Noderole - the name of the role the returned
relation nodes should havenodeManager - the name of the nodemanager for the nodes the returned
relation nodes should have a relation to
public RelationList getRelations(java.lang.String role,
NodeManager nodeManager)
NodegetRelations in interface Nodeorg.mmbase.bridge.Noderole - the name of the role the returned
relation nodes should havenodeManager - the nodemanager for the nodes the returned
relation nodes should have a relation to (can be null)public boolean hasRelations()
NodehasRelations in interface Nodeorg.mmbase.bridge.Nodetrue if the node has relationspublic int countRelations()
NodecountRelations in interface Nodeorg.mmbase.bridge.Nodepublic int countRelations(java.lang.String type)
NodecountRelations in interface Nodeorg.mmbase.bridge.Nodepublic NodeList getRelatedNodes()
NodegetRelatedNodes in interface Nodeorg.mmbase.bridge.Nodepublic NodeList getRelatedNodes(java.lang.String type)
NodegetRelatedNodes in interface Nodeorg.mmbase.bridge.NodenodeManager - the name of the node manager the returned nodes
should havepublic NodeList getRelatedNodes(NodeManager nodeManager)
NodegetRelatedNodes in interface Nodeorg.mmbase.bridge.NodenodeManager - the node manager the returned nodes should have, can be null
public NodeList getRelatedNodes(NodeManager nodeManager,
java.lang.String role,
java.lang.String direction)
NodegetRelatedNodes in interface Node
public NodeList getRelatedNodes(java.lang.String type,
java.lang.String role,
java.lang.String direction)
NodegetRelatedNodes in interface Nodeorg.mmbase.bridge.NodenodeManager - the name of the node manager the returned nodes
should haverole - the role of the relationdirection - the direction of the relationpublic int countRelatedNodes(java.lang.String type)
NodecountRelatedNodes in interface Nodeorg.mmbase.bridge.NodenodeManager - the name of the node manager the counted nodes
should havepublic StringList getAliases()
NodegetAliases in interface Nodeorg.mmbase.bridge.Nodepublic void createAlias(java.lang.String aliasName)
NodecreateAlias in interface Nodeorg.mmbase.bridge.Nodealias - the alias to be created for this nodeBridgeException - if the alias allready existspublic void deleteAlias(java.lang.String aliasName)
NodedeleteAlias in interface Nodeorg.mmbase.bridge.Nodealias - the alias to be removed for this node
public Relation createRelation(Node destinationNode,
RelationManager relationManager)
NodecreateRelation in interface Nodeorg.mmbase.bridge.NodedestinationNode - the node to which you want to relate this noderelationManager - the relation manager you want to useBridgeException - if the relation manager is not the right one
for this type of relationpublic void setContext(java.lang.String context)
setContext in interface Nodecontext - The context to which the current node should belong,BridgeException - Dunno?java.lang.SecurityException - When not the approperate rights (change context)public java.lang.String getContext()
getContext in interface NodeBridgeException - Dunno?java.lang.SecurityException - When not the approperate rights (read rights)public StringList getPossibleContexts()
getPossibleContexts in interface NodeBridgeException - Dunno?java.lang.SecurityException - When not the approperate rights (read rights)public boolean mayWrite()
NodemayWrite in interface Nodeorg.mmbase.bridge.Nodepublic boolean mayDelete()
NodemayDelete in interface Nodeorg.mmbase.bridge.Nodepublic boolean mayLink()
NodemayLink in interface Nodeorg.mmbase.bridge.Nodepublic boolean mayChangeContext()
NodemayChangeContext in interface Nodeorg.mmbase.bridge.Nodeprotected void finalize()
finalize in class java.lang.Objectpublic int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparableo - the object to compare it withpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objecto - the object to compare it with
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||