Namespace: OpenEdge.DataAdmin.Binding
Type: Class PartitionPolicyFieldContext
Parent Classes:
Inherits: OpenEdge.DataAdmin.Binding.DataAdminContext
Implements: OpenEdge.DataAdmin.Binding.IDataAdminContext


/* Copyright (c) 2014 by progress Software Corporation
/*
/* all rights reserved. no part of this program or document
/* may be reproduced in any form or by any means without
/* permission in writing from progress Software Corporation.
Author(s):hdaniels
Created:Jul 2013



Method Summary
  Options Name Purpose
  LOGICAL CanFind (character)
  LOGICAL CanFind (character, character, character)
  LOGICAL CanFind (character, integer)
  LOGICAL CanFind (integer)
  CopyTable (IDataAdminModel)
  CopyTable (table) /* As of current the numbers are copied and will give error if already exists - @todo a more correct way would be to not copy numbers and increment them instead, but this would need to be handled per policy (the use case may be rare though) */
  OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext)
  OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)
  CreateRow (character, character, character, integer, character)
  CreateRow (character, integer, IField)
  CreateRow (IDataAdminElement) /* currently this will always throw error */
  CreateRow (IField)
  CreateRow (IPartitionPolicyField)
  CreateRowForParent (IRow, IDataAdminElement)
  CreateRowForParent (IRow, IField) /* As of current this is "base" method for all CreateRowForParent (IRow,) overloads */
  CreateRowForParent (IRow, IPartitionPolicyField)
  LOGICAL Delete (character, character, character)
  LOGICAL Delete (character, integer)
  Fetch (character)
  CHARACTER FetchField (character, integer, character)
  INTEGER FetchFieldNumber (character, character, character)
  LOGICAL Find (character)
  LOGICAL Find (character, character, character)
  LOGICAL Find (character, integer)
  LOGICAL Find (integer)
  CHARACTER FindExpression (integer)
  CHARACTER GetCreateError (IField)
  CHARACTER GetCreateError (IPartitionPolicyField)
  CHARACTER GetFieldNames (character)
  CHARACTER GetJoinFields (character)
  Progress.Lang.Error GetSizeError (character)
  Progress.Lang.Error GetSizeError (character, character)
  InitRow () /* override - unsupported in super */
  InitRow (character)
  InitRow (integer)
  ReadRowForParent (IRow, JSONObject) /* override to add TableName not in foreign value */
  RefreshTable (table) /** DataRefreshed from server cannot use copy-temp-table since the primary index is on areanumber */
  Resequence (character, integer)
  UpdatePartitionPolicyName (character, character)
  ValidateBuffer (handle)
  ValidateSize (integer, character) /** checked in data access, seems safer in case this is moved to a client method private void ValidatePath(piKey as int,pnewvalue as char). if pnewvalue <> "" then do: file-info:file-name = pnewvalue. if substring(file-info:file-type,1,1) <> "D" then undo, throw new InvalidPropertyValueError(Name,string(pikey),"Path",pnewvalue). end. if pNewValue = "" then undo, throw new ValidationError("PartitionPolicyField",string(pikey),"Path","cannot be blank. Specify a valid directory name or use period to specify the current directory"). end method. */

Constructor Summary
  Options Name Purpose
  PartitionPolicyFieldContext ()
  PartitionPolicyFieldContext (ISchemaScope)

Property Summary
  Options Name Purpose
  INTEGER Count
  CHARACTER KeyFields
  HANDLE TableHandle


Method Detail
Top

LOGICAL CanFind (character)

Parameters:
c CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL CanFind (character, character, character)

Parameters:
PartitionPolicyName CHARACTER
 
Tablename CHARACTER
 
FieldName CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL CanFind (character, integer)

Parameters:
pPartitionPolicyName CHARACTER
 
iseq INTEGER
 
Returns LOGICAL
 
Top

LOGICAL CanFind (integer)

Parameters:
id INTEGER
 
Returns LOGICAL
 
Top

CopyTable (IDataAdminModel)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CopyTable (table)

/* As of current the numbers are copied and will give error if already exists
- @todo a more correct way would be to not copy numbers and increment them instead,
but this would need to be handled per policy (the use case may be rare though)
Parameters:
copyTable TABLE
 
Top

OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)

Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRow (character, character, character, integer, character)

Parameters:
ppolicydetailname CHARACTER
 
pTable CHARACTER
 
pfieldname CHARACTER
 
piNum INTEGER
 
pDatatype CHARACTER
 
Top

CreateRow (character, integer, IField)

Parameters:
pcParent CHARACTER
 
pinum INTEGER
 
pField OpenEdge.DataAdmin.IField
 
Top

CreateRow (IDataAdminElement)

/* currently this will always throw error
Parameters:
entity OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRow (IField)

Parameters:
pfield OpenEdge.DataAdmin.IField
 
Top

CreateRow (IPartitionPolicyField)

Parameters:
policyField OpenEdge.DataAdmin.IPartitionPolicyField
 
Top

CreateRowForParent (IRow, IDataAdminElement)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pentity OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRowForParent (IRow, IField)

/* As of current this is "base" method for all CreateRowForParent (IRow,) overloads
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pField OpenEdge.DataAdmin.IField
 
Top

CreateRowForParent (IRow, IPartitionPolicyField)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pPolicyField OpenEdge.DataAdmin.IPartitionPolicyField
 
Top

LOGICAL Delete (character, character, character)

Parameters:
pPartitionPolicyName CHARACTER
 
pTablename CHARACTER
 
pFieldName CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Delete (character, integer)

Parameters:
pPartitionPolicyName CHARACTER
 
iseq INTEGER
 
Returns LOGICAL
 
Top

Fetch (character)

Parameters:
pPartitionPolicyName CHARACTER
 
Top

CHARACTER FetchField (character, integer, character)

Parameters:
pPartitionPolicyName CHARACTER
 
iseq INTEGER
 
pcfield CHARACTER
 
Returns CHARACTER
 
Top

INTEGER FetchFieldNumber (character, character, character)

Parameters:
pPartitionPolicyName CHARACTER
 
pcTablename CHARACTER
 
pcfieldname CHARACTER
 
Returns INTEGER
 
Top

LOGICAL Find (character)

Parameters:
name CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Find (character, character, character)

Parameters:
pPartitionPolicyName CHARACTER
 
pTablename CHARACTER
 
pFieldName CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Find (character, integer)

Parameters:
pPartitionPolicyName CHARACTER
 
iseq INTEGER
 
Returns LOGICAL
 
Top

LOGICAL Find (integer)

Parameters:
id INTEGER
 
Returns LOGICAL
 
Top

CHARACTER FindExpression (integer)

Parameters:
i INTEGER
 
Returns CHARACTER
 
Top

CHARACTER GetCreateError (IField)

Parameters:
newField OpenEdge.DataAdmin.IField
 
Returns CHARACTER
 
Top

CHARACTER GetCreateError (IPartitionPolicyField)

Parameters:
newField OpenEdge.DataAdmin.IPartitionPolicyField
 
Returns CHARACTER
 
Top

CHARACTER GetFieldNames (character)

Parameters:
pcPolicy CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetJoinFields (character)

Parameters:
parentid CHARACTER
 
Returns CHARACTER
 
Top

Progress.Lang.Error GetSizeError (character)

Parameters:
pmsg CHARACTER
 
Returns Progress.Lang.Error
 
Top

Progress.Lang.Error GetSizeError (character, character)

Parameters:
pcdetail CHARACTER
 
pcfield CHARACTER
 
Returns Progress.Lang.Error
 
Top

InitRow ()

/* override - unsupported in super
Top

InitRow (character)

Parameters:
pname CHARACTER
 
Top

InitRow (integer)

Parameters:
pid INTEGER
 
Top

ReadRowForParent (IRow, JSONObject)

/* override to add TableName not in foreign value
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
json Progress.Json.ObjectModel.JsonObject
 
Top

RefreshTable (table)

Purpose: DataRefreshed from server cannot use copy-temp-table since the primary index
is on areanumber
Parameters:
ttPartitionpolicy TABLE
 
Top

Resequence (character, integer)

Parameters:
pPolicy CHARACTER
 
idel INTEGER
 
Top

UpdatePartitionPolicyName (character, character)

Parameters:
pcOldname CHARACTER
 
pcNewname CHARACTER
 
Top

ValidateBuffer (handle)

Parameters:
phDetail HANDLE
 
Top

ValidateSize (integer, character)

Purpose: checked in data access, seems safer in case this is moved to a client
method private void ValidatePath(piKey as int,pnewvalue as char).
if pnewvalue <> "" then
do:
file-info:file-name file-name = pnewvalue.
if substring(file-info:file-type,1,1) <> "D" then
undo, throw new InvalidPropertyValueError(Name,string(pikey),"Path",pnewvalue).
end.
if pNewValue = "" then
undo, throw new ValidationError("PartitionPolicyField",string(pikey),"Path","cannot be blank. Specify a valid directory name or use period to specify the current directory").
end method.
Parameters:
piKey INTEGER
 
pnewvalue CHARACTER
 


Constructor Detail
Top

PartitionPolicyFieldContext ()

Top

PartitionPolicyFieldContext (ISchemaScope)

Parameters:
pscope OpenEdge.DataAdmin.Binding.Factory.ISchemaScope
 


Property Detail
Top

INTEGER Count

Returns INTEGER
 
Top

CHARACTER KeyFields

Returns CHARACTER
 
Top

HANDLE TableHandle

Returns HANDLE