blob: e1873945d5b80b250f2659d870b95a875989b535 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
/*******************************************************************************
* Copyright (c) 2010 EclipseSource and others.
* All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package org.eclipse.equinox.p2.repository.artifact;
import org.eclipse.equinox.p2.repository.artifact.spi.ProcessingStepDescriptor;
/**
* Describes a processing step. Processing steps are pieces of code that participate
* in the the transfer of an artifact between artifact repositories. A step may alter
* the shape of the artifact from its storage format in the repository (such as performing
* compression), or it may perform additional checks on the transferred bytes such as
* checksums or signature verification.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients. Instead subclass the {@link ProcessingStepDescriptor}.
* @see IArtifactDescriptor#getProcessingSteps()
* @since 2.0
*/
public interface IProcessingStepDescriptor {
/**
* Returns the fully qualified id of the processing step extension.
*
* @return The fully qualified processing step extension id
*/
public abstract String getProcessorId();
/**
* An argument that is passed to the processing step instance. The structure
* and content of the data is specific to the particular processing step being used.
* @return the processing step data
*/
public abstract String getData();
/**
* Returns whether the successful execution of this processing step is
* required for the transfer to be successful. If the processing step extension
* is not installed, or fails to execute, then the artifact transfer will fail if the
* step is required. Failure of optional steps will result in warnings but not prevent
* the transfer from succeeding.
*
* @return <code>true</code> if the transfer will fail if this step does not succeed,
* and <code>false</code> otherwise
*/
public abstract boolean isRequired();
}
|