|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.mmbase.module.core.MMTable
org.mmbase.module.core.MMObjectBuilder
org.mmbase.module.builders.MultiRelations
ClusterBuilder instead.
MultiRelations is a builder which creates 'virtual' nodes.
The nodes are build out of a set of fields from different nodes, combined through a complex query,
which is in turn based on the relations that exist between nodes.
The builder supplies a method to retrieve these virtual nodes: searchMultiLevelVector().
Other public methods in this builder function to handle the requests for data obtained from this particular node.
| Field Summary | |
static int |
SEARCH_ALL
Deprecated. Use RelationStep.DIRECTIONS_ALL
instead. |
static int |
SEARCH_BOTH
Deprecated. Use RelationStep.DIRECTIONS_BOTH
instead. |
static int |
SEARCH_DESTINATION
Deprecated. Use RelationStep.DIRECTIONS_DESTINATION
instead. |
static int |
SEARCH_EITHER
Deprecated. Use RelationStep.DIRECTIONS_EITHER
instead. |
static int |
SEARCH_SOURCE
Deprecated. Use RelationStep.DIRECTIONS_SOURCE
instead. |
| Fields inherited from class org.mmbase.module.core.MMObjectBuilder |
AGE_PARAMETERS, broadcastChanges, database, DEFAULT_ALINEA, DEFAULT_EOL, description, descriptions, fields, GUI_PARAMETERS, listCache, nodeCache, OBJ2TYPE_MAX_SIZE, oType, REPLACE_CACHE, searchAge, sortedDBLayout, TEMPNODE_DEFAULT_SIZE, TemporaryNodes, virtual |
| Fields inherited from class org.mmbase.module.core.MMTable |
mmb, tableName |
| Constructor Summary | |
MultiRelations(MMBase m)
Deprecated. Creates an instance of the MultiRelations builder. |
|
| Method Summary | |
boolean |
create()
Deprecated. Creates a new builder table in the current database. |
int |
getDBType(java.lang.String fieldName)
Deprecated. Return a field's database type. |
java.lang.String |
getGUIIndicator(MMObjectNode node)
Deprecated. What should a GUI display for this node. |
java.lang.String |
getGUIIndicator(java.lang.String field,
MMObjectNode node)
Deprecated. What should a GUI display for this node/field combo. |
protected java.lang.String |
getRelationString(java.util.Vector alltables)
Deprecated. Creates a condition string which checks the relations between nodes. |
protected java.lang.String |
getRelationString(java.util.Vector alltables,
int searchdir)
Deprecated. Creates a condition string which checks the relations between nodes. |
protected java.lang.String |
getSelectString(java.util.Vector alltables,
java.util.Vector rfields)
Deprecated. Creates a select string for the Multi level query. |
byte[] |
getShortedByte(java.lang.String fieldname,
int number)
Deprecated. Get binary data of a database blob field. |
java.lang.String |
getShortedText(java.lang.String fieldname,
int number)
Deprecated. Get text from a blob field. |
protected java.lang.String |
getTableString(java.util.Vector alltables)
Deprecated. This method defines what is 'allowed' in tablenames. |
java.lang.Object |
getValue(MMObjectNode node,
java.lang.String fieldName)
Deprecated. Provides additional functionality when obtaining field values. |
protected java.lang.String |
idx2char(int idx)
Deprecated. Converts an index to a one-character string. |
int |
insert(java.lang.String owner,
MMObjectNode node)
Deprecated. Insert a new object (content provided) in the cloud, including an entry for the object alias (if provided). |
java.util.Vector |
searchMultiLevelVector(int snode,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction)
Deprecated. Return all the objects that match the searchkeys. |
java.util.Vector |
searchMultiLevelVector(java.util.Vector snodes,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction)
Deprecated. Return all the objects that match the searchkeys. |
java.util.Vector |
searchMultiLevelVector(java.util.Vector snodes,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction,
int searchdir)
Deprecated. Return all the objects that match the searchkeys. |
| Methods inherited from class org.mmbase.module.core.MMTable |
created, getFullTableName, getTableName, size |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int SEARCH_BOTH
RelationStep.DIRECTIONS_BOTH
instead.
public static final int SEARCH_DESTINATION
RelationStep.DIRECTIONS_DESTINATION
instead.
public static final int SEARCH_SOURCE
RelationStep.DIRECTIONS_SOURCE
instead.
public static final int SEARCH_ALL
RelationStep.DIRECTIONS_ALL
instead.
public static final int SEARCH_EITHER
RelationStep.DIRECTIONS_EITHER
instead.
| Constructor Detail |
public MultiRelations(MMBase m)
m - the MMbase cloud creating the node| Method Detail |
public boolean create()
create in class MMObjectBuilder
public int insert(java.lang.String owner,
MMObjectNode node)
insert in class MMObjectBuilderowner - The administrator creating the nodenode - The object to insert
public java.lang.String getGUIIndicator(MMObjectNode node)
getGUIIndicator in class MMObjectBuildernode - The node to display
String
public java.lang.String getGUIIndicator(java.lang.String field,
MMObjectNode node)
getGUIIndicator in class MMObjectBuildernode - The node to displayfield - the name field of the field to display
String, null if not specifiedpublic int getDBType(java.lang.String fieldName)
getDBType in class MMObjectBuilder
public java.lang.Object getValue(MMObjectNode node,
java.lang.String fieldName)
getValue in class MMObjectBuildernode - the node whos efields are queriesfieldName - the fieldname that is requested
public java.util.Vector searchMultiLevelVector(int snode,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction)
snode - The number of the node to start the search with. The node has to be present in the first table
listed in the tables parameter.fields - The fieldnames to return. This should include the name of the builder. Fieldnames without a builder prefix are ignored.
Fieldnames are accessible in the nodes returned in the same format (i.e. with manager indication) as they are specified in this parameter.
Examples: 'people.lastname'pdistinct - 'YES' indicates the records returned need to be distinct. Any other value indicates double values can be returned.tables - The builder chain. A list containing builder names.
The search is formed by following the relations between successive builders in the list. It is possible to explicitly supply
a relation builder by placing the name of the builder between two builders to search.
Example: company,people or typedef,authrel,people.where - The constraint. this is in essence a SQL where clause, using the NodeManager names from the nodes as tablenames.
The syntax is either sql (if preceded by "WHERE') or
Examples: "WHERE people.email IS NOT NULL", "(authrel.creat=1) and (people.lastname='admin')"orderVec - the fieldnames on which you want to sort.direction - A list of values containing, for each field in the order parameter, a value indicating whether the sort is
ascending (UP) or descending (DOWN). If less values are syupplied then there are fields in order,
the first value in the list is used for the remaining fields. Default value is 'UP'.
Vector containing all matching nodes
public java.util.Vector searchMultiLevelVector(java.util.Vector snodes,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction)
snodes - The numbers of the nodes to start the search with. These have to be present in the first table
listed in the tables parameter.fields - The fieldnames to return. This should include the name of the builder. Fieldnames without a builder prefix are ignored.
Fieldnames are accessible in the nodes returned in the same format (i.e. with manager indication) as they are specified in this parameter.
Examples: 'people.lastname'pdistinct - 'YES' indicates the records returned need to be distinct. Any other value indicates double values can be returned.tables - The builder chain. A list containing builder names.
The search is formed by following the relations between successive builders in the list. It is possible to explicitly supply
a relation builder by placing the name of the builder between two builders to search.
Example: company,people or typedef,authrel,people.where - The constraint. this is in essence a SQL where clause, using the NodeManager names from the nodes as tablenames.
The syntax is either sql (if preceded by "WHERE') or
Examples: "WHERE people.email IS NOT NULL", "(authrel.creat=1) and (people.lastname='admin')"orderVec - the fieldnames on which you want to sort.direction - A list of values containing, for each field in the order parameter, a value indicating whether the sort is
ascending (UP) or descending (DOWN). If less values are syupplied then there are fields in order,
the first value in the list is used for the remaining fields. Default value is 'UP'.
Vector containing all matching nodes
public java.util.Vector searchMultiLevelVector(java.util.Vector snodes,
java.util.Vector fields,
java.lang.String pdistinct,
java.util.Vector tables,
java.lang.String where,
java.util.Vector orderVec,
java.util.Vector direction,
int searchdir)
snodes - The numbers of the nodes to start the search with. These have to be present in the first table
listed in the tables parameter.fields - The fieldnames to return. This should include the name of the builder. Fieldnames without a builder prefix are ignored.
Fieldnames are accessible in the nodes returned in the same format (i.e. with manager indication) as they are specified in this parameter.
Examples: 'people.lastname'pdistinct - 'YES' indicates the records returned need to be distinct. Any other value indicates double values can be returned.tables - The builder chain. A list containing builder names.
The search is formed by following the relations between successive builders in the list. It is possible to explicitly supply
a relation builder by placing the name of the builder between two builders to search.
Example: company,people or typedef,authrel,people.where - The constraint. this is in essence a SQL where clause, using the NodeManager names from the nodes as tablenames.
The syntax is either sql (if preceded by "WHERE') or
Examples: "WHERE people.email IS NOT NULL", "(authrel.creat=1) and (people.lastname='admin')"orderVec - the fieldnames on which you want to sort.direction - A list of values containing, for each field in the order parameter, a value indicating whether the sort is
ascending (UP) or descending (DOWN). If less values are syupplied then there are fields in order,
the first value in the list is used for the remaining fields. Default value is 'UP'.
Vector containing all matching nodes
protected java.lang.String getSelectString(java.util.Vector alltables,
java.util.Vector rfields)
alltables - the tablenames to userfields - the fields that were requested
Stringprotected java.lang.String getTableString(java.util.Vector alltables)
protected java.lang.String getRelationString(java.util.Vector alltables)
alltables - the tablenames to use
String
protected java.lang.String getRelationString(java.util.Vector alltables,
int searchdir)
alltables - the tablenames to usesearchdir - the directionality option to use
Stringprotected java.lang.String idx2char(int idx)
idx - the index
String
public java.lang.String getShortedText(java.lang.String fieldname,
int number)
getShortedText in class MMObjectBuilderfieldname - name of the fieldnumber - number of the object in the table
String containing the contents of a field as text
public byte[] getShortedByte(java.lang.String fieldname,
int number)
getShortedByte in class MMObjectBuilderfieldname - name of the fieldnumber - number of the object in the table
byte containing the contents of a field as text
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||