Skip to content
Sections
Personal tools
You are here: Home » BALLView » Documentation » 1.2 » classBALL_1_1ResourceEntry_html

BALL::ResourceEntry Class Reference
[Support for hierarchical text data.]

Resource entry class. More...

#include <resourceFile.h>

Inheritance diagram for BALL::ResourceEntry:

BALL::AutoDeletable List of all members.

Public Types

typedef ResourceEntry * IteratorPosition
typedef ForwardIterator< ResourceEntry,
ResourceEntry, ResourceEntry *,
IteratorTraits_ >
Iterator
typedef ConstForwardIterator<
ResourceEntry, ResourceEntry,
ResourceEntry *, IteratorTraits_ >
ConstIterator

Public Member Functions

Iterator begin ()
Iterator end ()
ConstIterator begin () const
ConstIterator end () const
Constructors and Destructors
ResourceEntry ()
Default constructor.
ResourceEntry (const ResourceEntry &entry, bool deep=true)
Copy constructor.
ResourceEntry (const String &key, const String &value, ResourceEntry *parent=0)
Create a new resource entry.
void clear ()
void destroy ()
Assignment
void set (const ResourceEntry &entry, bool deep=true)
Assign a resource entry from another.
const ResourceEntry & operator= (const ResourceEntry &entry)
Assignment operator.
void get (ResourceEntry &entry, bool deep=true) const
Assign the contents of a resource enytry to another one.
Miscellaneous
bool operator== (const ResourceEntry &entry) const
Equality operator.
bool operator!= (const ResourceEntry &entry) const
Inequality operator.
ResourceEntry & getRoot ()
const ResourceEntry & getRoot () const
ResourceEntry * getParent ()
const ResourceEntry * getParent () const
ResourceEntry * getChild (Position index)
Return a pointer to a child node.
const ResourceEntry * getChild (Position index) const
Return a const pointer to a child node.
ResourceEntry * getEntry (const String &key_path)
Return a pointer to an entry.
const ResourceEntry * getEntry (const String &key_path) const
Return a const pointer to an entry Searches for an entry via its path.
const String & getKey () const
Return the key of this ResourceEntry.
void setValue (const String &value)
Set the value of this ResourceEntry.
String & getValue ()
Get a mutable reference to the value of this ResourceEntry.
const String & getValue () const
Get a constant reference to the value of this ResourceEntry.
String getPath () const
Return the path of an entry.
Size countChildren () const
Return the number of child entries.
Size countDescendants () const
Return the number of children which are not leaves.
Size getSize () const
????? What is the size of an entry? Why not use size()?
Size getDepth () const
Compute the depth of this entry within the tree.
ResourceEntry * insertChild (const String &key, const String &value, bool replace_value=true)
Insert a child into the tree below this entry, if the key has not been used yet.
ResourceEntry * insertSibling (const String &key, const String &value, bool replace_value=true)
Insert a child into the tree below the parent entry.
ResourceEntry * insertChild (ResourceEntry &entry, bool replace_value=true)
Insert a child into the tree below this entry, if the key has not been used yet.
ResourceEntry * insert (const String &key_path, const String &name)
Insert a resource entry at the appropriate place in the tree.
bool mergeChildrenOf (ResourceEntry &entry, bool replace_value=true)
Merge the children of a resource entry.
bool removeChild (const String &key, ResourceEntry **removed=0)
Remove a child of a resource entry.
bool removeKey (const String &key_path)
ResourceEntry * findChild (const String &key)
const ResourceEntry * findChild (const String &key) const
ResourceEntry * findDescendant (const String &key)
const ResourceEntry * findDescendant (const String &key) const
ResourceEntry * findEntry (const String &key)
const ResourceEntry * findEntry (const String &key) const
Attributes
bool hasChild (const String &key) const
bool isEmpty () const
bool isParentOf (const ResourceEntry &entry) const
bool isChildOf (const ResourceEntry &entry) const
bool isAncestorOf (const ResourceEntry &entry) const
bool isDescendantOf (const ResourceEntry &entry) const
bool isRelatedWith (const ResourceEntry &entry) const
bool isRoot () const
Debugging and Diagnostics
bool isValid () const
void dump (std::ostream &s=std::cout, Size depth=0) const
Processor and Visitor related methods
void host (Visitor< ResourceEntry > &visitor)
bool apply (UnaryProcessor< ResourceEntry > &processor)
bool applyChildren (UnaryProcessor< ResourceEntry > &processor)

Protected Member Functions

virtual ResourceEntry * newEntry (const String &key, const String &value, ResourceEntry *parent=0) const
virtual ResourceEntry ** newEntryArray (Size size) const
virtual void deleteEntry (ResourceEntry *entry) const
virtual void deleteEntryArray (ResourceEntry **entry_array) const
bool applyNostart_ (UnaryProcessor< ResourceEntry > &processor)

Private Member Functions

ResourceEntry * clone_ (ResourceEntry *parent) const
bool findGreaterOrEqual_ (const String &key, Index &found) const

Private Attributes

String key_
String value_
ResourceEntry * parent_
ResourceEntry ** child_
Size number_children_

Friends

class IteratorTraits_

Detailed Description

Resource entry class.

Constructor & Destructor Documentation

BALL::ResourceEntry::ResourceEntry ( const ResourceEntry & entry,
bool deep = true
)

Copy constructor.

Creates a new resource entry from another.

Parameters:
entry the ResourceEntry object to be copied
deep create a deep (true) or shallow (false) copy
BALL::ResourceEntry::ResourceEntry ( const String & key,
const String & value,
ResourceEntry * parent = 0
)

Create a new resource entry.

An entry with key and value is created. If parent is given, the new entries parent pointer is set to this value. Take care: the parents child array is not updated - so use this option only if you really know what you are doing. To keep this data consistent, use insertChild .

Parameters:
key the key of the new entry
value the value of the new entry
parent the content of the new entry's parent pointer

Member Function Documentation

Size BALL::ResourceEntry::countChildren ( ) const

Return the number of child entries.

Size BALL::ResourceEntry::countDescendants ( ) const

Return the number of children which are not leaves.

void BALL::ResourceEntry::get ( ResourceEntry & entry,
bool deep = true
) const

Assign the contents of a resource enytry to another one.

Parameters:
entry the ResourceEntry object to be copied
deep create a deep (true) or shallow (false) copy
const ResourceEntry* BALL::ResourceEntry::getChild ( Position index ) const

Return a const pointer to a child node.

Returns:
0 if the child index does not exist
ResourceEntry* BALL::ResourceEntry::getChild ( Position index )

Return a pointer to a child node.

Returns:
0 if the child index does not exist
Size BALL::ResourceEntry::getDepth ( ) const

Compute the depth of this entry within the tree.

const ResourceEntry* BALL::ResourceEntry::getEntry ( const String & key_path ) const

Return a const pointer to an entry Searches for an entry via its path.

Returns:
0 if the specified path does not exist
ResourceEntry* BALL::ResourceEntry::getEntry ( const String & key_path )

Return a pointer to an entry.

Searches for an entry via its path.

Returns:
0 if the specified path does not exist
const String& BALL::ResourceEntry::getKey ( ) const

Return the key of this ResourceEntry.

String BALL::ResourceEntry::getPath ( ) const

Return the path of an entry.

const String& BALL::ResourceEntry::getValue ( ) const

Get a constant reference to the value of this ResourceEntry.

String& BALL::ResourceEntry::getValue ( )

Get a mutable reference to the value of this ResourceEntry.

ResourceEntry* BALL::ResourceEntry::insert ( const String & key_path,
const String & name
)

Insert a resource entry at the appropriate place in the tree.

ResourceEntry* BALL::ResourceEntry::insertChild ( ResourceEntry & entry,
bool replace_value = true
)

Insert a child into the tree below this entry, if the key has not been used yet.

ResourceEntry* BALL::ResourceEntry::insertChild ( const String & key,
const String & value,
bool replace_value = true
)

Insert a child into the tree below this entry, if the key has not been used yet.

ResourceEntry* BALL::ResourceEntry::insertSibling ( const String & key,
const String & value,
bool replace_value = true
)

Insert a child into the tree below the parent entry.

bool BALL::ResourceEntry::mergeChildrenOf ( ResourceEntry & entry,
bool replace_value = true
)

Merge the children of a resource entry.

const ResourceEntry& BALL::ResourceEntry::operator= ( const ResourceEntry & entry )

Assignment operator.

Parameters:
entry the ResourceEntry object to be copied
bool BALL::ResourceEntry::removeChild ( const String & key,
ResourceEntry ** removed = 0
)

Remove a child of a resource entry.

void BALL::ResourceEntry::set ( const ResourceEntry & entry,
bool deep = true
)

Assign a resource entry from another.

Parameters:
entry the ResourceEntry object to be copied
deep create a deep (true) or shallow (false) copy
void BALL::ResourceEntry::setValue ( const String & value )

Set the value of this ResourceEntry.


The documentation for this class was generated from the following file:
 
 

Powered by Plone

This site conforms to the following standards: