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
public ENOVPublishObject( const ENOVPublishObject& ixNode)
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
public ENOVPublishObject * GetFather()const
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
    public ENOVPublishObject * ScanChildren( const ENOVPublishObject* const ixPrevious)const
    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:
      1. Search all PublishObjectNode where PrimaryTypeName is DocumentRevision
        SearchNode( ENOVPublishObjectNodeType , "PrimaryTypeName" , "DocumentRevision" ...)
      2. Search all PublishAttributeNode where TypeName is Size
        SearchNode( ENOVPublishAttributeNodeType , "TypeName" , "Size" ...)
      3. 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=
      public const ENOVPublishObject & operator=( const ENOVPublishObject& ixNode)
      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

      Copyright © 2003, Dassault Systèmes. All rights reserved.