summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/uri
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2004-01-19 17:19:44 +0000
committerKurt Zenker <kz@openoffice.org>2004-01-19 17:19:44 +0000
commit0f15726f9dc6f881d51d6e292e3d0baf1f1d1e61 (patch)
treebd779ded5f6beddfded9ab0d86339f7b959a8f39 /udkapi/com/sun/star/uri
parent86594a3d0377d0e1c6ff1ea8581f4886bfd0f27b (diff)
INTEGRATION: CWS sb12 (1.1.2); FILE ADDED
2003/12/17 16:13:17 sb 1.1.2.1: #i19971# URI processing.
Diffstat (limited to 'udkapi/com/sun/star/uri')
-rw-r--r--udkapi/com/sun/star/uri/XUriReference.idl263
1 files changed, 263 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/uri/XUriReference.idl b/udkapi/com/sun/star/uri/XUriReference.idl
new file mode 100644
index 000000000000..c2f76e7089c8
--- /dev/null
+++ b/udkapi/com/sun/star/uri/XUriReference.idl
@@ -0,0 +1,263 @@
+/*************************************************************************
+ *
+ * $RCSfile: XUriReference.idl,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: kz $ $Date: 2004-01-19 18:19:44 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2003 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_uri_XUriReference_idl__
+#define __com_sun_star_uri_XUriReference_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module uri {
+
+/**
+ represents generic, mutable URI references.
+
+ <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a> for a
+ description of URI references and related terms.</p>
+
+ <p>This interface only handles generic URI references (both absolute and
+ relative). For specific URI schemes, there will be additional interfaces
+ that offer extra, scheme-specific functionality.</p>
+
+ @see com::sun::star::uri::UriReferenceFactory
+ which allows to create URI reference objects that support
+ <type scope="com::sun::star::uri">XUriReference</type> and additional,
+ scheme-specific interfaces.
+ */
+interface XUriReference: com::sun::star::uno::XInterface {
+ /**
+ returns the textual representation of the complete URI reference.
+
+ @returns
+ the textual representation of the complete URI reference. The exact
+ spelling of the URI reference is retained.
+ */
+ string getUriReference();
+
+ /**
+ returns whether this URI reference is absolute or relative.
+
+ @returns
+ <TRUE/> if this URI reference is absolute, <FALSE/> if it is relative.
+ */
+ boolean isAbsolute();
+
+ /**
+ returns the scheme part of this (absolute) URI reference.
+
+ @returns
+ the textual representation of the scheme part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>:</code>&rdquo;), if this
+ is an absolute URI reference; otherwise, an empty <atom>string</atom> is
+ returned.
+ */
+ string getScheme();
+
+ /**
+ returns the scheme-specific part of this URI reference.
+
+ <p>For an absolute URI reference, the scheme-specific part is everything
+ after the scheme part and the delimiting &ldquo;<code>:</code>&rdquo;,
+ and before the optional &ldquo;<code>#</code>&rdquo; and fragment part.
+ For a relative URI reference, the scheme-specific part is everything
+ before the optional &ldquo;<code>#</code>&rdquo; and fragment part.</p>
+
+ @returns
+ the textual representation of the scheme-specific part (with the exact
+ spelling retained).
+ */
+ string getSchemeSpecificPart();
+
+ /**
+ returns whether this URI reference is hierarchical or opaque.
+
+ <p>An absolute URI reference is hierarchical if its scheme-specific part
+ starts with &ldquo;<code>/</code>&rdquo;. A relative URI reference is
+ always hierarchical.</p>
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical, <FALSE/> if it is opaque.
+ */
+ boolean isHierarchical();
+
+ /**
+ returns whether this (hierarchical) URI reference has an authority part.
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical and has an authority part.
+ */
+ boolean hasAuthority();
+
+ /**
+ returns the authority part of this (hierarchical) URI reference.
+
+ @returns
+ the textual representation of the authority part (with the exact spelling
+ retained), if this is a hierarchical URI reference that has an authority
+ part; otherwise, an empty <atom>string</atom> is returned.
+ */
+ string getAuthority();
+
+ /**
+ returns the path part of this URI reference.
+
+ @returns
+ the textual representation of the path part (with the exact spelling
+ retained), if this is a hierarchical URI reference; for an opaque URI
+ reference, the scheme-specific part (with the exact spelling retained) is
+ returned.
+ */
+ string getPath();
+
+ /**
+ returns whether this (relative) URI reference has a relative path.
+
+ @returns
+ <TRUE/> if this URI reference is relative and has a relative path.
+ */
+ boolean hasRelativePath();
+
+ /**
+ returns the number of path segments of this (hierarchical) URI reference.
+
+ <p>For an opaque URI reference, and for a hierarchical URI reference with
+ an empty path, the number of path segments is zero. For a hierarchical
+ URI reference with an absolute, non-empty path, the number of path
+ segments equals the number of &ldquo;<code>/</code>&rdquo; delimiters.
+ For a hierarchical URI reference with a relative, non-empty path, the
+ number of path segments equals the number of &ldquo;<code>/</code>&rdquo;
+ delimiters, plus one.</p>
+
+ @returns
+ the number of path segments.
+ */
+ long getPathSegmentCount();
+
+ /**
+ returns a given path segment of this (hierarchical) URI reference.
+
+ @param index
+ the index of the path segment, starting at zero.
+
+ @returns
+ the textual representation of the given path segment (with the exact
+ spelling retained, without any delimiting &ldquo;<code>/</code>&rdquo;),
+ if this URI reference is hierarchical and has that many path segments;
+ otherwise, and in particular if <code>index</code> is negative, an empty
+ <atom>string</atom> is returned.
+ */
+ string getPathSegment([in] long index);
+
+ /**
+ returns whether this (hierarchical) URI reference has a query part.
+
+ @returns
+ <TRUE/> if this URI reference is hierarchical and has a query part.
+ */
+ boolean hasQuery();
+
+ /**
+ returns the query part of this (hierarchical) URI reference.
+
+ @returns
+ the textual representation of the query part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>?</code>&rdquo;), if this
+ is a hierarchical URI reference that has a query part; otherwise, an
+ empty <atom>string</atom> is returned.
+ */
+ string getQuery();
+
+ /**
+ returns whether this URI reference has a fragment part.
+
+ @returns
+ <TRUE/> if this URI reference has a fragment part.
+ */
+ boolean hasFragment();
+
+ /**
+ returns the fragment part of this URI reference.
+
+ @returns
+ the textual representation of the fragment part (with the exact spelling
+ retained; without the delimiting &ldquo;<code>#</code>&rdquo;), if this
+ is a URI reference that has a fragment part; otherwise, an empty
+ <atom>string</atom> is returned.
+ */
+ string getFragment();
+
+ /**
+ sets the fragment part of this URI reference.
+
+ @param fragment
+ the textual representation of the new fragment part. The exact spelling
+ will be preserved, and no escaping is performed.
+ */
+ void setFragment([in] string fragment);
+
+ /**
+ clears the fragment part of this URI reference.
+ */
+ void clearFragment();
+};
+
+}; }; }; };
+
+#endif