ObjFW
|
A class for representing IRIs, URIs, URLs and URNs, for parsing them, accessing parts of them as well as modifying them. More...
#include <ObjFW/OFIRI.h>
Instance Methods | |
(instancetype) | - initWithScheme: |
Initializes an already allocated mutable IRI with the specified schemed. | |
(void) | - appendPathComponent: |
Appends the specified path component. | |
(void) | - appendPathComponent:isDirectory: |
Appends the specified path component. | |
(void) | - appendPathExtension: |
Appends the specified path extension. | |
(void) | - deleteLastPathComponent |
Deletes the last path component. | |
(void) | - deletePathExtension |
Deletes the path extension. | |
(void) | - standardizePath |
Resolves relative subpaths. | |
(void) | - makeImmutable |
Converts the mutable IRI to an immutable IRI. | |
Instance Methods inherited from OFIRI | |
(instancetype) | - initWithString: |
Initializes an already allocated OFIRI with the specified string. | |
(instancetype) | - initWithString:relativeToIRI: |
Initializes an already allocated OFIRI with the specified string and relative IRI. | |
(instancetype) | - initFileIRIWithPath: |
Initializes an already allocated OFIRI with the specified local file path. | |
(instancetype) | - initFileIRIWithPath:isDirectory: |
Initializes an already allocated OFIRI with the specified local file path. | |
(OFIRI *) | - IRIByAppendingPathComponent: |
Returns a new IRI with the specified path component appended. | |
(OFIRI *) | - IRIByAppendingPathComponent:isDirectory: |
Returns a new IRI with the specified path component appended. | |
(OFIRI *) | - IRIByAppendingPathExtension: |
Returns a new IRI with the specified path extension appended. | |
Instance Methods inherited from OFObject | |
(instancetype) | - init |
Initializes an already allocated object. | |
(nullable OFMethodSignature *) | - methodSignatureForSelector: |
Returns the method signature for the specified selector. | |
(void) | - dealloc |
Deallocates the object. | |
(void) | - performSelector:afterDelay: |
Performs the specified selector after the specified delay. | |
(void) | - performSelector:withObject:afterDelay: |
Performs the specified selector with the specified object after the specified delay. | |
(void) | - performSelector:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:withObject:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:withObject:withObject:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:waitUntilDone: |
Performs the specified selector on the specified thread. | |
(void) | - performSelector:onThread:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified object. | |
(void) | - performSelector:onThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelectorOnMainThread:waitUntilDone: |
Performs the specified selector on the main thread. | |
(void) | - performSelectorOnMainThread:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified object. | |
(void) | - performSelectorOnMainThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelectorOnMainThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelectorOnMainThread:withObject:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelector:onThread:afterDelay: |
Performs the specified selector on the specified thread after the specified delay. | |
(void) | - performSelector:onThread:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified object after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(nullable id) | - forwardingTargetForSelector: |
This method is called when resolveClassMethod: or resolveInstanceMethod: returned false. It should return a target to which the message should be forwarded. | |
(void) | - doesNotRecognizeSelector: |
Handles messages which are not understood by the receiver. | |
Instance Methods inherited from <OFObject> | |
(unsigned long) | - hash |
Returns a hash for the object. | |
(unsigned int) | - retainCount |
Returns the retain count. | |
(bool) | - isProxy |
Returns whether the object is a proxy object. | |
(bool) | - isKindOfClass: |
Returns a boolean whether the object is of the specified kind. | |
(bool) | - isMemberOfClass: |
Returns a boolean whether the object is a member of the specified class. | |
(bool) | - respondsToSelector: |
Returns a boolean whether the object responds to the specified selector. | |
(nullable IMP) | - methodForSelector: |
Returns the implementation for the specified selector. | |
(nullable id) | - performSelector: |
Performs the specified selector. | |
(nullable id) | - performSelector:withObject: |
Performs the specified selector with the specified object. | |
(nullable id) | - performSelector:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(nullable id) | - performSelector:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(nullable id) | - performSelector:withObject:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(bool) | - isEqual: |
Checks two objects for equality. | |
(instancetype) | - retain |
Increases the retain count. | |
(void) | - release |
Decreases the retain count. | |
(instancetype) | - autorelease |
Adds the object to the topmost autorelease pool of the thread's autorelease pool stack. | |
(instancetype) | - self |
Returns the receiver. | |
(bool) | - allowsWeakReference |
Returns whether the object allows a weak reference. | |
(bool) | - retainWeakReference |
Retain a weak reference to this object. | |
Instance Methods inherited from <OFCopying> | |
(id) | - copy |
Copies the object. | |
Instance Methods inherited from <OFMutableCopying> | |
(id) | - mutableCopy |
Creates a mutable copy of the object. | |
Class Methods | |
(instancetype) | + IRIWithScheme: |
Creates a new mutable IRI with the specified schemed. | |
Class Methods inherited from OFIRI | |
(instancetype) | + IRIWithString: |
Creates a new IRI with the specified string. | |
(instancetype) | + IRIWithString:relativeToIRI: |
Creates a new IRI with the specified string relative to the specified IRI. | |
(instancetype) | + fileIRIWithPath: |
Creates a new IRI with the specified local file path. | |
(instancetype) | + fileIRIWithPath:isDirectory: |
Creates a new IRI with the specified local file path. | |
Class Methods inherited from OFObject | |
(void) | + load |
A method which is called once when the class is loaded into the runtime. | |
(void) | + unload |
A method which is called when the class is unloaded from the runtime. | |
(void) | + initialize |
A method which is called the moment before the first call to the class is being made. | |
(instancetype) | + alloc |
Allocates memory for an instance of the class and sets up the memory pool for the object. | |
(Class) | + class |
Returns the class. | |
(OFString *) | + className |
Returns the name of the class as a string. | |
(bool) | + isSubclassOfClass: |
Returns a boolean whether the class is a subclass of the specified class. | |
(nullable Class) | + superclass |
Returns the superclass of the class. | |
(bool) | + instancesRespondToSelector: |
Checks whether instances of the class respond to a given selector. | |
(bool) | + conformsToProtocol: |
Checks whether the class conforms to a given protocol. | |
(nullable IMP) | + instanceMethodForSelector: |
Returns the implementation of the instance method for the specified selector. | |
(nullable OFMethodSignature *) | + instanceMethodSignatureForSelector: |
Returns the method signature of the instance method for the specified selector. | |
(OFString *) | + description |
Returns a description for the class, which is usually the class name. | |
(nullable IMP) | + replaceClassMethod:withMethodFromClass: |
Replaces a class method with a class method from another class. | |
(nullable IMP) | + replaceInstanceMethod:withMethodFromClass: |
Replaces an instance method with an instance method from another class. | |
(void) | + inheritMethodsFromClass: |
Adds all methods from the specified class to the class that is the receiver. | |
(bool) | + resolveClassMethod: |
Try to resolve the specified class method. | |
(bool) | + resolveInstanceMethod: |
Try to resolve the specified instance method. | |
(id) | + copy |
Returns the class. | |
Properties | |
OFString * | scheme |
The scheme part of the IRI. | |
OFString * | host |
The host part of the IRI. | |
OFString * | percentEncodedHost |
The host part of the IRI in percent-encoded form. | |
OFNumber * | port |
The port part of the IRI. | |
OFString * | user |
The user part of the IRI. | |
OFString * | percentEncodedUser |
The user part of the IRI in percent-encoded form. | |
OFString * | password |
The password part of the IRI. | |
OFString * | percentEncodedPassword |
The password part of the IRI in percent-encoded form. | |
OFString * | path |
The path part of the IRI. | |
OFString * | percentEncodedPath |
The path part of the IRI in percent-encoded form. | |
OFArray * | pathComponents |
The path of the IRI split into components. | |
OFString * | query |
The query part of the IRI. | |
OFString * | percentEncodedQuery |
The query part of the IRI in percent-encoded form. | |
OFArray * | queryItems |
The query part of the IRI as an array. | |
OFString * | fragment |
The fragment part of the IRI. | |
OFString * | percentEncodedFragment |
The fragment part of the IRI in percent-encoded form. | |
Properties inherited from OFIRI | |
OFString * | scheme |
The scheme part of the IRI. | |
OFString * | host |
The host part of the IRI. | |
OFString * | percentEncodedHost |
The host part of the IRI in percent-encoded form. | |
OFNumber * | port |
The port part of the IRI. | |
OFString * | user |
The user part of the IRI. | |
OFString * | percentEncodedUser |
The user part of the IRI in percent-encoded form. | |
OFString * | password |
The password part of the IRI. | |
OFString * | percentEncodedPassword |
The password part of the IRI in percent-encoded form. | |
OFString * | path |
The path part of the IRI. | |
OFString * | percentEncodedPath |
The path part of the IRI in percent-encoded form. | |
OFArray * | pathComponents |
The path of the IRI split into components. | |
OFString * | lastPathComponent |
The last path component of the IRI. | |
OFString * | pathExtension |
The path extension of the IRI. | |
OFString * | query |
The query part of the IRI. | |
OFString * | percentEncodedQuery |
The query part of the IRI in percent-encoded form. | |
OFArray * | queryItems |
The query part of the IRI as an array. | |
OFString * | fragment |
The fragment part of the IRI. | |
OFString * | percentEncodedFragment |
The fragment part of the IRI in percent-encoded form. | |
OFString * | string |
The IRI as a string. | |
OFIRI * | IRIByStandardizingPath |
The IRI with relative subpaths resolved. | |
OFIRI * | IRIByDeletingLastPathComponent |
The IRI with the last path component deleted. | |
OFIRI * | IRIByDeletingPathExtension |
The IRI with the path extension deleted. | |
OFIRI * | IRIByAddingPercentEncodingForUnicodeCharacters |
The IRI with percent-encoding added for all Unicode characters. | |
OFString * | fileSystemRepresentation |
The local file system representation for a file IRI. | |
Properties inherited from OFObject | |
OFString * | className |
The name of the object's class. | |
OFString * | description |
A description for the object. | |
A class for representing IRIs, URIs, URLs and URNs, for parsing them, accessing parts of them as well as modifying them.
This class follows RFC 3976 and RFC 3987.
- (void) appendPathComponent: | (OFString *) | component |
Appends the specified path component.
component | The component to append |
- (void) appendPathComponent: | (OFString *) | component | |
isDirectory: | (bool) | isDirectory |
Appends the specified path component.
component | The component to append |
isDirectory | Whether the path is a directory, in which case a slash is appended if there is no slash yet |
- (void) appendPathExtension: | (OFString *) | extension |
Appends the specified path extension.
extension | The path extension to append |
- (instancetype) initWithScheme: | (OFString *) | scheme |
Initializes an already allocated mutable IRI with the specified schemed.
scheme | The scheme for the IRI |
+ (instancetype) IRIWithScheme: | (OFString *) | scheme |
Creates a new mutable IRI with the specified schemed.
scheme | The scheme for the IRI |
|
readwritenonatomiccopy |
The path of the IRI split into components.
The first component must always be empty to designate the root.
OFInvalidFormatException | The path components being set are not in the correct format |
|
readwriteatomic |
The fragment part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The fragment being set is not in the correct format |
|
readwriteatomic |
The host part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The host being set is not in the correct format |
|
readwriteatomic |
The password part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The password being set is not in the correct format |
|
readwritenonatomiccopy |
The path part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The path being set is not in the correct format |
|
readwriteatomic |
The query part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The query being set is not in the correct format |
|
readwriteatomic |
The user part of the IRI in percent-encoded form.
Setting this retains the original percent-encoding used - if more characters than necessary are percent-encoded, it is kept this way.
OFInvalidFormatException | The user being set is not in the correct format |
|
readwriteatomic |
The port part of the IRI.
OFInvalidArgumentException | The port is not valid (e.g. negative or too big) |
|
readwriteatomic |
The query part of the IRI as an array.
For example, a query like key1=value1&key2=value2
would correspond to the following array:
@[ [OFPair pairWithFirstObject: @"key1" secondObject: @"value1"], [OFPair pairWithFirstObject: @"key2" secondObject: @"value2"], ]
OFInvalidFormatException | The query is not in the correct format |
|
readwritenonatomiccopy |
The scheme part of the IRI.
OFInvalidFormatException | The scheme being set is not in the correct format |