MCPcopy Index your code
hub / github.com/java-native-access/jna / matchFramework

Method matchFramework

src/com/sun/jna/NativeLibrary.java:361–392  ·  view source on GitHub ↗

Look for a matching framework (OSX)

(String libraryName)

Source from the content-addressed store, hash-verified

359
360 /** Look for a matching framework (OSX) */
361 static String[] matchFramework(String libraryName) {
362 Set<String> paths = new LinkedHashSet<>();
363 File framework = new File(libraryName);
364 if (framework.isAbsolute()) {
365 if (libraryName.contains(".framework")) {
366 if (framework.exists()) {
367 return new String[]{framework.getAbsolutePath()};
368 }
369 paths.add(framework.getAbsolutePath());
370 }
371 else {
372 framework = new File(new File(framework.getParentFile(), framework.getName() + ".framework"), framework.getName());
373 if (framework.exists()) {
374 return new String[]{framework.getAbsolutePath()};
375 }
376 paths.add(framework.getAbsolutePath());
377 }
378 }
379 else {
380 final String[] PREFIXES = { System.getProperty("user.home"), "", "/System" };
381 String suffix = !libraryName.contains(".framework")
382 ? libraryName + ".framework/" + libraryName : libraryName;
383 for (String prefix : PREFIXES) {
384 framework = new File(prefix + "/Library/Frameworks/" + suffix);
385 if (framework.exists()) {
386 return new String[]{framework.getAbsolutePath()};
387 }
388 paths.add(framework.getAbsolutePath());
389 }
390 }
391 return paths.toArray(new String[0]);
392 }
393
394 private String getLibraryName(String libraryName) {
395 String simplified = libraryName;

Calls 5

containsMethod · 0.80
getNameMethod · 0.65
getPropertyMethod · 0.65
addMethod · 0.45
toArrayMethod · 0.45