3
* ====================================================================
4
* Licensed to the Apache Software Foundation (ASF) under one
5
* or more contributor license agreements. See the NOTICE file
6
* distributed with this work for additional information
7
* regarding copyright ownership. The ASF licenses this file
8
* to you under the Apache License, Version 2.0 (the
9
* "License"); you may not use this file except in compliance
10
* with the License. You may obtain a copy of the License at
12
* http://www.apache.org/licenses/LICENSE-2.0
14
* Unless required by applicable law or agreed to in writing,
15
* software distributed under the License is distributed on an
16
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
* KIND, either express or implied. See the License for the
18
* specific language governing permissions and limitations
20
* ====================================================================
24
package org.apache.subversion.javahl.util;
26
import org.apache.subversion.javahl.callback.*;
28
import org.apache.subversion.javahl.SVNUtil;
29
import org.apache.subversion.javahl.ClientException;
30
import org.apache.subversion.javahl.NativeResources;
31
import org.apache.subversion.javahl.SubversionException;
33
import java.util.List;
36
* Provides global configuration knobs and
37
* Encapsulates utility functions for authentication credentials management.
40
public class ConfigLib
43
* Load the required native library.
47
NativeResources.loadNativeLibrary();
50
/** @see SVNUtil.enableNativeCredentialsStore */
51
public native void enableNativeCredentialsStore()
52
throws ClientException;
54
/** @see SVNUtil.disableNativeCredentialsStore */
55
public native void disableNativeCredentialsStore()
56
throws ClientException;
58
/** @see SVNUtil.isNativeCredentialsStoreEnabled */
59
public native boolean isNativeCredentialsStoreEnabled()
60
throws ClientException;
63
// Credentials management
66
/** @see SVNUtil.getCredential */
67
public SVNUtil.Credential getCredential(String configDir,
68
SVNUtil.Credential.Kind kind,
70
throws ClientException, SubversionException
72
return nativeGetCredential(configDir, kind.toString(), realm);
75
/** @see SVNUtil.removeCredential */
76
public SVNUtil.Credential removeCredential(String configDir,
77
SVNUtil.Credential.Kind kind,
79
throws ClientException, SubversionException
81
return nativeRemoveCredential(configDir, kind.toString(), realm);
84
/** @see SVNUtil.searchCredentials */
85
public List<SVNUtil.Credential>
86
searchCredentials(String configDir,
87
SVNUtil.Credential.Kind kind,
89
String usernamePattern,
90
String hostnamePattern,
92
throws ClientException, SubversionException
94
return nativeSearchCredentials(
96
(kind != null ? kind.toString() : null),
97
realmPattern, usernamePattern, hostnamePattern, textPattern);
100
private native SVNUtil.Credential
101
nativeGetCredential(String configDir,
104
throws ClientException, SubversionException;
106
private native SVNUtil.Credential
107
nativeRemoveCredential(String configDir,
110
throws ClientException, SubversionException;
112
private native List<SVNUtil.Credential>
113
nativeSearchCredentials(String configDir,
116
String usernamePattern,
117
String hostnamePattern,
119
throws ClientException, SubversionException;