org.apache.felix.ipojo.manipulator

## Class Pojoization

- java.lang.Object
- - org.apache.felix.ipojo.manipulator.Pojoization

    public class Pojoization
    extends Object

Pojoization allows creating an iPOJO bundle from a "normal" bundle.

Author:
  Felix Project Team

### Constructor Summary

Constructors
Constructor and Description
`Pojoization()`
`Pojoization(ModuleProvider provider)`
`Pojoization(Reporter reporter)`
`Pojoization(Reporter reporter, ModuleProvider moduleProvider)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`void` `directoryPojoization(File directory, File metadataFile, File manifestFile)` Deprecated.
`void` `directoryPojoization(File directory, File metadataFile, File manifestFile, ClassLoader loader)` Manipulates an expanded bundles.
`void` `disableAnnotationProcessing()` Activates annotation processing.
`List<String>` `getErrors()`
`List<String>` `getWarnings()`
`void` `pojoization(File in, File out, File metadataFile)` Deprecated.
`void` `pojoization(File in, File out, File metadataFile, ClassLoader loader)` Manipulates an input bundle.
`void` `pojoization(File in, File out, InputStream metadata)` Deprecated.
`void` `pojoization(File in, File out, InputStream metadata, ClassLoader loader)` Manipulates an input bundle.
`void` `pojoization(ResourceStore store, MetadataProvider metadata, ManipulationVisitor visitor, ClassLoader loader)`
`void` `setUseLocalXSD()` Activates the entity resolver loading XSD files from the classloader.

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

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

### Constructor Detail

#### Pojoization

    public Pojoization()

#### Pojoization

    public Pojoization(ModuleProvider provider)

#### Pojoization

    public Pojoization(Reporter reporter)

#### Pojoization

    public Pojoization(Reporter reporter,
                       ModuleProvider moduleProvider)

### Method Detail

#### disableAnnotationProcessing

    public void disableAnnotationProcessing()

Activates annotation processing.

#### setUseLocalXSD

    public void setUseLocalXSD()

Activates the entity resolver loading XSD files from the classloader.

#### getErrors

    public List<String> getErrors()

Returns:
  all the errors (fatal) reported by the manipulation process.

#### getWarnings

    public List<String> getWarnings()

Returns:
  all the warnings (non fatal) reported by the manipulation process.

#### pojoization

    public void pojoization(File in,
                            File out,
                            InputStream metadata)

Deprecated.
Manipulates an input bundle. This method creates an iPOJO bundle based on the given metadata file. The original and final bundles must be different.

This method does not use the classloader parameter, and use the classloader having loaded the `Pojoization` class. It's definitely not recommended.

Parameters:
  `in` - the original bundle.
  `out` - the final bundle.
  `metadata` - the iPOJO metadata input stream.

#### pojoization

    public void pojoization(File in,
                            File out,
                            InputStream metadata,
                            ClassLoader loader)

Manipulates an input bundle. This method creates an iPOJO bundle based on the given metadata file. The original and final bundles must be different.

Parameters:
  `in` - the original bundle.
  `out` - the final bundle.
  `metadata` - the iPOJO metadata input stream.
  `loader` - the classloader used to compute the bytecode frames.

#### pojoization

    public void pojoization(File in,
                            File out,
                            File metadataFile)

Deprecated.
Manipulates an input bundle. This method creates an iPOJO bundle based on the given metadata file. The original and final bundles must be different.

This method does not use the classloader parameter, and use the classloader having loaded the `Pojoization` class. It's definitely not recommended.

Parameters:
  `in` - the original bundle.
  `out` - the final bundle.
  `metadataFile` - the iPOJO metadata file (XML).

#### pojoization

    public void pojoization(File in,
                            File out,
                            File metadataFile,
                            ClassLoader loader)

Manipulates an input bundle. This method creates an iPOJO bundle based on the given metadata file. The original and final bundles must be different.

Parameters:
  `in` - the original bundle.
  `out` - the final bundle.
  `metadataFile` - the iPOJO metadata file (XML).
  `loader` - the classloader used to compute the bytecode frames.

#### directoryPojoization

    public void directoryPojoization(File directory,
                                     File metadataFile,
                                     File manifestFile)

Deprecated.
Manipulates an expanded bundles. Classes are in the specified directory. this method allows to update a customized manifest.

This method does not use the classloader parameter, and use the classloader having loaded the `Pojoization` class. It's definitely not recommended.

Parameters:
  `directory` - the directory containing classes
  `metadataFile` - the metadata file
  `manifestFile` - the manifest file. `null` to use directory/META-INF/MANIFEST.mf

#### directoryPojoization

    public void directoryPojoization(File directory,
                                     File metadataFile,
                                     File manifestFile,
                                     ClassLoader loader)

Manipulates an expanded bundles. Classes are in the specified directory. this method allows to update a customized manifest.

Parameters:
  `directory` - the directory containing classes
  `metadataFile` - the metadata file
  `manifestFile` - the manifest file. `null` to use directory/META-INF/MANIFEST.mf
  `loader` - the classloader used to compute the bytecode frames.

#### pojoization

    public void pojoization(ResourceStore store,
                            MetadataProvider metadata,
                            ManipulationVisitor visitor,
                            ClassLoader loader)