diff --git a/xflaim/java/jni/jdomnode.cpp b/xflaim/java/jni/jdomnode.cpp index 14129c9..9b63e92 100644 --- a/xflaim/java/jni/jdomnode.cpp +++ b/xflaim/java/jni/jdomnode.cpp @@ -29,6 +29,22 @@ #define THIS_NODE() ((IF_DOMNode *)((FLMUINT)lThis)) +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1release( + JNIEnv *, // pEnv, + jobject, // obj, + jlong lThis) +{ + IF_DOMNode * pNode = THIS_NODE(); + + if( pNode) + { + pNode->Release(); + } +} + /**************************************************************************** Desc: ****************************************************************************/ @@ -153,6 +169,31 @@ JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNodeType( return( THIS_NODE()->getNodeType()); } +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1isDataLocalToNode( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMBOOL bLocal = FALSE; + + if (RC_BAD( rc = pThisNode->isDataLocalToNode( pDb, &bLocal))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( bLocal ? JNI_TRUE : JNI_FALSE); +} + /**************************************************************************** Desc: ****************************************************************************/ @@ -451,6 +492,775 @@ Exit: return( bIsDecl ? JNI_TRUE : JNI_FALSE); } +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getParentId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getParentId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNodeId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getNodeId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDocumentId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getDocumentId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getPrevSibId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getPrevSibId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNextSibId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getNextSibId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getFirstChildId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getFirstChildId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastChildId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT64 ui64Id; + + if (RC_BAD( rc = pThisNode->getLastChildId( pDb, &ui64Id))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)ui64Id); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNameId( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiId; + + if (RC_BAD( rc = pThisNode->getNameId( pDb, &uiId))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jint)uiId); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setLong( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jlong lValue, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + + if (RC_BAD( rc = pThisNode->setINT64( pDb, (FLMINT64)lValue, + (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + } +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueLong( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId, + jlong lValue, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + + if (RC_BAD( rc = pThisNode->setAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, + (FLMINT64)lValue, (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + } +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setString( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jstring sValue, + jboolean bLast, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + jchar * pszValue = NULL; + FLMUINT uiLength = 0; + + if (sValue) + { + pszValue = (jchar *)pEnv->GetStringCritical( sValue, NULL); + uiLength = (FLMUINT)pEnv->GetStringLength( sValue); + } + + if (RC_BAD( rc = pThisNode->setUnicode( pDb, pszValue, uiLength, + bLast ? TRUE : FALSE, (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + if (pszValue) + { + pEnv->ReleaseStringCritical( sValue, pszValue); + } +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueString( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId, + jstring sValue, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMBYTE ucValue [256]; + F_DynaBuf valueBuf( ucValue, sizeof( ucValue)); + + if (RC_BAD( rc = getUTF8String( pEnv, sValue, &valueBuf))) + { + ThrowError( rc, pEnv); + goto Exit; + } + + if (RC_BAD( rc = pThisNode->setAttributeValueUTF8( pDb, (FLMUINT)iAttrNameId, + (const FLMBYTE *)valueBuf.getBufferPtr(), 0, (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return; +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setBinary( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jbyteArray Value, + jboolean bLast, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiLength = pEnv->GetArrayLength( Value); + void * pvValue = NULL; + jboolean bIsCopy = JNI_FALSE; + + if( (pvValue = pEnv->GetPrimitiveArrayCritical( Value, &bIsCopy)) == NULL) + { + rc = RC_SET( NE_XFLM_MEM); + ThrowError( rc, pEnv); + goto Exit; + } + + if( RC_BAD( rc = pThisNode->setBinary(pDb, pvValue, uiLength, + bLast ? TRUE : FALSE, + (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + if (pvValue) + { + pEnv->ReleasePrimitiveArrayCritical( Value, pvValue, JNI_ABORT); + } +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueBinary( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId, + jbyteArray Value, + jint iEncId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiLength = pEnv->GetArrayLength( Value); + void * pvValue = NULL; + jboolean bIsCopy = JNI_FALSE; + + if( (pvValue = pEnv->GetPrimitiveArrayCritical( Value, &bIsCopy)) == NULL) + { + rc = RC_SET( NE_XFLM_MEM); + ThrowError( rc, pEnv); + goto Exit; + } + + if( RC_BAD( rc = pThisNode->setAttributeValueBinary(pDb, (FLMUINT)iAttrNameId, + pvValue, uiLength, (FLMUINT)iEncId))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + if (pvValue) + { + pEnv->ReleasePrimitiveArrayCritical( Value, pvValue, JNI_ABORT); + } +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDataLength( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiLength; + + if (RC_BAD( rc = pThisNode->getDataLength( pDb, &uiLength))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)uiLength); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getDataType( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiType; + + if (RC_BAD( rc = pThisNode->getDataType( pDb, &uiType))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jint)uiType); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLong( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMINT64 i64Val; + + if (RC_BAD( rc = pThisNode->getINT64( pDb, &i64Val))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)i64Val); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAttributeValueLong( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId, + jboolean bDefaultOk, + jlong lDefaultToUse) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMINT64 i64Val; + + if (bDefaultOk) + { + rc = pThisNode->getAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, + &i64Val, (FLMINT64)lDefaultToUse); + } + else + { + rc = pThisNode->getAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, + &i64Val); + } + + if (RC_BAD( rc)) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)i64Val); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getString( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iStartPos, + jint iNumChars) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUNICODE uzBuffer[ 128]; + FLMUNICODE * puzBuf = uzBuffer; + FLMUINT uiBufSize = sizeof(uzBuffer); + FLMUINT uiNumChars; + jstring sBuf = NULL; + + if (RC_BAD( rc = pThisNode->getUnicodeChars( pDb, &uiNumChars))) + { + ThrowError( rc, pEnv); + goto Exit; + } + + if ((FLMUINT)iStartPos >= uiNumChars) + { + goto Exit; + } + uiNumChars -= (FLMUINT)iStartPos; + if (iNumChars && (FLMUINT)iNumChars < uiNumChars) + { + uiNumChars = (FLMUINT)iNumChars; + } + + if (uiNumChars * sizeof( FLMUNICODE) >= uiBufSize) + { + uiBufSize = (uiNumChars + 1) * sizeof(FLMUNICODE); + + if (RC_BAD( rc = f_alloc( uiBufSize, &puzBuf))) + { + ThrowError( rc, pEnv); + goto Exit; + } + } + + if (RC_BAD( rc = pThisNode->getUnicode( pDb, puzBuf, uiBufSize, + (FLMUINT)iStartPos, uiNumChars, NULL))) + { + ThrowError( rc, pEnv); + goto Exit; + } + + sBuf = pEnv->NewString( puzBuf, (jsize)uiNumChars); + +Exit: + + if (puzBuf != uzBuffer) + { + f_free( &puzBuf); + } + + return( sBuf); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getAttributeValueString( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMBYTE ucBuf [256]; + F_DynaBuf dynaBuf( ucBuf, sizeof( ucBuf)); + jstring sBuf = NULL; + + if (RC_BAD( rc = pThisNode->getAttributeValueUnicode( pDb, + (FLMUINT)iAttrNameId, &dynaBuf))) + { + ThrowError( rc, pEnv); + goto Exit; + } + sBuf = pEnv->NewString( dynaBuf.getUnicodePtr(), + (jsize)dynaBuf.getUnicodeLength()); + +Exit: + + return( sBuf); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getStringLen( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiVal; + + if (RC_BAD(rc = pThisNode->getUnicodeChars( pDb, &uiVal))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jint)uiVal); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getBinary( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iStartPos, + jint iNumBytes) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiLength; + jbyteArray Data = NULL; + void * pvData = NULL; + jboolean bIsCopy = JNI_FALSE; + + if (RC_BAD(rc = pThisNode->getDataLength( pDb, &uiLength))) + { + ThrowError( rc, pEnv); + goto Exit; + } + + if ((FLMUINT)iStartPos >= uiLength) + { + goto Exit; + } + uiLength -= (FLMUINT)iStartPos; + if (iNumBytes && (FLMUINT)iNumBytes < uiLength) + { + uiLength = (FLMUINT)iNumBytes; + } + + Data = pEnv->NewByteArray( (jsize)uiLength); + + if ( (pvData = pEnv->GetPrimitiveArrayCritical( Data, &bIsCopy)) == NULL) + { + rc = RC_SET( NE_XFLM_MEM); + ThrowError( rc, pEnv); + goto Exit; + } + + if (RC_BAD( rc = pThisNode->getBinary( pDb, pvData, (FLMUINT)iStartPos, + uiLength, NULL))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + if (pvData) + { + if (RC_BAD( rc)) + { + pEnv->ReleasePrimitiveArrayCritical( Data, pvData, JNI_ABORT); + pEnv->DeleteLocalRef( Data); + Data = NULL; + } + else + { + pEnv->ReleasePrimitiveArrayCritical( Data, pvData, 0); + } + } + + return( Data); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getAttributeValueBinary( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iAttrNameId) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + FLMUINT uiLength; + jbyteArray Data = NULL; + void * pvData = NULL; + jboolean bIsCopy = JNI_FALSE; + + if (RC_BAD(rc = pThisNode->getAttributeValueBinary( pDb, (FLMUINT)iAttrNameId, + NULL, 0, &uiLength))) + { + ThrowError( rc, pEnv); + goto Exit; + } + + Data = pEnv->NewByteArray( (jsize)uiLength); + + if ( (pvData = pEnv->GetPrimitiveArrayCritical( Data, &bIsCopy)) == NULL) + { + rc = RC_SET( NE_XFLM_MEM); + ThrowError( rc, pEnv); + goto Exit; + } + + if (RC_BAD( rc = pThisNode->getAttributeValueBinary( pDb, (FLMUINT)iAttrNameId, + pvData, uiLength, NULL))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + if (pvData) + { + if (RC_BAD( rc)) + { + pEnv->ReleasePrimitiveArrayCritical( Data, pvData, JNI_ABORT); + pEnv->DeleteLocalRef( Data); + Data = NULL; + } + else + { + pEnv->ReleasePrimitiveArrayCritical( Data, pvData, 0); + } + } + + return( Data); +} + /**************************************************************************** Desc: ****************************************************************************/ @@ -563,6 +1373,156 @@ Exit: return( (jlong)((FLMUINT)pNewNode)); } +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChild( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iNodeType, + jlong lReusedNodeRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + IF_DOMNode * pNewNode = lReusedNodeRef + ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) + : NULL; + + if (RC_BAD( rc = pThisNode->getChild( pDb, (eDomNodeType)iNodeType, &pNewNode))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)((FLMUINT)pNewNode)); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChildElement( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iNameId, + jlong lReusedNodeRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + IF_DOMNode * pNewNode = lReusedNodeRef + ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) + : NULL; + + if (RC_BAD( rc = pThisNode->getChildElement( pDb, + (FLMUINT)iNameId, &pNewNode))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)((FLMUINT)pNewNode)); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getSiblingElement( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iNameId, + jboolean bNext, + jlong lReusedNodeRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + IF_DOMNode * pNewNode = lReusedNodeRef + ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) + : NULL; + + if (RC_BAD( rc = pThisNode->getSiblingElement( pDb, + (FLMUINT)iNameId, bNext ? TRUE : FALSE, &pNewNode))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)((FLMUINT)pNewNode)); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAncestorElement( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iNameId, + jlong lReusedNodeRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + IF_DOMNode * pNewNode = lReusedNodeRef + ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) + : NULL; + + if (RC_BAD( rc = pThisNode->getAncestorElement( pDb, + (FLMUINT)iNameId, &pNewNode))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)((FLMUINT)pNewNode)); +} + +/**************************************************************************** +Desc: +****************************************************************************/ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDescendantElement( + JNIEnv * pEnv, + jobject, // obj, + jlong lThis, + jlong lDbRef, + jint iNameId, + jlong lReusedNodeRef) +{ + RCODE rc = NE_XFLM_OK; + IF_DOMNode * pThisNode = THIS_NODE(); + IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); + IF_DOMNode * pNewNode = lReusedNodeRef + ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) + : NULL; + + if (RC_BAD( rc = pThisNode->getDescendantElement( pDb, + (FLMUINT)iNameId, &pNewNode))) + { + ThrowError( rc, pEnv); + goto Exit; + } + +Exit: + + return( (jlong)((FLMUINT)pNewNode)); +} + /**************************************************************************** Desc: ****************************************************************************/ @@ -836,327 +1796,6 @@ Exit: return; } -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChildElement( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iNameId, - jlong lReusedNodeRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - IF_DOMNode * pNewNode = lReusedNodeRef - ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) - : NULL; - - if (RC_BAD( rc = pThisNode->getChildElement( pDb, - (FLMUINT)iNameId, &pNewNode))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)((FLMUINT)pNewNode)); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getSiblingElement( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iNameId, - jboolean bNext, - jlong lReusedNodeRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - IF_DOMNode * pNewNode = lReusedNodeRef - ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) - : NULL; - - if (RC_BAD( rc = pThisNode->getSiblingElement( pDb, - (FLMUINT)iNameId, bNext ? TRUE : FALSE, &pNewNode))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)((FLMUINT)pNewNode)); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAncestorElement( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iNameId, - jlong lReusedNodeRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - IF_DOMNode * pNewNode = lReusedNodeRef - ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) - : NULL; - - if (RC_BAD( rc = pThisNode->getAncestorElement( pDb, - (FLMUINT)iNameId, &pNewNode))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)((FLMUINT)pNewNode)); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDescendantElement( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iNameId, - jlong lReusedNodeRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - IF_DOMNode * pNewNode = lReusedNodeRef - ? (IF_DOMNode *)((FLMUINT)lReusedNodeRef) - : NULL; - - if (RC_BAD( rc = pThisNode->getDescendantElement( pDb, - (FLMUINT)iNameId, &pNewNode))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)((FLMUINT)pNewNode)); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getParentId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getParentId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNodeId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getNodeId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDocumentId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getDocumentId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getPrevSibId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getPrevSibId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNextSibId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getNextSibId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getFirstChildId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getFirstChildId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastChildId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT64 ui64Id; - - if (RC_BAD( rc = pThisNode->getLastChildId( pDb, &ui64Id))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)ui64Id); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNameId( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiId; - - if (RC_BAD( rc = pThisNode->getNameId( pDb, &uiId))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jint)uiId); -} - /**************************************************************************** Desc: ****************************************************************************/ @@ -1347,591 +1986,6 @@ Exit: return( (jint)uiColNum); } -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLong( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMINT64 i64Val; - - if (RC_BAD( rc = pThisNode->getINT64( pDb, &i64Val))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)i64Val); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAttributeValueLong( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId, - jboolean bDefaultOk, - jlong lDefaultToUse) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMINT64 i64Val; - - if (bDefaultOk) - { - rc = pThisNode->getAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, - &i64Val, (FLMINT64)lDefaultToUse); - } - else - { - rc = pThisNode->getAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, - &i64Val); - } - - if (RC_BAD( rc)) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)i64Val); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getString( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iStartPos, - jint iNumChars) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUNICODE uzBuffer[ 128]; - FLMUNICODE * puzBuf = uzBuffer; - FLMUINT uiBufSize = sizeof(uzBuffer); - FLMUINT uiNumChars; - jstring sBuf = NULL; - - if (RC_BAD( rc = pThisNode->getUnicodeChars( pDb, &uiNumChars))) - { - ThrowError( rc, pEnv); - goto Exit; - } - - if ((FLMUINT)iStartPos >= uiNumChars) - { - goto Exit; - } - uiNumChars -= (FLMUINT)iStartPos; - if (iNumChars && (FLMUINT)iNumChars < uiNumChars) - { - uiNumChars = (FLMUINT)iNumChars; - } - - if (uiNumChars * sizeof( FLMUNICODE) >= uiBufSize) - { - uiBufSize = (uiNumChars + 1) * sizeof(FLMUNICODE); - - if (RC_BAD( rc = f_alloc( uiBufSize, &puzBuf))) - { - ThrowError( rc, pEnv); - goto Exit; - } - } - - if (RC_BAD( rc = pThisNode->getUnicode( pDb, puzBuf, uiBufSize, - (FLMUINT)iStartPos, uiNumChars, NULL))) - { - ThrowError( rc, pEnv); - goto Exit; - } - - sBuf = pEnv->NewString( puzBuf, (jsize)uiNumChars); - -Exit: - - if (puzBuf != uzBuffer) - { - f_free( &puzBuf); - } - - return( sBuf); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getAttributeValueString( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMBYTE ucBuf [256]; - F_DynaBuf dynaBuf( ucBuf, sizeof( ucBuf)); - jstring sBuf = NULL; - - if (RC_BAD( rc = pThisNode->getAttributeValueUnicode( pDb, - (FLMUINT)iAttrNameId, &dynaBuf))) - { - ThrowError( rc, pEnv); - goto Exit; - } - sBuf = pEnv->NewString( dynaBuf.getUnicodePtr(), - (jsize)dynaBuf.getUnicodeLength()); - -Exit: - - return( sBuf); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getStringLen( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiVal; - - if (RC_BAD(rc = pThisNode->getUnicodeChars( pDb, &uiVal))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jint)uiVal); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getDataType( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiType; - - if (RC_BAD( rc = pThisNode->getDataType( pDb, &uiType))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jint)uiType); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDataLength( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiLength; - - if (RC_BAD( rc = pThisNode->getDataLength( pDb, &uiLength))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( (jlong)uiLength); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getBinary( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iStartPos, - jint iNumBytes) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiLength; - jbyteArray Data = NULL; - void * pvData = NULL; - jboolean bIsCopy = JNI_FALSE; - - if (RC_BAD(rc = pThisNode->getDataLength( pDb, &uiLength))) - { - ThrowError( rc, pEnv); - goto Exit; - } - - if ((FLMUINT)iStartPos >= uiLength) - { - goto Exit; - } - uiLength -= (FLMUINT)iStartPos; - if (iNumBytes && (FLMUINT)iNumBytes < uiLength) - { - uiLength = (FLMUINT)iNumBytes; - } - - Data = pEnv->NewByteArray( (jsize)uiLength); - - if ( (pvData = pEnv->GetPrimitiveArrayCritical( Data, &bIsCopy)) == NULL) - { - rc = RC_SET( NE_XFLM_MEM); - ThrowError( rc, pEnv); - goto Exit; - } - - if (RC_BAD( rc = pThisNode->getBinary( pDb, pvData, (FLMUINT)iStartPos, - uiLength, NULL))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - if (pvData) - { - if (RC_BAD( rc)) - { - pEnv->ReleasePrimitiveArrayCritical( Data, pvData, JNI_ABORT); - pEnv->DeleteLocalRef( Data); - Data = NULL; - } - else - { - pEnv->ReleasePrimitiveArrayCritical( Data, pvData, 0); - } - } - - return( Data); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getAttributeValueBinary( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiLength; - jbyteArray Data = NULL; - void * pvData = NULL; - jboolean bIsCopy = JNI_FALSE; - - if (RC_BAD(rc = pThisNode->getAttributeValueBinary( pDb, (FLMUINT)iAttrNameId, - NULL, 0, &uiLength))) - { - ThrowError( rc, pEnv); - goto Exit; - } - - Data = pEnv->NewByteArray( (jsize)uiLength); - - if ( (pvData = pEnv->GetPrimitiveArrayCritical( Data, &bIsCopy)) == NULL) - { - rc = RC_SET( NE_XFLM_MEM); - ThrowError( rc, pEnv); - goto Exit; - } - - if (RC_BAD( rc = pThisNode->getAttributeValueBinary( pDb, (FLMUINT)iAttrNameId, - pvData, uiLength, NULL))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - if (pvData) - { - if (RC_BAD( rc)) - { - pEnv->ReleasePrimitiveArrayCritical( Data, pvData, JNI_ABORT); - pEnv->DeleteLocalRef( Data); - Data = NULL; - } - else - { - pEnv->ReleasePrimitiveArrayCritical( Data, pvData, 0); - } - } - - return( Data); -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setLong( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jlong lValue, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - - if (RC_BAD( rc = pThisNode->setINT64( pDb, (FLMINT64)lValue, - (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - } -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueLong( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId, - jlong lValue, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - - if (RC_BAD( rc = pThisNode->setAttributeValueINT64( pDb, (FLMUINT)iAttrNameId, - (FLMINT64)lValue, (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - } -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setString( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jstring sValue, - jboolean bLast, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - jchar * pszValue = NULL; - FLMUINT uiLength = 0; - - if (sValue) - { - pszValue = (jchar *)pEnv->GetStringCritical( sValue, NULL); - uiLength = (FLMUINT)pEnv->GetStringLength( sValue); - } - - if (RC_BAD( rc = pThisNode->setUnicode( pDb, pszValue, uiLength, - bLast ? TRUE : FALSE, (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - if (pszValue) - { - pEnv->ReleaseStringCritical( sValue, pszValue); - } -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueString( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId, - jstring sValue, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMBYTE ucValue [256]; - F_DynaBuf valueBuf( ucValue, sizeof( ucValue)); - - if (RC_BAD( rc = getUTF8String( pEnv, sValue, &valueBuf))) - { - ThrowError( rc, pEnv); - goto Exit; - } - - if (RC_BAD( rc = pThisNode->setAttributeValueUTF8( pDb, (FLMUINT)iAttrNameId, - (const FLMBYTE *)valueBuf.getBufferPtr(), 0, (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return; -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setBinary( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jbyteArray Value, - jboolean bLast, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiLength = pEnv->GetArrayLength( Value); - void * pvValue = NULL; - jboolean bIsCopy = JNI_FALSE; - - if( (pvValue = pEnv->GetPrimitiveArrayCritical( Value, &bIsCopy)) == NULL) - { - rc = RC_SET( NE_XFLM_MEM); - ThrowError( rc, pEnv); - goto Exit; - } - - if( RC_BAD( rc = pThisNode->setBinary(pDb, pvValue, uiLength, - bLast ? TRUE : FALSE, - (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - if (pvValue) - { - pEnv->ReleasePrimitiveArrayCritical( Value, pvValue, JNI_ABORT); - } -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueBinary( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef, - jint iAttrNameId, - jbyteArray Value, - jint iEncId) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMUINT uiLength = pEnv->GetArrayLength( Value); - void * pvValue = NULL; - jboolean bIsCopy = JNI_FALSE; - - if( (pvValue = pEnv->GetPrimitiveArrayCritical( Value, &bIsCopy)) == NULL) - { - rc = RC_SET( NE_XFLM_MEM); - ThrowError( rc, pEnv); - goto Exit; - } - - if( RC_BAD( rc = pThisNode->setAttributeValueBinary(pDb, (FLMUINT)iAttrNameId, - pvValue, uiLength, (FLMUINT)iEncId))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - if (pvValue) - { - pEnv->ReleasePrimitiveArrayCritical( Value, pvValue, JNI_ABORT); - } -} - -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1release( - JNIEnv *, // pEnv, - jobject, // obj, - jlong lThis) -{ - IF_DOMNode * pNode = THIS_NODE(); - - if( pNode) - { - pNode->Release(); - } -} - /**************************************************************************** Desc: ****************************************************************************/ @@ -2088,28 +2142,3 @@ Exit: return; } -/**************************************************************************** -Desc: -****************************************************************************/ -JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1isDataLocalToNode( - JNIEnv * pEnv, - jobject, // obj, - jlong lThis, - jlong lDbRef) -{ - RCODE rc = NE_XFLM_OK; - IF_DOMNode * pThisNode = THIS_NODE(); - IF_Db * pDb = (IF_Db *)((FLMUINT)lDbRef); - FLMBOOL bLocal = FALSE; - - if (RC_BAD( rc = pThisNode->isDataLocalToNode( pDb, &bLocal))) - { - ThrowError( rc, pEnv); - goto Exit; - } - -Exit: - - return( bLocal ? JNI_TRUE : JNI_FALSE); -} - diff --git a/xflaim/java/jni/xflaim_DOMNode.h b/xflaim/java/jni/xflaim_DOMNode.h index 1f51049..b18f023 100644 --- a/xflaim/java/jni/xflaim_DOMNode.h +++ b/xflaim/java/jni/xflaim_DOMNode.h @@ -7,6 +7,14 @@ #ifdef __cplusplus extern "C" { #endif +/* + * Class: xflaim_DOMNode + * Method: _release + * Signature: (J)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1release + (JNIEnv *, jobject, jlong); + /* * Class: xflaim_DOMNode * Method: _createNode @@ -49,11 +57,11 @@ JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNodeType /* * Class: xflaim_DOMNode - * Method: _canHaveData - * Signature: (J)Z + * Method: _isDataLocalToNode + * Signature: (JJ)Z */ -JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1canHaveData - (JNIEnv *, jobject, jlong); +JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1isDataLocalToNode + (JNIEnv *, jobject, jlong, jlong); /* * Class: xflaim_DOMNode @@ -111,14 +119,6 @@ JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasAttribute JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasAttributes (JNIEnv *, jobject, jlong, jlong); -/* - * Class: xflaim_DOMNode - * Method: _hasChildren - * Signature: (JJ)Z - */ -JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasChildren - (JNIEnv *, jobject, jlong, jlong); - /* * Class: xflaim_DOMNode * Method: _hasNextSibling @@ -135,6 +135,14 @@ JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasNextSibling JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasPreviousSibling (JNIEnv *, jobject, jlong, jlong); +/* + * Class: xflaim_DOMNode + * Method: _hasChildren + * Signature: (JJ)Z + */ +JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasChildren + (JNIEnv *, jobject, jlong, jlong); + /* * Class: xflaim_DOMNode * Method: _isNamespaceDecl @@ -143,6 +151,190 @@ JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasPreviousSibling JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1isNamespaceDecl (JNIEnv *, jobject, jlong, jlong); +/* + * Class: xflaim_DOMNode + * Method: _getParentId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getParentId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getNodeId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNodeId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getDocumentId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDocumentId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getPrevSibId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getPrevSibId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getNextSibId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNextSibId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getFirstChildId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getFirstChildId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getLastChildId + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastChildId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getNameId + * Signature: (JJ)I + */ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNameId + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _setLong + * Signature: (JJJI)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setLong + (JNIEnv *, jobject, jlong, jlong, jlong, jint); + +/* + * Class: xflaim_DOMNode + * Method: _setAttributeValueLong + * Signature: (JJIJI)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueLong + (JNIEnv *, jobject, jlong, jlong, jint, jlong, jint); + +/* + * Class: xflaim_DOMNode + * Method: _setString + * Signature: (JJLjava/lang/String;ZI)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setString + (JNIEnv *, jobject, jlong, jlong, jstring, jboolean, jint); + +/* + * Class: xflaim_DOMNode + * Method: _setAttributeValueString + * Signature: (JJILjava/lang/String;I)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueString + (JNIEnv *, jobject, jlong, jlong, jint, jstring, jint); + +/* + * Class: xflaim_DOMNode + * Method: _setBinary + * Signature: (JJ[BZI)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setBinary + (JNIEnv *, jobject, jlong, jlong, jbyteArray, jboolean, jint); + +/* + * Class: xflaim_DOMNode + * Method: _setAttributeValueBinary + * Signature: (JJI[BI)V + */ +JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueBinary + (JNIEnv *, jobject, jlong, jlong, jint, jbyteArray, jint); + +/* + * Class: xflaim_DOMNode + * Method: _getDataLength + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDataLength + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getDataType + * Signature: (JJ)I + */ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getDataType + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getLong + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLong + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getAttributeValueLong + * Signature: (JJIZJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAttributeValueLong + (JNIEnv *, jobject, jlong, jlong, jint, jboolean, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getString + * Signature: (JJII)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getString + (JNIEnv *, jobject, jlong, jlong, jint, jint); + +/* + * Class: xflaim_DOMNode + * Method: _getAttributeValueString + * Signature: (JJI)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getAttributeValueString + (JNIEnv *, jobject, jlong, jlong, jint); + +/* + * Class: xflaim_DOMNode + * Method: _getStringLen + * Signature: (JJ)I + */ +JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getStringLen + (JNIEnv *, jobject, jlong, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getBinary + * Signature: (JJII)[B + */ +JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getBinary + (JNIEnv *, jobject, jlong, jlong, jint, jint); + +/* + * Class: xflaim_DOMNode + * Method: _getAttributeValueBinary + * Signature: (JJI)[B + */ +JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getAttributeValueBinary + (JNIEnv *, jobject, jlong, jlong, jint); + /* * Class: xflaim_DOMNode * Method: _getDocumentNode @@ -183,6 +375,38 @@ JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastChild JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChild (JNIEnv *, jobject, jlong, jlong, jint, jlong); +/* + * Class: xflaim_DOMNode + * Method: _getChildElement + * Signature: (JJIJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChildElement + (JNIEnv *, jobject, jlong, jlong, jint, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getSiblingElement + * Signature: (JJIZJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getSiblingElement + (JNIEnv *, jobject, jlong, jlong, jint, jboolean, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getAncestorElement + * Signature: (JJIJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAncestorElement + (JNIEnv *, jobject, jlong, jlong, jint, jlong); + +/* + * Class: xflaim_DOMNode + * Method: _getDescendantElement + * Signature: (JJIJ)J + */ +JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDescendantElement + (JNIEnv *, jobject, jlong, jlong, jint, jlong); + /* * Class: xflaim_DOMNode * Method: _getPreviousSibling @@ -255,118 +479,6 @@ JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setPrefix JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setPrefixId (JNIEnv *, jobject, jlong, jlong, jint); -/* - * Class: xflaim_DOMNode - * Method: _getChildElement - * Signature: (JJIJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getChildElement - (JNIEnv *, jobject, jlong, jlong, jint, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getSiblingElement - * Signature: (JJIZJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getSiblingElement - (JNIEnv *, jobject, jlong, jlong, jint, jboolean, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getAncestorElement - * Signature: (JJIJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAncestorElement - (JNIEnv *, jobject, jlong, jlong, jint, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getDescendantElement - * Signature: (JJIJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDescendantElement - (JNIEnv *, jobject, jlong, jlong, jint, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getParentId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getParentId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getNodeId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNodeId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getDocumentId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDocumentId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getPrevSibId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getPrevSibId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getNextSibId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getNextSibId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getFirstChildId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getFirstChildId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getLastChildId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastChildId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getFirstAttrId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getFirstAttrId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getLastAttrId - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLastAttrId - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getNameId - * Signature: (JJ)I - */ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getNameId - (JNIEnv *, jobject, jlong, jlong); - /* * Class: xflaim_DOMNode * Method: _getNamespaceURI @@ -399,126 +511,6 @@ JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getQualifiedName JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getCollection (JNIEnv *, jobject, jlong, jlong); -/* - * Class: xflaim_DOMNode - * Method: _getLong - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getLong - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getAttributeValueLong - * Signature: (JJIZJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAttributeValueLong - (JNIEnv *, jobject, jlong, jlong, jint, jboolean, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getString - * Signature: (JJII)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getString - (JNIEnv *, jobject, jlong, jlong, jint, jint); - -/* - * Class: xflaim_DOMNode - * Method: _getAttributeValueString - * Signature: (JJI)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_xflaim_DOMNode__1getAttributeValueString - (JNIEnv *, jobject, jlong, jlong, jint); - -/* - * Class: xflaim_DOMNode - * Method: _getStringLen - * Signature: (JJ)I - */ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getStringLen - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getDataType - * Signature: (JJ)I - */ -JNIEXPORT jint JNICALL Java_xflaim_DOMNode__1getDataType - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getDataLength - * Signature: (JJ)J - */ -JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getDataLength - (JNIEnv *, jobject, jlong, jlong); - -/* - * Class: xflaim_DOMNode - * Method: _getBinary - * Signature: (JJII)[B - */ -JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getBinary - (JNIEnv *, jobject, jlong, jlong, jint, jint); - -/* - * Class: xflaim_DOMNode - * Method: _getAttributeValueBinary - * Signature: (JJI)[B - */ -JNIEXPORT jbyteArray JNICALL Java_xflaim_DOMNode__1getAttributeValueBinary - (JNIEnv *, jobject, jlong, jlong, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setLong - * Signature: (JJJI)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setLong - (JNIEnv *, jobject, jlong, jlong, jlong, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setAttributeValueLong - * Signature: (JJIJI)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueLong - (JNIEnv *, jobject, jlong, jlong, jint, jlong, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setString - * Signature: (JJLjava/lang/String;ZI)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setString - (JNIEnv *, jobject, jlong, jlong, jstring, jboolean, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setAttributeValueString - * Signature: (JJILjava/lang/String;I)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueString - (JNIEnv *, jobject, jlong, jlong, jint, jstring, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setBinary - * Signature: (JJ[BZI)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setBinary - (JNIEnv *, jobject, jlong, jlong, jbyteArray, jboolean, jint); - -/* - * Class: xflaim_DOMNode - * Method: _setAttributeValueBinary - * Signature: (JJI[BI)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setAttributeValueBinary - (JNIEnv *, jobject, jlong, jlong, jint, jbyteArray, jint); - /* * Class: xflaim_DOMNode * Method: _createAnnotation @@ -551,22 +543,6 @@ JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getAnnotationId JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1hasAnnotation (JNIEnv *, jobject, jlong, jlong); -/* - * Class: xflaim_DOMNode - * Method: _release - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode__1release - (JNIEnv *, jobject, jlong); - -/* - * Class: xflaim_DOMNode - * Method: setPrefix - * Signature: (JJLjava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_xflaim_DOMNode_setPrefix - (JNIEnv *, jobject, jlong, jlong, jstring); - /* * Class: xflaim_DOMNode * Method: _getMetaValue @@ -583,14 +559,6 @@ JNIEXPORT jlong JNICALL Java_xflaim_DOMNode__1getMetaValue JNIEXPORT void JNICALL Java_xflaim_DOMNode__1setMetaValue (JNIEnv *, jobject, jlong, jlong, jlong); -/* - * Class: xflaim_DOMNode - * Method: _isDataLocalToNode - * Signature: (JJ)Z - */ -JNIEXPORT jboolean JNICALL Java_xflaim_DOMNode__1isDataLocalToNode - (JNIEnv *, jobject, jlong, jlong); - #ifdef __cplusplus } #endif diff --git a/xflaim/java/xflaim/DOMNode.java b/xflaim/java/xflaim/DOMNode.java index 1691026..766289a 100644 --- a/xflaim/java/xflaim/DOMNode.java +++ b/xflaim/java/xflaim/DOMNode.java @@ -225,29 +225,20 @@ public class DOMNode } /** - * Checks the type of node. Returned value will be one of those listed in + * Returns the type of node. Returned value will be one of those listed in * {@link xflaim.FlmDomNodeType FlmDomNodeType}. * @return Returns the type of the current node. */ - public int getNodeType() + public int getNodeType() throws XFlaimException { return _getNodeType( m_this); } /** - * Tests the current node for the ability to hold data. - * @return Returns true if this is a node type that can have data - * associated with it. - */ - public boolean canHaveData() - { - return _canHaveData( m_this); - } - - /** - * Tests the current node for the ability to hold data. - * @return Returns true if this is a node type that can have data - * associated with it. + * Determine if data for the current node is associated with the node, or + * with a child node. Element nodes may not have data associated with them, + * but with child data nodes instead. + * @return Returns true if this node's data is associated with it. */ public boolean isDataLocalToNode() throws XFlaimException { @@ -571,26 +562,6 @@ public class DOMNode return _getLastChildId( m_this, m_jdb.m_this); } - /** - * Retrieves the node ID for this node's first attribute. - * @return Returns the first attribute node's node ID. - * @throws XFlaimException - */ - public long getFirstAttrId() throws XFlaimException - { - return _getFirstAttrId( m_this, m_jdb.m_this); - } - - /** - * Retrieves the node ID for this node's last attribute - * @return Returns the last attribute node's node ID. - * @throws XFlaimException - */ - public long getLastAttrId() throws XFlaimException - { - return _getLastAttrId( m_this, m_jdb.m_this); - } - /** * Retrieves this node's name ID. * @return Returns the name ID for this node. @@ -1168,7 +1139,7 @@ public class DOMNode * @throws XFlaimException */ public DOMNode getChild( - int eNodeType, + int iNodeType, DOMNode ReusedNode) throws XFlaimException { long lNewNodeRef = 0; @@ -1183,7 +1154,7 @@ public class DOMNode synchronized( m_jdb) { lNewNodeRef = _getChild( m_this, m_jdb.m_this, - eNodeType, lReusedNodeRef); + iNodeType, lReusedNodeRef); } if (ReusedNode == null) @@ -1735,11 +1706,21 @@ public class DOMNode return _hasAnnotation( m_this, m_jdb.m_this); } + /** + * Returns the meta-value for the node. + * @return Returns meta-value for the node. + * @throws XFlaimException + */ public long getMetaValue() throws XFlaimException { return( _getMetaValue( m_this, m_jdb.m_this)); } + /** + * Set the meta-value for the node. + * @param lValue Meta-value to set. + * @throws XFlaimException + */ public void setMetaValue( long lValue) throws XFlaimException { @@ -1760,7 +1741,7 @@ public class DOMNode */ void setRef( long lDomNodeRef, - Db jdb) + Db jdb) { m_this = lDomNodeRef; m_jdb = jdb; @@ -1776,7 +1757,12 @@ public class DOMNode return m_jdb; } - private native long _createNode( +// PRIVATE NATIVE METHODS + + private native void _release( + long lThis); + + private native long _createNode( long lThis, long lDbRef, int iNodeType, @@ -1800,11 +1786,12 @@ public class DOMNode long lDbRef) throws XFlaimException; private native int _getNodeType( - long lThis); + long lThis) throws XFlaimException; + + private native boolean _isDataLocalToNode( + long lThis, + long lDbRef) throws XFlaimException; - private native boolean _canHaveData( - long lThis); - private native long _createAttribute( long lThis, long lDbRef, @@ -1841,10 +1828,6 @@ public class DOMNode long lThis, long lDbRef) throws XFlaimException; - private native boolean _hasChildren( - long lThis, - long lDbRef) throws XFlaimException; - private native boolean _hasNextSibling( long lThis, long lDbRef) throws XFlaimException; @@ -1853,105 +1836,14 @@ public class DOMNode long lThis, long lDbRef) throws XFlaimException; + private native boolean _hasChildren( + long lThis, + long lDbRef) throws XFlaimException; + private native boolean _isNamespaceDecl( long lThis, long lDbRef) throws XFlaimException; - private native long _getDocumentNode( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getParentNode( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getFirstChild( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getLastChild( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getChild( - long lThis, - long lDbRef, - int iNodeType, - long lReusedNodeRef) throws XFlaimException; - - private native long _getPreviousSibling( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getNextSibling - ( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getPreviousDocument - ( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native long _getNextDocument( - long lThis, - long lDbRef, - long lReusedNodeRef) throws XFlaimException; - - private native String _getPrefix( - long lThis, - long lDbRef) throws XFlaimException; - - private native int _getPrefixId( - long lThis, - long lDbRef) throws XFlaimException; - - private native int _getEncDefId( - long lThis, - long lDbRef) throws XFlaimException; - - private native void _setPrefix( - long lThis, - long lDbRef, - String sPrefix) throws XFlaimException; - - private native void _setPrefixId( - long lThis, - long lDbRef, - int iPrefixId) throws XFlaimException; - - private native long _getChildElement( - long lThis, - long lDbRef, - int iNameId, - long lReusedNodeRef) throws XFlaimException; - - private native long _getSiblingElement( - long lThis, - long lDbRef, - int iNameId, - boolean bNext, - long lReusedNodeRef) throws XFlaimException; - - private native long _getAncestorElement( - long lThis, - long lDbRef, - int iNameId, - long lReusedNodeRef) throws XFlaimException; - - private native long _getDescendantElement( - long lThis, - long lDbRef, - int iNameId, - long lReusedNodeRef) throws XFlaimException; - private native long _getParentId( long lThis, long lDbRef) throws XFlaimException; @@ -1980,79 +1872,10 @@ public class DOMNode long lThis, long lDbRef) throws XFlaimException; - private native long _getFirstAttrId( - long lThis, - long lDbRef) throws XFlaimException; - - private native long _getLastAttrId( - long lThis, - long lDbRef) throws XFlaimException; - private native int _getNameId( long lThis, long lDbRef) throws XFlaimException; - private native String _getNamespaceURI( - long lThis, - long lDbRef) throws XFlaimException; - - private native String _getLocalName( - long lThis, - long lDbRef) throws XFlaimException; - - private native String _getQualifiedName( - long lThis, - long lDbRef) throws XFlaimException; - - private native int _getCollection( - long lThis, - long lDbRef) throws XFlaimException; - - private native long _getLong( - long lThis, - long lDbRef) throws XFlaimException; - - private native long _getAttributeValueLong( - long lThis, - long lDbRef, - int iAttrNameId, - boolean bDefaultOk, - long lDefaultToUse) throws XFlaimException; - - private native String _getString( - long lThis, - long lDbRef, - int iStartPos, - int iNumChars) throws XFlaimException; - - private native String _getAttributeValueString( - long lThis, - long lDbRef, - int iAttrNameId) throws XFlaimException; - - private native int _getStringLen( - long lThis, - long lDbRef) throws XFlaimException; - - private native int _getDataType( - long lThis, - long lDbRef) throws XFlaimException; - - private native long _getDataLength( - long lThis, - long lDbRef) throws XFlaimException; - - private native byte[] _getBinary( - long lThis, - long lDbRef, - int iStartPos, - int iNumBytes) throws XFlaimException; - - private native byte[] _getAttributeValueBinary( - long lThis, - long lDbRef, - int iAttrNameId) throws XFlaimException; - private native void _setLong( long lThis, long lDbRef, @@ -2094,6 +1917,160 @@ public class DOMNode byte[] Value, int iEncId) throws XFlaimException; + private native long _getDataLength( + long lThis, + long lDbRef) throws XFlaimException; + + private native int _getDataType( + long lThis, + long lDbRef) throws XFlaimException; + + private native long _getLong( + long lThis, + long lDbRef) throws XFlaimException; + + private native long _getAttributeValueLong( + long lThis, + long lDbRef, + int iAttrNameId, + boolean bDefaultOk, + long lDefaultToUse) throws XFlaimException; + + private native String _getString( + long lThis, + long lDbRef, + int iStartPos, + int iNumChars) throws XFlaimException; + + private native String _getAttributeValueString( + long lThis, + long lDbRef, + int iAttrNameId) throws XFlaimException; + + private native int _getStringLen( + long lThis, + long lDbRef) throws XFlaimException; + + private native byte[] _getBinary( + long lThis, + long lDbRef, + int iStartPos, + int iNumBytes) throws XFlaimException; + + private native byte[] _getAttributeValueBinary( + long lThis, + long lDbRef, + int iAttrNameId) throws XFlaimException; + + private native long _getDocumentNode( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getParentNode( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getFirstChild( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getLastChild( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getChild( + long lThis, + long lDbRef, + int iNodeType, + long lReusedNodeRef) throws XFlaimException; + + private native long _getChildElement( + long lThis, + long lDbRef, + int iNameId, + long lReusedNodeRef) throws XFlaimException; + + private native long _getSiblingElement( + long lThis, + long lDbRef, + int iNameId, + boolean bNext, + long lReusedNodeRef) throws XFlaimException; + + private native long _getAncestorElement( + long lThis, + long lDbRef, + int iNameId, + long lReusedNodeRef) throws XFlaimException; + + private native long _getDescendantElement( + long lThis, + long lDbRef, + int iNameId, + long lReusedNodeRef) throws XFlaimException; + + private native long _getPreviousSibling( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getNextSibling( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getPreviousDocument( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native long _getNextDocument( + long lThis, + long lDbRef, + long lReusedNodeRef) throws XFlaimException; + + private native String _getPrefix( + long lThis, + long lDbRef) throws XFlaimException; + + private native int _getPrefixId( + long lThis, + long lDbRef) throws XFlaimException; + + private native int _getEncDefId( + long lThis, + long lDbRef) throws XFlaimException; + + private native void _setPrefix( + long lThis, + long lDbRef, + String sPrefix) throws XFlaimException; + + private native void _setPrefixId( + long lThis, + long lDbRef, + int iPrefixId) throws XFlaimException; + + private native String _getNamespaceURI( + long lThis, + long lDbRef) throws XFlaimException; + + private native String _getLocalName( + long lThis, + long lDbRef) throws XFlaimException; + + private native String _getQualifiedName( + long lThis, + long lDbRef) throws XFlaimException; + + private native int _getCollection( + long lThis, + long lDbRef) throws XFlaimException; + private native long _createAnnotation( long lThis, long lDbRef, @@ -2112,14 +2089,6 @@ public class DOMNode long lThis, long lDbRef) throws XFlaimException; - private native void _release( - long lThis); - - private native void setPrefix( - long lThis, - long lDbRef, - String sPrefix) throws XFlaimException; - private native long _getMetaValue( long lThis, long lDbRef) throws XFlaimException; @@ -2129,10 +2098,6 @@ public class DOMNode long lDbRef, long lValue) throws XFlaimException; - private native boolean _isDataLocalToNode( - long lThis, - long lDbRef) throws XFlaimException; - private long m_this; private Db m_jdb; }