Wiki Markup |
---|
{scrollbar}
|
There
...
are
...
four
...
ways
...
of
...
creating
...
a
...
BI
...
Component:
...
create
...
a
...
BI
...
Component
...
from
...
scratch,
...
convert
...
an
...
existing
...
class
...
into
...
a
...
BI
...
Component,
...
create
...
a
...
subclass
...
of
...
ComponentBase
...
(org.pentaho.plugin.ComponentBase),
...
or
...
create
...
a
...
subclass
...
of
...
SimpleComponent
...
(org.pentaho.plugin.core.SimpleComponent).
...
To
...
become
...
a
...
BI
...
Component,
...
a
...
Java
...
object
...
must
...
implement
...
the
...
org.pentaho.core.component.IComponent
...
interface.
...
The
...
IComponent
...
interface
...
extends
...
two
...
other
...
interfaces:
...
org.pentaho.core.audit.IAuditable
...
and
...
org.pentaho.util.logging.ILogger.
...
Pentaho
...
provides
...
classes
...
that
...
implement
...
these
...
interfaces.
...
The
...
hierarchy
...
of
...
the
...
Pentaho
...
classes
...
looks
...
like
...
this:
...
org.pentaho.core.system.PentahoBase
...
(implements
...
ILogger
...
and
...
Serializable)
...
   -->
...
org.pentaho.core.system.PentahoMessenger
...
       -->
...
org.pentaho.plugin.ComponentBase
...
(implements
...
IComponent
...
and
...
IAuditable)
           -->
...
org.pentaho.plugin.core.SimpleComponent
...
               -->
...
other
...
Pentaho-provided
...
BI
...
Components
...
You
...
can
...
create
...
your
...
BI
...
Components
...
in
...
whatever
...
package
...
you
...
like
...
whether
...
they
...
are
...
subclasses
...
of
...
Pentaho
...
classes
...
or
...
not.
...
There
...
are
...
no
...
required
...
methods
...
that
...
will
...
be
...
inaccessible
...
if
...
you
...
use
...
a
...
non-Pentaho
...
package.
...
Extend
...
SimpleComponent
...
This
...
is
...
the
...
easiest
...
way
...
to
...
create
...
a
...
new
...
component
...
and
...
the
...
recommended
...
place
...
to
...
start.
...
- Create
...
- a
...
- new
...
- Java
...
- class
...
- that
...
- is
...
- a
...
- subclass
...
- of
...
- (extends)
...
- org.pentaho.plugin.core.SimpleComponent.
...
- Implement
...
- an
...
...
- method
...
- and
...
- a
...
...
- method.
...
- See
...
- #Component Methods below for a description of these methods.
Extend ComponentBase
If your component needs to validate its inputs and/or system settings or needs to perform any initialization and/or cleanup, you should extend org.pentaho.plugin.ComponentBase.
...
- Create
...
- a
...
- new
...
- Java
...
- class
...
- that
...
- is
...
- a
...
- subclass
...
- of
...
- (extends)
...
- org.pentaho.plugin.ComponentBase.
...
- Add
...
- code
...
- to
...
- the
...
...
- ,
...
...
- ,
...
...
- ,
...
...
- ,
...
...
- ,
...
- and
...
...
- methods
...
- as
...
- appropriate.
...
Convert a Java Object into a BI Component
If you have an existing object that you wish to convert into a BI Component there are two options.
Create a new object that subclasses your existing object and implements the required interfaces
Change your object to implement the required interfaces
Which of these options is the best for your particular object will depend on your specific circumstances; but, we recommend creating a subclass if only to keep your source file size manageable.
If you do need to use this approach most of the code you need to create your new class can be found in these classes: org.pentaho.core.system.PentahoBase,
...
org.pentaho.core.system.PentahoMessenger,
...
and
...
org.pentaho.plugin.ComponentBase.
...
To
...
make
...
this
...
process
...
easier
...
we
...
have
...
created
...
a
...
class,
...
org.pentaho.plugin.ComponentSubclassExample,
...
that
...
contains
...
the
...
code
...
you
...
need.
...
To
...
convert
...
a
...
Java
...
class
...
to
...
a
...
BI
...
Component:
...
- Copy
...
- the
...
- imports,
...
- member
...
- variables,
...
- and
...
- methods
...
- from
...
- org.pentaho.plugin.ComponentSubclassExample
...
- into
...
- your
...
- Java
...
- class.
...
- Add
...
- code
...
- to
...
- the
...
...
- ,
...
...
- ,
...
...
- ,
...
...
- ,
...
...
- ,
...
- and
...
...
- methods
...
- as
...
- appropriate.
...
Components from Scratch
In order to create a component from scratch a new class that implements the interface org.pentaho.core.component.IComponent
...
must
...
be
...
created.
...
To
...
implement
...
all
...
three
...
interfaces
...
requires
...
about
...
30
...
methods
...
to
...
be
...
implemented.
...
It
...
is
...
not
...
recommended
...
to
...
use
...
this
...
option
...
and
...
there
...
should
...
be
...
no
...
need
...
to
...
do
...
this
...
given
...
the
...
options
...
above.
...
Anchor | ||||
---|---|---|---|---|
|
Component Methods
If using one of the three recommended methods for creating new components, the methods below are the BI Component methods that need to be customized to provide your needed functionality. The methods are listed in the order that they are typically called during normal processing. Depending on the option used to create your component, not all of these methods are required. See above sections for more details.
Child pages (Children Display) |
---|