Package net.shibboleth.profile.plugin

# Class PropertyDrivenPlugin.PackageDescriptor

java.lang.Object
net.shibboleth.profile.plugin.PropertyDrivenPlugin.PackageDescriptor

All Implemented Interfaces:
  `Plugin.Package`

Enclosing class:
  PropertyDrivenPlugin<T extends Module>

private static class PropertyDrivenPlugin.PackageDescriptor extends Object implements Plugin.Package
Implementation of `Plugin.Package` for our use.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final String`
`destination`
What to return to `Plugin.Package.getDestinationName()`.
`private final boolean`
`nonWindows`
What to return to `Plugin.Package.isNonWindows()`.
`private final String`
`source`
What to return to `Plugin.Package.getSourceName()`.
`private final boolean`
`stripToplLevelDir`
What to return to `Plugin.Package.isStripTopLevelDir()`.
`private final boolean`
`windows`
What to return to `Plugin.Package.isWindows()`.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`private`
`PackageDescriptor(String src, String dest, boolean nonWin, boolean win, boolean stripTld)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
.
`String`
`getDestinationName()`
Where the file/string has to be unpacked to (relative to idp.home).
`String`
`getSourceName()`
Where in the zip file is the file.
`int`
`hashCode()`
.
`boolean`
`isNonWindows()`
Is this package for non-windows Only?
`boolean`
`isStripTopLevelDir()`
Is there a meaningless top level directory?
`boolean`
`isWindows()`
Is this package for Windows Only?

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### source

@Nonnull private final String source
What to return to `Plugin.Package.getSourceName()`.

### destination

@Nonnull private final String destination
What to return to `Plugin.Package.getDestinationName()`.

### nonWindows

private final boolean nonWindows
What to return to `Plugin.Package.isNonWindows()`.

### windows

private final boolean windows
What to return to `Plugin.Package.isWindows()`.

### stripToplLevelDir

private final boolean stripToplLevelDir
What to return to `Plugin.Package.isStripTopLevelDir()`.

## Constructor Details

### PackageDescriptor

private PackageDescriptor(@Nonnull String src, @Nonnull String dest, boolean nonWin, boolean win, boolean stripTld)
Constructor.

Parameters:
  `src` - for `getSourceName()`
  `dest` - for `getDestinationName()`
  `nonWin` - for`isNonWindows()`
  `win` - for `isWindows()`

## Method Details

### getSourceName

@Nonnull public String getSourceName()
Where in the zip file is the file.

Specified by:
  `getSourceName` in interface `Plugin.Package`
Returns:
  the location.

### getDestinationName

@Nonnull public String getDestinationName()
Where the file/string has to be unpacked to (relative to idp.home).

Specified by:
  `getDestinationName` in interface `Plugin.Package`
Returns:
  the location

### isWindows

public boolean isWindows()
Is this package for Windows Only?

Specified by:
  `isWindows` in interface `Plugin.Package`
Returns:
  true if it is

### isNonWindows

public boolean isNonWindows()
Is this package for non-windows Only?

Specified by:
  `isNonWindows` in interface `Plugin.Package`
Returns:

### isStripTopLevelDir

public boolean isStripTopLevelDir()
Is there a meaningless top level directory?

Specified by:
  `isStripTopLevelDir` in interface `Plugin.Package`

### equals

public boolean equals(Object obj)
. Hashing and equality is slightly weird because we want to deduplicate on {`destination` only

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()
. Hashing and equality is slightly weird because we want to deduplicate on {`destination` only

Overrides:
  `hashCode` in class `Object`