class OpenEdge.Net.URI:

	constructor public URI ( pcHost as character):
	end.

	constructor public URI ( pcScheme as character, pcHost as character):
	end.

	constructor public URI ( pcScheme as character, pcHost as character, piPort as integer):
	end.

	constructor public URI ( pScheme as character, pAuthority as character, pPath as character, pQuery as character, pFragment as character):
	end.

	constructor public URI ( pcScheme as character, pcHost as character, piPort as integer, pcPath as character, poQueryMap as OpenEdge.Core.Collections.IStringStringMap, pcFragment as character):
	end.

	define public static property SCHEME_PART_IDX as integer no-undo
		public get.

	define public static property AUTHORITY_PART_IDX as integer no-undo
		public get.

	define public static property PATH_PART_IDX as integer no-undo
		public get.

	define public static property QUERY_PART_IDX as integer no-undo
		public get.

	define public static property FRAGMENT_PART_IDX as integer no-undo
		public get.

	define public property Scheme as character no-undo
		public get.
		private set.

	define public property Host as character no-undo
		public get.
		private set.

	define public property User as character no-undo
		public get.
		public set.

	define public property Password as character no-undo
		public get.
		public set.

	define public property Port as integer no-undo
		public get.
		public set.

	define public property Path as character no-undo
		public get.
		public set.

	define public property Fragment as character no-undo
		public get.
		public set.

	define public property BaseURI as character no-undo
		public get.
		private set.

	define public property RelativeURI as character no-undo
		public get.
		private set.

	define public property QueryString as character no-undo
		public get.
		private set.

	define protected property QueryMap as OpenEdge.Core.Collections.IStringStringMap no-undo
		protected get.
		private set.

	method public static OpenEdge.Net.URI Parse ( pcURI as character):
	end.

	method public character extent Split ():
	end.

	method public static character extent SplitUri ( pData as character):
	end.

	method protected void SetPath ( pPath as character):
	end.

	method protected void SetAuthority ( pAuthority as character, pDecode as logical):
	end.

	method public void AddQueryString ( pQuery as character, pDecode as logical):
	end.

	method public static OpenEdge.Net.URI Parse ( pcURI as character, pDecode as logical):
	end.

	method public integer GetPathSegments ( output pSegments as character extent ):
	end.

	method public void SetPath ( pcSegments as character extent ):
	end.

	method public void AddPathSegment ( pcSegment as character):
	end.

	method public void AddQuery ( pcName as character):
	end.

	method public void AddQuery ( pcName as character, pcValue as character):
	end.

	method public logical RemoveQuery ( pcName as character):
	end.

	method public character GetQueryValue ( pcName as character):
	end.

	method public OpenEdge.Core.Collections.IStringStringMap GetQueryMap ():
	end.

	method public void SetQueryMap ( pQueryMap as OpenEdge.Core.Collections.IStringStringMap):
	end.

	method public override character ToString ():
	end.

	method public character Encode ():
	end.

	method public static character Encode ( poURI as OpenEdge.Net.URI):
	end.

	method public static character EncodeURI ( poURI as OpenEdge.Net.URI):
	end.

	method public character EncodeScheme ():
	end.

	method public static character EncodeScheme ( pcString as character):
	end.

	method public static character EncodeScheme ( pString as OpenEdge.Core.String):
	end.

	method public static character EncodeHost ( pcString as character):
	end.

	method public character EncodeHost ():
	end.

	method public static character EncodeUserinfo ( pString as OpenEdge.Core.String):
	end.

	method public static character EncodeUserinfo ( pcString as character):
	end.

	method public character EncodeUserinfo ():
	end.

	method public static character EncodeHost ( pString as OpenEdge.Core.String):
	end.

	method public static character EncodePath ( pcString as character):
	end.

	method public static character EncodePath ( pString as OpenEdge.Core.String):
	end.

	method public character EncodeQuery ():
	end.

	method public static character EncodeQuery ( poURI as OpenEdge.Net.URI):
	end.

	method public static character EncodeQuery ( pcString as character):
	end.

	method public static character EncodeQuery ( pString as OpenEdge.Core.String):
	end.

	method public character EncodeFragment ():
	end.

	method public static character EncodeFragment ( pcString as character):
	end.

	method public static character EncodeFragment ( pString as OpenEdge.Core.String):
	end.

	method public static character EncodeCookie ( pcString as character):
	end.

	method public static character EncodeCookie ( pString as OpenEdge.Core.String):
	end.

	method public static character EncodeString ( pcString as character):
	end.

	method public static character EncodeString ( pString as OpenEdge.Core.String):
	end.

	method public static character Encode ( pcString as character, poEncodingType as OpenEdge.Net.UriEncodingTypeEnum):
	end.

	method public static character Encode ( pString as character, pEncodingType as OpenEdge.Net.UriEncodingTypeEnum, pReEncode as logical):
	end.

	method public character Decode ():
	end.

	method public static character Decode ( pcEncodedString as character):
	end.

	method public static character Decode ( pString as OpenEdge.Core.String):
	end.

	method public static character Decode ( pEncodedString as character, pTargetCodepage as character):
	end.

	method public logical HasQueryName ( pName as character):
	end.

	method public integer GetQueryNames ( output pcNames as character extent ):
	end.

	method public static OpenEdge.Net.URI ResolveRelativeReference ( pBaseUri as OpenEdge.Net.URI, pRelativeRef as character):
	end.

end.
