wt.vc.config
Class ViewConfigSpec

java.lang.Object
  extended bywt.vc.config.ViewConfigSpec
All Implemented Interfaces:
ConfigSpec, Externalizable, NetFactor, ObjectMappable, Serializable

public class ViewConfigSpec
extends Object
implements ConfigSpec, ObjectMappable, Externalizable

The ViewConfigSpec can be used to filter ViewManageable elements based on view membership. If 'isParentIncluded()' is set to false, only view-independent and view-dependent versions that are in the specified view are returned. Otherwise, for view-dependent versions not in the specified view, the parents are also searched until a match is found or there are no more parents to search.

Use the newViewConfigSpec static factory method(s), not the ViewConfigSpec constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
ViewManageable, Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
static String PARENT_INCLUDED
          Label for the attribute; If set to true, search the parents of the view if no match is found for the view-dependent versions of the master.
private  boolean parentIncluded
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
static String VIEW
          Label for the attribute; The view to match.
private  ViewReference viewRef
           
 
Constructor Summary
ViewConfigSpec()
           
 
Method Summary
 QuerySpec appendSearchCriteria(QuerySpec querySpec)
          Appends a "view = getView() OR view = null" to the QuerySpec if isParentIncluded() is false, otherwise appends "view = getView() OR view = parentView [...] OR view = null".
 ClassInfo getClassInfo()
          Returns the ClassInfo object for this class.
 String getConceptualClassname()
          Deprecated.  
 View getView()
          Gets the value of the attribute: VIEW.
protected  void initialize(View view)
          Supports initialization, following construction of an instance.
 boolean isParentIncluded()
          Gets the value of the attribute: PARENT_INCLUDED.
static ViewConfigSpec newViewConfigSpec()
          

Supported API: false
static ViewConfigSpec newViewConfigSpec(View view)
          Constructs a new ViewConfigSpec using the specified view.
 QueryResult process(QueryResult results)
          Returns view-independent versions and versions in the current view.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(ViewConfigSpec thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setParentIncluded(boolean a_ParentIncluded)
          Sets the value of the attribute: PARENT_INCLUDED.
 void setView(View a_View)
          Sets the value of the attribute: VIEW.
 String toString()
          Returns the conceptual (modeled) name for the class.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

PARENT_INCLUDED

public static final String PARENT_INCLUDED
Label for the attribute; If set to true, search the parents of the view if no match is found for the view-dependent versions of the master. If false, only versions in the specified view or view-dependent will match.

Supported API: true

See Also:
Constant Field Values

parentIncluded

private boolean parentIncluded

VIEW

public static final String VIEW
Label for the attribute; The view to match. A null indicates that only view-independent elements are desired.

Supported API: true

See Also:
Constant Field Values

viewRef

private ViewReference viewRef

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

ViewConfigSpec

public ViewConfigSpec()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(ViewConfigSpec thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

toString

public String toString()
Returns the conceptual (modeled) name for the class.

Supported API: false

Returns:
String

getClassInfo

public ClassInfo getClassInfo()
                       throws WTIntrospectionException
Returns the ClassInfo object for this class.

Supported API: false

Specified by:
getClassInfo in interface NetFactor
Returns:
ClassInfo
Throws:
WTIntrospectionException

isParentIncluded

public boolean isParentIncluded()
Gets the value of the attribute: PARENT_INCLUDED. If set to true, search the parents of the view if no match is found for the view-dependent versions of the master. If false, only versions in the specified view or view-dependent will match.

Supported API: true

Returns:
boolean

setParentIncluded

public void setParentIncluded(boolean a_ParentIncluded)
                       throws WTPropertyVetoException
Sets the value of the attribute: PARENT_INCLUDED. If set to true, search the parents of the view if no match is found for the view-dependent versions of the master. If false, only versions in the specified view or view-dependent will match.

Supported API: true

Parameters:
a_ParentIncluded -
Throws:
WTPropertyVetoException

getView

public View getView()
             throws ObjectNoLongerExistsException
Gets the value of the attribute: VIEW. The view to match. A null indicates that only view-independent elements are desired.

Supported API: true

Returns:
View
Throws:
ObjectNoLongerExistsException

setView

public void setView(View a_View)
             throws WTPropertyVetoException
Sets the value of the attribute: VIEW. The view to match. A null indicates that only view-independent elements are desired.

Supported API: true

Parameters:
a_View -
Throws:
WTPropertyVetoException

appendSearchCriteria

public QuerySpec appendSearchCriteria(QuerySpec querySpec)
                               throws WTException,
                                      QueryException
Appends a "view = getView() OR view = null" to the QuerySpec if isParentIncluded() is false, otherwise appends "view = getView() OR view = parentView [...] OR view = null". Note that if the view is null, the view = null condition will still apply, and only view-independent objects will be returned.

Supported API: true

Specified by:
appendSearchCriteria in interface ConfigSpec
Parameters:
querySpec - A QuerySpec with a target class that is Iterated.
Returns:
QuerySpec
Throws:
WTException
QueryException
See Also:
QuerySpec, SearchCondition

process

public QueryResult process(QueryResult results)
                    throws WTException
Returns view-independent versions and versions in the current view. If isParentIncluded() and there are no versions for a particular master in the specified view, the view's parents are checked until there is a match or no views remain.

Supported API: true

Specified by:
process in interface ConfigSpec
Parameters:
results - QueryResult of iterations to filter. Assumed to be the result of a query that included the additional search conditions applied by appendSearchCriteria. Note that after enumerating through the elements of this QueryResult, it should be reset.
Returns:
QueryResult
Throws:
WTException
See Also:
QueryResult, Iterated

newViewConfigSpec

public static ViewConfigSpec newViewConfigSpec(View view)
                                        throws WTPropertyVetoException
Constructs a new ViewConfigSpec using the specified view.

Supported API: true

Parameters:
view -
Returns:
ViewConfigSpec
Throws:
WTPropertyVetoException

initialize

protected void initialize(View view)
                   throws WTPropertyVetoException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Parameters:
view -
Throws:
WTPropertyVetoException

newViewConfigSpec

public static ViewConfigSpec newViewConfigSpec()


Supported API: false

Returns:
ViewConfigSpec