KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > invicta > api > Product


1 package net.sf.invicta.api;
2  
3 import java.util.List JavaDoc;
4
5
6 /**
7  * An interface that represents a product that was defined for a component.
8  *
9  */

10 public interface Product {
11     
12     /**
13      * Returns the file that was specified for this product (optional).
14      * @return String. File name or relative path. null if not specified.
15      */

16     public String JavaDoc getFile();
17
18     /**
19      * Returns the unique key of this product. This keys allows to easy
20      * manage lists of products.
21      * @return String. Product key.
22      */

23     public String JavaDoc getKey();
24
25     /**
26      * Returns the path of the file of this product. The path is a construction
27      * of the project directory, component directory, component's product
28      * directory and product's file.
29      * @return String. Product's file path. null if a file was not specified.
30      */

31     public String JavaDoc getPath();
32
33     /**
34      * Returns the directory of this product relatively to the component
35      * directory.
36      * @return String. Product's file relative directory.
37      */

38     public String JavaDoc getRelativeDir();
39
40     /**
41      * Returns the name that was specified for this product.
42      * @return String. Product's name. null if a name was not specified.
43      */

44     public String JavaDoc getName();
45
46     /**
47      * Returns a list of names of products that this product depends on.
48      * These are products are defined within the same component of this
49      * product.
50      * @return List of String objects.
51      */

52     public List JavaDoc getDependNames();
53
54     /**
55      * Returns the type of this product. For example: 'jar'.
56      * @return String. Product's type.
57      */

58     public String JavaDoc getType();
59
60     /**
61      * Returns the full name of this product, which is a concatenation of the
62      * component name with the product name (if specified).
63      * @return String. Product's full name.
64      */

65     public String JavaDoc getFullName();
66
67     /**
68      * Returns the relative directory of the component of this product.
69      * @return String
70      */

71     public String JavaDoc getComponentDir();
72
73     /**
74      * Returns the relative directory of the project of the component of
75      * this product.
76      * @return String
77      */

78     public String JavaDoc getProjectDir();
79
80     /**
81      * Returns whether this product is exported to components that depend
82      * on the component of this product.
83      * @return boolean
84      */

85     public boolean getExport();
86
87     /**
88      * Returns the name of the component of this product.
89      * @return String
90      */

91     public String JavaDoc getComponentName();
92
93     /**
94      * Returns the application name specified for this product.
95      * @return String. Application name or null if not specified.
96      */

97     public String JavaDoc getAppName();
98
99     /**
100      * Returns all products that this product depends on, including this
101      * product itself.
102      * @return ProductContainer
103      */

104     public ProductContainer getProducts();
105     
106     /**
107      * Returns all products, which are not exported, that this product
108      * depends on, including this product itself.
109      * @return ProductContainer
110      */

111     public ProductContainer getPrivateProducts();
112     
113     /**
114      * Returns all products, which are exported, that this product
115      * depends on, including this product itself.
116      * @return ProductContainer
117      */

118     public ProductContainer getExportedProducts();
119
120 }
121
Popular Tags