Namespace: OpenEdge.Core
Type: Class String
Parent Classes:
Progress.Lang.Object

Inherits: Progress.Lang.Object
Implements: Ccs.Common.Support.ILongcharHolder, OpenEdge.Core.ISupportEncoding


Copyright (c) 2013-2020, 2022 by Progress Software Corporation. All rights reserved.
File:String
Purpose:Primitive class for character/longchar variables
Author(s):pjudge
Created:Tue Aug 11 13:08:46 EDT 2009
Notes:* Named 'String' because of keyword/namespace conflicts with
ABL Primitive 'character'. There's no built-in class for this.
primitive value means that we don't have to distinguish between
primitives and types, which makes the code more readable.
we can optimise for String objects by looking at the private
variable value; for ILongcharHolder we need to get the Value
property value.
/* Don't have a USING for this class, so that we can avoid conflicts with the STRING() ABL keyword/function
using OpenEdge.Core.String.



Method Summary
  Options Name Purpose
  Append (longchar) /* Adds the input string to the end of the current string. No validation (for unknowns in particular) is done on either string value. @param longchar A value to append */
  Append (String) /* Adds the input string to the end of the current string. No validation (for unknowns in particular) is done on either string value. @param OpenEdge.Core.String A value to append */
  INTEGER CompareTo (ILongcharHolder) /* Comparison method, used by SortedSet's default comparer. This method uses the Value property to compare. - If the returned value is less than 0 (zero), then the current object sorts before the object passed in. - If the returned value equals 0 (zero) , then the current object occupies the same position in the sort order. - If the returned value is greater than 0(zero), then the current object sorts after the object passed in. - If either object's Value is the unknown value (?), then that sorts high/early/before @param ILongcharHolder The object to compare to. @return integer 0 = same object +1 = sorts after -1 = sorts before */
  INTEGER CompareTo (String) /* Comparison method, used by SortedSet's default comparer. Due to the ABL's "class private" rules, instances of String can read each others private variables/properties, which avoied the Value property getter work. - If the returned value is less than 0 (zero), then the current object sorts before the object passed in. - If the returned value equals 0 (zero) , then the current object occupies the same position in the sort order. - If the returned value is greater than 0(zero), then the current object sorts after the object passed in. - If either object's Value is the unknown value (?), then that sorts high/early/before @param OpenEdge.Core.String The object to compare to. @return integer 0 = same object +1 = sorts after -1 = sorts before */
  OpenEdge.Core.String Empty () /* Returns a single/the same empty/non-null String object. @return OpenEdge.Core.String An empty string */
  LOGICAL Equals (Object)
  LOGICAL IsNullOrEmpty ()
  LOGICAL IsNullOrEmpty (longchar) /* Indicates whether a string is null or empty: empty having no non-whitespace characters @param longchar The value being checked @return logical TRUE if the string is null or empty */
  LOGICAL IsQuoted (longchar) /* Indicates whether the string is quoted with either double (") or single (') quotes. The first AND last characters must be the same and must either the quote character @param longchar A string to check @return logical TRUE if the string is non-null and has matching leading and trailing quotes. */
  LOGICAL IsQuoted (longchar, character) /* Indicates whether the string is quoted with the quote character , The first AND last characters must be the same and be the quote character @param longchar A string to check @param character The quote character @return logical TRUE if the string is non-null and has matching leading and trailing quotes. */
  OpenEdge.Core.String Join (Array, character) /** Joins an array's contents into a delimited string @param Array An array object containing of OpenEdge.Core.String objects @param character The delimiter used to join them @return OpenEdge.Core.String A single, delimited string object */
  LONGCHAR Join (character[], character) /** Joins an array's contents into a delimited string @param character[] An array of character values to join @param character The delimiter used to join them @return longchar A single, delimited string */
  OpenEdge.Core.String Join (String[], character) /** Joins an array's contents into a delimited string @param OpenEdge.Core.String[] An array of OpenEdge.Core.String objects to join @param character The delimiter used to join them @return OpenEdge.Core.String A single, delimited string object */
  Prepend (longchar) /* Adds the input string to the beginning of the current string. No validation (for unknowns in particular) is done on either string value. @param longchar A value to prepend */
  Prepend (String) /* Adds the input string to the beginning of the current string. No validation (for unknowns in particular) is done on either string value. @param OpenEdge.Core.String A value to prepend */
  OpenEdge.Core.Collections.Array Split () /** Splits the value of this string into an array based on a default delimiter @return Array An array object of strings */
  OpenEdge.Core.Collections.Array Split (character) /** Splits the value of this string into an array based on a specified delimiter @param character A delimter used to split the string @return Array An array object of strings */
  CHARACTER Split (longchar) /** Splits the value of this string into an array using a default delmiter @param longchar A value to split @return character[] An array of strings */
  CHARACTER Split (longchar, character) /** Splits the value of this string into an array using a specified delimiter. If the delimiter does not appear in the string, and the string is not unknown, then the array has an extent of 1 and contains the string. @param longchar A value to split @param character A delimter used to split the string @return character[] An array of strings */
  OpenEdge.Core.Collections.Array Split (String) /** Splits the value of this string into an array using a default delmiter @param OpenEdge.Core.String A value to split @return Array An array object of strings */
  OpenEdge.Core.Collections.Array Split (String, character) /** Splits the value of this string into an array using a specified delmiter If the delimiter does not appear in the string, and the string is not unknown, then the array has an extent of 1 and contains the string. @param OpenEdge.Core.String A value to split @param character A delimter used to split the string @return Array An array object of strings */
  CHARACTER ToString () /** Returns a string value for this object @return character A string representation of this object. May be truncated. */
  Trim () /** Trims whitespace off the contained string */
  Trim (character) /** Trims the specified character off the contained string @param character The non-null character to trim */
  OpenEdge.Core.String Unknown () /* Returns a single/the same unknown value String object. @return OpenEdge.Core.String An empty string */

Constructor Summary
  Options Name Purpose
  String () /* Default constructor */
  String (character) /* Constructor @param longchar A string value */
  String (longchar) /* Constructor @param longchar A string value */

Property Summary
  Options Name Purpose
  CHARACTER Encoding
  INT64 Size
  LONGCHAR Value


Method Detail
Top

Append (longchar)

/* Adds the input string to the end of the current string.
No validation (for unknowns in particular) is done on either
string value.
Parameters:
pcValue LONGCHAR
 
Top

Append (String)

/* Adds the input string to the end of the current string.
No validation (for unknowns in particular) is done on either
string value.
Parameters:
poValue OpenEdge.Core.String
 
Top

INTEGER CompareTo (ILongcharHolder)

/* Comparison method, used by SortedSet's default comparer. This method uses the Value property to compare.
- If the returned value is less than 0 (zero), then the current object sorts before the object passed in.
- If the returned value equals 0 (zero) , then the current object occupies the same position in the sort order.
- If the returned value is greater than 0(zero), then the current object sorts after the object passed in.
- If either object's Value is the unknown value (?), then that sorts high/early/before
+1 = sorts after
-1 = sorts before
Parameters:
pOther Ccs.Common.Support.ILongcharHolder
 
Returns INTEGER
  integer 0 = same object
Top

INTEGER CompareTo (String)

/* Comparison method, used by SortedSet's default comparer.
Due to the ABL's "class private" rules, instances of String can read each others private variables/properties,
which avoied the Value property getter work.
- If the returned value is less than 0 (zero), then the current object sorts before the object passed in.
- If the returned value equals 0 (zero) , then the current object occupies the same position in the sort order.
- If the returned value is greater than 0(zero), then the current object sorts after the object passed in.
- If either object's Value is the unknown value (?), then that sorts high/early/before
+1 = sorts after
-1 = sorts before
Parameters:
pOther OpenEdge.Core.String
 
Returns INTEGER
  integer 0 = same object
Top

OpenEdge.Core.String Empty ()

/* Returns a single/the same empty/non-null String object.
Returns OpenEdge.Core.String
  OpenEdge.Core.String An empty string
Top

LOGICAL Equals (Object)

Parameters:
p0 Progress.Lang.Object
 
Returns LOGICAL
 
Top

LOGICAL IsNullOrEmpty ()

Returns LOGICAL
 
Top

LOGICAL IsNullOrEmpty (longchar)

/* Indicates whether a string is null or empty: empty having no
non-whitespace characters
Parameters:
pcValue LONGCHAR
 
Returns LOGICAL
  logical TRUE if the string is null or empty
Top

LOGICAL IsQuoted (longchar)

/* Indicates whether the string is quoted with either double (") or single (') quotes.
The first AND last characters must be the same and must either the quote character
Parameters:
pcValue LONGCHAR
 
Returns LOGICAL
  logical TRUE if the string is non-null and has matching leading and trailing quotes.
Top

LOGICAL IsQuoted (longchar, character)

/* Indicates whether the string is quoted with the quote character ,
The first AND last characters must be the same and be the quote character
Parameters:
pcValue LONGCHAR
 
pcQuote CHARACTER
 
Returns LOGICAL
  logical TRUE if the string is non-null and has matching leading and trailing quotes.
Top

OpenEdge.Core.String Join (Array, character)

Purpose: Joins an array's contents into a delimited string
Parameters:
poValue OpenEdge.Core.Collections.Array
 
pcDelimiter CHARACTER
 
Returns OpenEdge.Core.String
  OpenEdge.Core.String A single, delimited string object
Top

LONGCHAR Join (character[], character)

Purpose: Joins an array's contents into a delimited string
Parameters:
pcValue CHARACTER
 
pcDelimiter CHARACTER
 
Returns LONGCHAR
  longchar A single, delimited string
Top

OpenEdge.Core.String Join (String[], character)

Purpose: Joins an array's contents into a delimited string
Parameters:
poValue OpenEdge.Core.String
 
pcDelimiter CHARACTER
 
Returns OpenEdge.Core.String
  OpenEdge.Core.String A single, delimited string object
Top

Prepend (longchar)

/* Adds the input string to the beginning of the current string.
No validation (for unknowns in particular) is done on either
string value.
Parameters:
pcValue LONGCHAR
 
Top

Prepend (String)

/* Adds the input string to the beginning of the current string.
No validation (for unknowns in particular) is done on either
string value.
Parameters:
poValue OpenEdge.Core.String
 
Top

OpenEdge.Core.Collections.Array Split ()

Purpose: Splits the value of this string into an array based on
a default delimiter
Returns OpenEdge.Core.Collections.Array
  Array An array object of strings
Top

OpenEdge.Core.Collections.Array Split (character)

Purpose: Splits the value of this string into an array based on
a specified delimiter
Parameters:
pcDelimiter CHARACTER
 
Returns OpenEdge.Core.Collections.Array
  Array An array object of strings
Top

CHARACTER Split (longchar)

Purpose: Splits the value of this string into an array using
a default delmiter
Parameters:
pcValue LONGCHAR
 
Returns CHARACTER
  character[] An array of strings
Top

CHARACTER Split (longchar, character)

Purpose: Splits the value of this string into an array using
a specified delimiter.
If the delimiter does not appear in the string, and the string is not unknown,
then the array has an extent of 1 and contains the string.
Parameters:
pcValue LONGCHAR
 
pcDelimiter CHARACTER
 
Returns CHARACTER
  character[] An array of strings
Top

OpenEdge.Core.Collections.Array Split (String)

Purpose: Splits the value of this string into an array using
a default delmiter
Parameters:
poValue OpenEdge.Core.String
 
Returns OpenEdge.Core.Collections.Array
  Array An array object of strings
Top

OpenEdge.Core.Collections.Array Split (String, character)

Purpose: Splits the value of this string into an array using
a specified delmiter
If the delimiter does not appear in the string, and the string is not unknown,
then the array has an extent of 1 and contains the string.
Parameters:
poValue OpenEdge.Core.String
 
pcDelimiter CHARACTER
 
Returns OpenEdge.Core.Collections.Array
  Array An array object of strings
Top

CHARACTER ToString ()

Purpose: Returns a string value for this object
Returns CHARACTER
  character A string representation of this object. May be truncated.
Top

Trim ()

Purpose: Trims whitespace off the contained string
Top

Trim (character)

Purpose: Trims the specified character off the contained string
Parameters:
pCharacter CHARACTER
 
Top

OpenEdge.Core.String Unknown ()

/* Returns a single/the same unknown value String object.
Returns OpenEdge.Core.String
  OpenEdge.Core.String An empty string


Constructor Detail
Top

String ()

/* Default constructor
Top

String (character)

/* Constructor
Parameters:
pcString CHARACTER
 
Top

String (longchar)

/* Constructor
Parameters:
pcString LONGCHAR
 


Property Detail
Top

CHARACTER Encoding

Returns CHARACTER
 
Top

INT64 Size

Returns INT64
 
Top

LONGCHAR Value

Returns LONGCHAR