#include <unidefs.h>
#include <tccore/method.h>
#include <common/tc_deprecation_macros.h>
#include <vector>
#include <property/libproperty_exports.h>
#include <property/libproperty_undef.h>
Go to the source code of this file.
|
| namespace | Teamcenter |
| | A convenient C++ class to manage a list of tag_t. This convenient class is derived from TagList class which is only available for internal developers.
|
| |
| namespace | Teamcenter::Property |
| |
|
| typedef void(* | BulkOperation_bulk_loader_t )(const char *operation_id, int n_tags, const tag_t *tags, Teamcenter::Property::BulkPropertyContextData **bulk_context_data) |
| |
| typedef int(* | BulkProperty_bulk_loader_setbased_t )(const std::vector< tag_t > &prop_desc_tags, const std::vector< tag_t > &object_tags, Teamcenter::Property::BulkPropertyContextData **bulk_context_data) |
| |
| typedef void(* | BulkProperty_bulk_loader_t )(tag_t prop_desc_tags, int n_tags, const tag_t *tags, Teamcenter::Property::BulkPropertyContextData **bulk_context_data) |
| |
| typedef void(* | BulkProperty_query_based_bulk_loader_t )(int n_property_descriptor_tags, const tag_t *property_descriptor_tags, int n_objects, const tag_t *objects) |
| |
Bulk load function pointer registered by external system.
If you require to cache information obtained in the execution of this function you should instantiate an appropriate subclass of BulkPropertyContextData to store that information and output it in the bulkContextData parameter.
The bulk property loader function may be invoked multiple times for batches of tags. A new BulkPropertyContextData should only be instantiated on the first call, when *bulkContextData is passed as null; on subsequent calls the previously created bulkContextData will be passed back in, your BulkPropertyContextData implementation must reuse that and provide a method to append the data generated on this pass to that which was cached earlier. For example use something like the following pattern in your function implementation:
YourBulkPropertyContextData* yourContextData = 0;
if ( *bulkContextData == 0 )
{
yourContextData = new YourBulkPropertyContextData();
*bulkContextData = yourContextData;
}
else
{
yourContextData = dynamic_cast<YourBulkPropertyContextData*>( *bulkContextData );
if ( yourContextData == 0 )
{
log_error( "<function> given BulkPropertyContextData that is not a YourBulkPropertyContextData" );
}
}
yourContextData->append( someData );
Definition at line 74 of file BulkPropertyContextData.hxx.
| typedef void(* BulkProperty_query_based_bulk_loader_t)(int n_property_descriptor_tags,const tag_t *property_descriptor_tags,int n_objects,const tag_t *objects) |
Query-based bulk property loader function pointer registered by external system. Perform set-based query to retrieve attribute values from db Does property-specific computation if applicable Populate property values to Singleton PVM managing an array of buckets per type, e.g. Item Bucket, ItemRevision Bucket and BOMLine Bucket
Definition at line 105 of file BulkPropertyContextData.hxx.
Retrieves the current user bulk property context. Returns bulk property context data class instance.
- Parameters
-
Retrieves the bulk property context data instance for the given property descriptor.
The bulk property context data instance may be created during execution of BulkProperty_bulk_loader_t bulk loader batch function to cache information that can be used later. The function may be called from the property getter function.
if( myBulkPropertyContextData != 0 )
{
}
- Returns
-
BulkPropertyContextData bulk property context data class instance if bulk loading context is active
-
NULL if bulk loading context is not active
- Parameters
-
| pdTag | (I) property descriptor tag |
Retrieves the bulk property context for input business object and property. Returns bulk property context data class instance.
Retrieves the bulk property context data instance for the given property name.
The bulk property context data instance may be created during execution of BulkProperty_bulk_loader_t bulk loader batch function to cache information that can be used later. The function may be called from the property getter function.
{
MyBulkPropertyContextData* myBulkPropertyContextData =
if( myBulkPropertyContextData != 0 )
{
}
}
- Returns
-
BulkPropertyContextData bulk property context data class instance on success
| int PROPDESC_execute_bulk_loader |
( |
int |
n_tags, |
|
|
const tag_t * |
tags, |
|
|
int |
n_props, |
|
|
const char ** |
props |
|
) |
| |
Executes registered bulk load function for each input property.
- Returns
-
ITK_ok on success
-
PROP_not_found, if the given property descriptor tag is invalid.
-
Potentially other errors
- Parameters
-
| n_tags | (I) Number of input objects |
| tags | (I) n_tags Input objects |
| n_props | (I) Number of input properties |
| props | (I) n_props Input property names |
| logical PROPDESC_is_bulk_loading_context |
( |
| ) |
|
Checks if property bulk loading context is active.
- Returns
-
true if in bulk context
-
false if not in bulk context
Registers bulk load function pointer and other information.
The implementation of bulk_loader_fn must be capable of being invoked multiple times to build up the full result. Please refer to the documentation of BulkProperty_bulk_loader_t for further information.
- Returns
-
ITK_ok on success
-
PROP_not_found if property descriptor not found
- Parameters
-
| prop_desc_tag | (I) tag of the property descriptor |
| invoke_once | (I) if batch function needs to invoke once |
| bulk_loader_fn | (I) batch function |
Registers query based bulk load function pointer and other information.
- Returns
-
ITK_ok on success
-
PROP_not_found if property descriptor not found
- Parameters
-
| n_property_descriptor_tags | (I) Number of property descriptors |
| property_descriptor_tags | (I) n_property_descriptors The property descriptors |
| query_based_loader_fn | (I) query based function |