All Frameworks Class Hierarchy This Framework Previous Next Indexes
ENOVIAPlugIn Class ENOVPublishObject
ENOVPublishObject
Usage: you must use this class as is. You should never derive it.
public class ENOVPublishObject
Generic class to manage nodes in the publishing stream tree structure.
Role:
All information in this domain will be managed as nodes in a tree
structure. Each node is typed and contains tags with valuation. The list of
tags on a node depends on the node type.
Publish Object is the mother class of all nodes of this tree structure.
The root node of those trees is a ENOVPublishStream.
Constructor and Destructor Index
- o
ENOVPublishObject(ENOVPublishObject&)
- Copy constructor.
- o
ENOVPublishObject(int,ENOVPublishObject*)
- Constructs a generic node object.
- o
~ENOVPublishObject()
-
Method Index
- o
Append(ENOVPublishObject* const)
- Inserts an object as a child at last position.
- o
CutFromFather()
- Suppresses the object from the father-child assembly.
- o
GetAccessRight()
- Returns access authorization to this node.
- o
GetFather()
- Gets the father node.
- o
GetType()
- Gets the node type.
- o
InsertBefore(ENOVPublishObject* const,ENOVPublishObject* const)
- Inserts an object as a child at specific place.
- o
IsModified()
- Queries if object node has been modified.
- o
Print(int)
- Print a report on standard output.
- o
RemoveAllChildren()
- Removes and deletes all child nodes.
- o
ScanChildren(ENOVPublishObject* const)
- Gets next child.
- o
SearchNode(int,char*,char*,ENOVPublishObject**&,int&)
- Searches all nodes according to a simple predicate.
- o
SetAccessRight(int)
- Sets access authorization to this node.
- o
operator=(ENOVPublishObject&)
- Assignment operator from another object node.
Constructor and Destructor
o ENOVPublishObject
-
Copy constructor.
- Parameters:
-
- ixNode
- Object to be duplicated.
o ENOVPublishObject
public ENOVPublishObject( | int | inType | = ENOVPublishObjectType , |
| ENOVPublishObject* | ixFather | = NULL ) |
-
Constructs a generic node object.
- Parameters:
-
- inType
- Node type
Legal values: see
ENOVPublishObject.GetType
- ixFather
- Points to the father node for this object.
- See also:
- ENOVPublishStream, ENOVPublishAttributeNode, ENOVPublishedBy
o ~ENOVPublishObject
public virtual ~ENOVPublishObject( | ) |
-
Methods
o Append
public void Append( | ENOVPublishObject* const | ixNewChild) |
-
Inserts an object as a child at last position.
Role: Inserts an object as a child at last position.
- Parameters:
-
- ixNewChild
- Object node that needs to be added as a child.
o CutFromFather
public void CutFromFather( | ) |
-
Suppresses the object from the father-child assembly.
Role: Suppresses the object from the father-child assembly.
o GetAccessRight
public int GetAccessRight( | )const |
-
Returns access authorization to this node.
Role: Returns access authorization to this node.
- Returns:
- Access authorization status for this node
Legal values: see
ENOVPublishObject.SetAccessRight
o GetFather
-
Gets the father node.
Role: Gets the father node of the current object.
- Returns:
- Father node object.
o GetType
public int GetType( | )const |
-
Gets the node type.
Role: Gest the object type information.
- Returns:
- Gets the node type
Legal values: It can be set to either:
- ENOVPublishStreamTypeFor Publishing Stream Objects
- ENOVPublishByType For Publish By" Objects
- ENOVPublishObjectNodeType For publish Objects
- ENOVPublishAttributeNodeType For Attribute Objects
- ENOVPublishAttributeValueType For Attribute values Objects
o InsertBefore
public void InsertBefore( | ENOVPublishObject* const | ixNewChild, |
| ENOVPublishObject* const | ixReference | = NULL ) |
-
Inserts an object as a child at specific place.
Role: Inserts an object as a child at specific place.
- Parameters:
-
- ixNewChild
- Object node that needs to be added as a child.
- ixReference
- Object node used to position ixNewChild in the children list.
Legal values: It can be set to either:
- NULL to insert at first position
- If ixReference is not NULL and is not child of the current
object, then we insert ixNewChild at last position
- Otherwise we insert ixNewChild before ixReference
o IsModified
public int IsModified( | )const |
-
Queries if object node has been modified.
Role: Queries if object node has been modified.
An object is considered as modified if one its values or one of its children's values
(or children of its children in cascade) have been modified.
- Returns:
- Flag that defined modification status.
Legal values:
- ENOVPublishUnchanged No modification done since last reset modification
- ENOVPublishModified Object node modified
- ENOVPublishCreated Object node created
o Print
public virtual void Print( | int | inLevel | = 0 )const = 0 |
-
Print a report on standard output.
Role: Print the content of this node and its children.
- Parameters:
-
- inLevel
- Enable to have an indented presentation according to the tree depth of the node.
o RemoveAllChildren
public void RemoveAllChildren( | ) |
-
Removes and deletes all child nodes.
Role: Removes and deletes all child nodes.
o ScanChildren
-
Gets next child.
Role: Scans the list of children of current node object.
- Returns:
- Next child object node.
Return NULL if ixPrevious is not a child of current node
or if it is the last child
- Parameters:
-
- ixPrevious
- Current child object.
Legal values:
- NULL to get the first child
o SearchNode
public int SearchNode( | int | inInTypeNode, |
| const char* | icInTag, |
| const char* | icInValue, |
| ENOVPublishObject**& | oxResultList, |
| int& | onResultSize)const |
-
Searches all nodes according to a simple predicate.
Role: Searches all nodes according to a simple predicate in the form
of tag = value and defining on which object we need to test the predicate
validity. This operation is also valid on multi-valuated attribute.
Example:
- Search all PublishObjectNode where PrimaryTypeName is DocumentRevision
SearchNode( ENOVPublishObjectNodeType , "PrimaryTypeName" , "DocumentRevision" ...)
- Search all PublishAttributeNode where TypeName is Size
SearchNode( ENOVPublishAttributeNodeType , "TypeName" , "Size" ...)
- Search all PublishAttributeNode where TypeName is Size and value 2
SearchNode( ENOVPublishAttributeNodeType , "Size" , "2" ...)
Precondition: Beware that the result list will be allocated
by this method.
Postcondition: If operation does not succeed, the output list
of objects (nodes) will be unallocated and set to NULL.
- Returns:
- Method return code
Legal values: Returns 0 if operation runs well.
- Parameters:
-
- inInTypeNode
- Defines the type node you want to query on.
Legal values: It can be set to either:
- ENOVPublishStreamType To search on the Publishing Stream Object
- ENOVPublishByType To search among all "Publish By" Objects
inside this Publishing stream
- ENOVPublishObjectNodeType To search among all Publish Objects
inside this Publishing stream
- ENOVPublishAttributeNodeType To search among all Attribute Objects
inside this Publishing stream
- ENOVPublishAttributeValueType To search among all Attribute values Objects
inside this Publishing stream
- icInTag
- Limits the search to object that content a specific tag.
Legal values: Can be set to NULL which means that no predicate is
defined, so all objects of the right type will be selected. For valid tag you must
look at object definition.
- icInValue
- Defines a value for the predicate to limit the result of the query.
Legal values: Can be set to NULL which means that we check only if
the tag is valuated on this object.
- oxResultList
- An array of objects that are compliant with the predicates (Type, tag & value).
Legal values: If no object answer to search, this value is set to NULL.
- onResultSize
- Number of objects that fulfill the predicate (Type, tag & value).
- See also:
- ENOVPublishStream, ENOVPublishAttributeNode, ENOVPublishedBy
o SetAccessRight
public int SetAccessRight( | int | inStatus) |
-
Sets access authorization to this node.
Role: Sets access authorization to this node.
- Returns:
- Method return code
Legal values: Returns 0 if operation runs well.
- Parameters:
-
- inStatus
- Access authorization status.
Legal values: It can be set to either:
- ENOVPublishNoAccess To forbid any access
- ENOVPublishReadOnly To authorize read only access
- ENOVPublishReadWrite To autorize read and write access
o operator=
-
Assignment operator from another object node.
- Parameters:
-
- ixNode
- Object used as reference for the assignment.
This object is included in the file: ENOVPublishObject.h
If needed, your Imakefile.mk should include the module: ENOVIAPubStream