public final class PackagingURIHelper
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static PackagePartName |
CORE_PROPERTIES_PART_NAME
Core properties partname.
(核心属性部件名。)
|
static java.net.URI |
CORE_PROPERTIES_URI
Core properties part URI.
(核心属性部分 URI。)
|
static char |
FORWARD_SLASH_CHAR
Forward slash URI separator.
(正斜杠 URI 分隔符。)
|
static java.lang.String |
FORWARD_SLASH_STRING
Forward slash URI separator.
(正斜杠 URI 分隔符。)
|
static java.lang.String |
PACKAGE_CORE_PROPERTIES_NAME
Core package properties art name.
(核心包属性艺术名称。)
|
static java.lang.String |
PACKAGE_PROPERTIES_SEGMENT_NAME
Segment name of the package properties folder.
(包属性文件夹的段名称。)
|
static PackagePartName |
PACKAGE_RELATIONSHIPS_ROOT_PART_NAME
Package relationships part name.
(包关系部件名称。)
|
static java.net.URI |
PACKAGE_RELATIONSHIPS_ROOT_URI
Package relationships part URI
(包关系部分 URI)
|
static PackagePartName |
PACKAGE_ROOT_PART_NAME
Root package part name.
(根包部件名称。)
|
static java.net.URI |
PACKAGE_ROOT_URI
Root package URI.
(根包 URI。)
|
static java.lang.String |
RELATIONSHIP_PART_EXTENSION_NAME
Extension name of a relationship part.
(关系部分的扩展名。)
|
static java.lang.String |
RELATIONSHIP_PART_SEGMENT_NAME
Segment name of a relationship part.
(关系部分的段名。)
|
Constructor and Description |
---|
PackagingURIHelper() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
combine(java.lang.String prefix, java.lang.String suffix)
Combine a string URI with a prefix and a suffix.
(将字符串 URI 与前缀和后缀组合在一起。)
|
static java.net.URI |
combine(java.net.URI prefix, java.net.URI suffix)
Combine two URIs.
(组合两个 URI。)
|
static PackagePartName |
createPartName(java.lang.String partName)
Create an OPC compliant part name.
(创建符合 OPC 标准的部件名称。)
|
static PackagePartName |
createPartName(java.lang.String partName, PackagePart relativePart)
Create an OPC compliant part name by resolving it using a base part.
(通过使用基础部件解析它来创建符合 OPC 的部件名称。)
|
static PackagePartName |
createPartName(java.net.URI partUri)
Create an OPC compliant part name by throwing an exception if the URI is not valid.
(如果 URI 无效,则通过引发异常来创建符合 OPC 的部件名称。)
|
static PackagePartName |
createPartName(java.net.URI partName, PackagePart relativePart)
Create an OPC compliant part name by resolving it using a base part.
(通过使用基础部件解析它来创建符合 OPC 的部件名称。)
|
static java.lang.String |
decodeURI(java.net.URI uri)
Decode a URI by converting all percent encoded character into a String character.
(通过将所有百分比编码字符转换为字符串字符来解码 URI。)
|
static java.lang.String |
encode(java.lang.String s)
percent-encode white spaces and characters above 0x80.
(百分比编码 0x80 以上的空格和字符。)
|
static java.lang.String |
getFilename(java.net.URI uri)
Get file name from the specified URI.
(从指定的 URI 获取文件名。)
|
static java.lang.String |
getFilenameWithoutExtension(java.net.URI uri)
Get the file name without the trailing extension.
(获取不带尾随扩展名的文件名。)
|
static java.net.URI |
getPackageRootUri()
Gets the URI for the package root.
(获取包根的 URI。)
|
static java.net.URI |
getPath(java.net.URI uri)
Get the directory path from the specified URI.
(从指定的 URI 获取目录路径。)
|
static PackagePartName |
getRelationshipPartName(PackagePartName partName)
Build a part name where the relationship should be stored ((ex /word/document.xml -> /word/_rels/document.xml.rels)
(建立一个应该存储关系的部件名称((例如 /word/document.xml -> /word/_rels/document.xml.rels))
|
static java.net.URI |
getSourcePartUriFromRelationshipPartUri(java.net.URI relationshipPartUri)
Get the source part URI from a specified relationships part.
(从指定的关系部件获取源部件 URI。)
|
static java.net.URI |
getURIFromPath(java.lang.String path)
Get URI from a string path.
(从字符串路径获取 URI。)
|
static boolean |
isRelationshipPartURI(java.net.URI partUri)
Know if the specified URI is a relationship part name.
(知道指定的 URI 是否是关系部分名称。)
|
static boolean |
isValidPartName(java.net.URI partUri)
Validate a part URI by returning a boolean.
(通过返回布尔值来验证部件 URI。)
|
static java.net.URI |
relativizeURI(java.net.URI sourceURI, java.net.URI targetURI)
Fully relativize the source part URI against the target part URI.
(将源部分 URI 与目标部分 URI 完全相对化。)
|
static java.net.URI |
relativizeURI(java.net.URI sourceURI, java.net.URI targetURI, boolean msCompatible)
Fully relativize the source part URI against the target part URI.
(将源部分 URI 与目标部分 URI 完全相对化。)
|
static java.net.URI |
resolvePartUri(java.net.URI sourcePartUri, java.net.URI targetUri)
Resolve a source uri against a target.
(针对目标解析源 uri。)
|
static java.net.URI |
toURI(java.lang.String value)
Convert a string to
URI If part name is not a valid URI, it is resolved as follows:
(将字符串转换为 URI 如果部分名称不是有效的 URI,则解析如下:)
|
public static final java.lang.String RELATIONSHIP_PART_EXTENSION_NAME
public static final java.lang.String RELATIONSHIP_PART_SEGMENT_NAME
public static final java.lang.String PACKAGE_PROPERTIES_SEGMENT_NAME
public static final java.lang.String PACKAGE_CORE_PROPERTIES_NAME
public static final char FORWARD_SLASH_CHAR
public static final java.lang.String FORWARD_SLASH_STRING
public static final java.net.URI PACKAGE_RELATIONSHIPS_ROOT_URI
public static final PackagePartName PACKAGE_RELATIONSHIPS_ROOT_PART_NAME
public static final java.net.URI CORE_PROPERTIES_URI
public static final PackagePartName CORE_PROPERTIES_PART_NAME
public static final java.net.URI PACKAGE_ROOT_URI
public static final PackagePartName PACKAGE_ROOT_PART_NAME
public static java.net.URI getPackageRootUri()
public static boolean isRelationshipPartURI(java.net.URI partUri)
partUri
- URI to check.
(partUri - 要检查的 URI。)
public static java.lang.String getFilename(java.net.URI uri)
public static java.lang.String getFilenameWithoutExtension(java.net.URI uri)
public static java.net.URI getPath(java.net.URI uri)
public static java.net.URI combine(java.net.URI prefix, java.net.URI suffix)
prefix
- the prefix URI
(prefix - 前缀 URI)
suffix
- the suffix URI
(suffix - 后缀 URI)
public static java.lang.String combine(java.lang.String prefix, java.lang.String suffix)
public static java.net.URI relativizeURI(java.net.URI sourceURI, java.net.URI targetURI, boolean msCompatible)
sourceURI
- The source part URI.
(sourceURI - 源部分 URI。)
targetURI
- The target part URI.
(targetURI - 目标部分 URI。)
msCompatible
- if true then remove leading slash from the relativized URI. This flag violates [M1.4]: A part name shall start with a forward slash ('/') character, but allows generating URIs compatible with MS Office and OpenOffice.
(msCompatible - 如果为 true,则从相对化的 URI 中删除前导斜杠。此标志违反 [M1.4]:部件名称应以正斜杠 ('/') 字符开头,但允许生成与 MS Office 和 OpenOffice 兼容的 URI。)
null
.
(完全相关的部分名称 URI ('word/media/image1.gif', '/word/document.xml' => 'media/image1.gif') 否则为 null。)
public static java.net.URI relativizeURI(java.net.URI sourceURI, java.net.URI targetURI)
sourceURI
- The source part URI.
(sourceURI - 源部分 URI。)
targetURI
- The target part URI.
(targetURI - 目标部分 URI。)
null
.
(完全相关的部分名称 URI ('word/media/image1.gif', '/word/document.xml' => 'media/image1.gif') 否则为 null。)
public static java.net.URI resolvePartUri(java.net.URI sourcePartUri, java.net.URI targetUri)
sourcePartUri
- The source URI.
(sourcePartUri - 源 URI。)
targetUri
- The target URI.
(targetUri - 目标 URI。)
public static java.net.URI getURIFromPath(java.lang.String path)
public static java.net.URI getSourcePartUriFromRelationshipPartUri(java.net.URI relationshipPartUri)
relationshipPartUri
- The relationship part use to retrieve the source part.
(relationshipPartUri - 用于检索源部分的关系部分。)
public static PackagePartName createPartName(java.net.URI partUri) throws InvalidFormatException
partUri
- The part name URI to validate.
(partUri - 要验证的部件名称 URI。)
null
.
(有效的部件名称对象,否则为 null。)
InvalidFormatException
- Throws if the specified URI is not OPC compliant.
(InvalidFormatException - 如果指定的 URI 不符合 OPC,则引发。)
public static PackagePartName createPartName(java.lang.String partName) throws InvalidFormatException
partName
- The part name to validate.
(partName - 要验证的部件名称。)
null
.
(如果有效,则对应的部分名称,否则为空。)
InvalidFormatException
- Throws if the specified part name is not OPC compliant.
(InvalidFormatException - 如果指定的部件名称不符合 OPC,则抛出。)
createPartName(URI)
public static PackagePartName createPartName(java.lang.String partName, PackagePart relativePart) throws InvalidFormatException
partName
- The part name to validate.
(partName - 要验证的部件名称。)
relativePart
- The relative base part.
(relativePart - 相对基础部分。)
null
.
(如果有效,则对应的部分名称,否则为空。)
InvalidFormatException
- Throws if the specified part name is not OPC compliant.
(InvalidFormatException - 如果指定的部件名称不符合 OPC,则抛出。)
createPartName(URI)
public static PackagePartName createPartName(java.net.URI partName, PackagePart relativePart) throws InvalidFormatException
partName
- The part name URI to validate.
(partName - 要验证的部件名称 URI。)
relativePart
- The relative base part.
(relativePart - 相对基础部分。)
null
.
(如果有效,则对应的部分名称,否则为空。)
InvalidFormatException
- Throws if the specified part name is not OPC compliant.
(InvalidFormatException - 如果指定的部件名称不符合 OPC,则抛出。)
createPartName(URI)
public static boolean isValidPartName(java.net.URI partUri)
partUri
- The URI to validate.
(partUri - 要验证的 URI。)
createPartName(URI)
public static java.lang.String decodeURI(java.net.URI uri)
uri
- The URI to decode.
(uri - 要解码的 URI。)
public static PackagePartName getRelationshipPartName(PackagePartName partName)
partName
- Source part URI
(partName - 源部分 URI)
InvalidOperationException
- Throws if the specified URI is a relationshp part.
(InvalidOperationException - 如果指定的 URI 是关系部分,则抛出。)
public static java.net.URI toURI(java.lang.String value) throws java.net.URISyntaxException
URI
If part name is not a valid URI, it is resolved as follows:
1. Percent-encode each open bracket ([) and close bracket (]). 2. Percent-encode each percent (%) character that is not followed by a hexadecimal notation of an octet value. 3. Un-percent-encode each percent-encoded unreserved character. 4. Un-percent-encode each forward slash (/) and back slash (\). 5. Convert all back slashes to forward slashes. 6. If present in a segment containing non-dot (?.?) characters, remove trailing dot (?.?) characters from each segment. 7. Replace each occurrence of multiple consecutive forward slashes (/) with a single forward slash. 8. If a single trailing forward slash (/) is present, remove that trailing forward slash. 9. Remove complete segments that consist of three or more dots. 10. Resolve the relative reference against the base URI of the part holding the Unicode string, as it is defined in ?5.2 of RFC 3986. The path component of the resulting absolute URI is the part name.
(将字符串转换为 URI 如果部分名称不是有效的 URI,则按如下方式解析: 1. 对每个开括号 ([) 和闭括号 (]) 进行百分比编码。 2. 百分号编码每个百分号 (%) 字符,后面没有一个八位组值的十六进制表示法。 3. 对每个百分比编码的未保留字符进行非百分比编码。 4. 对每个正斜杠 (/) 和反斜杠 () 进行非百分比编码。 5. 将所有反斜杠转换为正斜杠。 6. 如果存在于包含非点 (?.?) 字符的段中,则从每个段中删除尾随点 (?.?) 字符。 7. 将每次出现的多个连续正斜杠 (/) 替换为单个正斜杠。 8. 如果存在单个尾部正斜杠 (/),请删除该尾部正斜杠。 9. 删除由三个或更多点组成的完整段。 10. 根据 RFC 3986 的 ?5.2 中的定义,针对包含 Unicode 字符串的部分的基本 URI 解析相对引用。生成的绝对 URI 的路径部分是部分名称。)value
- the string to be parsed into a URI
(value - 要解析为 URI 的字符串)
java.net.URISyntaxException
(java.net.URISyntaxException)
public static java.lang.String encode(java.lang.String s)
Examples:
(百分比编码 0x80 以上的空格和字符。示例:'Apache POI' --> 'Apache%20POI' 'Apache袗POI' --> 'Apache%04%10POI')'Apache POI' --> 'Apache%20POI' 'Apache袗POI' --> 'Apache%04%10POI'
s
- the string to encode
(s - 要编码的字符串)
Copyright 2021 The Apache Software Foundation or its licensors, as applicable.