com.basecmp.core.persistence.impl
Interface PersistentAsset

All Superinterfaces:
java.lang.Cloneable, IPersistentRow, java.util.Map
All Known Implementing Classes:
SinglePersistentAsset, TransientAsset

public interface PersistentAsset
extends IPersistentRow, java.lang.Cloneable

Erweiterung des Interface IPersistentRow um funktionale Methoden zur Persistierung der IPersistentRow-Daten und zur Manipulation des Content-Workflow/Online-Status.

Die Implementierungsklassen com.basecmp.core.persistence.impl.GenericAssetund com.basecmp.core.persistence.impl.GenericDistributetAsset dokumentieren das genaue Verhalten der Methoden.

Author:
Wolfgang Schröder

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
static int INTERACTIVE_LAUNCH_CHECK_POLICY
           
static int OVERRULE_LAUNCH_CHECK_POLICY
           
static int SCHEDULED_LAUNCH_CHECK_POLICY
           
 
Method Summary
 java.lang.Long addAttachedAsset(PersistentAsset attachedAsset)
          Fügt den angegebenen Asset als AttachedAsset der aktuellen Instanz an letzter Position hinzu oder ersetzt einen bereits vorhandenen AttachedAsset mit gleicher CID.
 java.lang.Long addAttachedAsset(PersistentAsset attachedAsset, int displayorder)
          Fügt den angegebenen Asset als AttachedAsset der aktuellen Instanz an der angegebenen Position hinzu oder ersetzt einen bereits vorhandenen AttachedAsset mit gleicher CID.
 void addAttachedValue(java.lang.String name, java.lang.String group, java.lang.Object value)
          Erzeugt einen neuen AttachedValue.
 void addChildBinding(Binding aBinding)
          Fügt dem Asset das Binding als Child hinzu (transient).
 void addParentBinding(Binding aBinding)
          Fügt dem Asset das Binding als Parent hinzu (transient).
 boolean checkLaunchConditions(int checkPolicy, java.util.Set infoTree)
          Überprüft für alle Child-Assets, ob der Online-Status offline oder reworking ist.
 java.lang.Object clone()
          Liefert eine flache Kopie der Asset-Instanz, d.h. nur der Asset selbst, nicht jedoch seine Referenzen, attached Values oder attached Assets.
 java.lang.Object clone(PersistentAsset targetAsset)
          Kopiert die Werte der Asset-Instanz in 'targetAsset' (flache Kopie), nicht jedoch seine Referenzen, attached Values oder attached Assets.
 boolean expireAsset()
          Löscht den Asset und alle Referenzen auf ihn aus dem Live-Tablespace.
 java.lang.String getAliasId()
          Liefert eine literale, alternative Content-ID.
 java.lang.String getAssetType()
          Liefert den eindeutigen Assettyp-Namen.
 PersistentAsset getAttachedAsset(java.lang.String assetalias)
          Liefert ein PersistentAsset-Objekt des ersten AttachedAsset des angegebenen Assettyps oder null.
 PersistentAsset getAttachedAsset(java.lang.String usetype, int displayorder)
          Liefert den AttachedAsset mit dem angegebenen Verwendungstyp (usetype) von der angegebenen Posistion (displayorder).
 PersistentAsset getAttachedAssetById(java.lang.Long cid)
          Liefert ein PersistentAsset-Objekt des AttachedAsset der angegebenen Asset-CID oder null.
 java.util.Collection getAttachedAssetIds()
          Liefert eine Collection mit den Ids (Integer) aller AttachedAssets.
 java.util.Collection getAttachedAssets()
          Liefert eine Collection mit PersistentAsset-Objekten aller AttachedAssets.
 java.util.List getAttachedAssets(java.lang.String assetalias)
          Liefert eine List mit PersistentAsset-Objekten aller AttachedAssets des angegebenen Assettyp.
 java.util.List getAttachedAssetsForUseType(java.lang.String usetype)
          Liefert eine List mit PersistentAsset-Objekten aller AttachedAssets des angegebenen Verwendungstyp (UseType).
 PersistentAsset getAttachedValue(java.lang.String valueName)
          Liefert ein PersistentAsset-Objekt des AttachedValue des angegebenen Value-Names oder null.
 PersistentAsset getAttachedValueById(java.lang.Long id)
          Liefert ein PersistentAsset-Objekt des AttachedValue der angegebenen Value-CID oder null.
 java.util.List getAttachedValueGroup(java.lang.String valueGroup)
          Liefert eine List mit PersistentAsset-Objekten aller AttachedValues der angegebenen Value-Group.
 java.util.Collection getAttachedValues()
          Liefert eine Collection mit PersistentAsset-Objekten aller AttachedValues.
 java.util.List getAttachedValues(java.lang.String valueName)
          Liefert eine List mit PersistentAsset-Objekten aller AttachedValues des angegebenen Value-Namen.
 java.lang.String getCaptionForChildBinding(java.lang.Long targetCid, java.lang.String referenceType)
          Liefert die Caption eines Child-Bindings.
 java.lang.String getCaptionForParentBinding(java.lang.Long targetCid, java.lang.String referenceType)
          Liefert die Caption eines Parent-Bindings.
 PersistentAsset getChildAsset(java.lang.String referenceType, int order)
          Liefert den Child-Asset mit dem Referenz-Typ und der angegebenen Order oder null, wenn ein Asset mit dem Typ und der Order nicht existiert.
 java.util.List getChildAssetIds()
          Liefert eine Liste der CIDs aller Child-Assets.
 java.util.List getChildAssetIds(java.lang.String referenceType)
          Liefert eine Liste aller CIDs der Child-Assets mit dem angegebenen Referenz-Typ.
 java.util.List getChildAssets()
          Liefert alle Child-Assets, unabhängig vom Referenz-Typ als Liste mit PersistentAsset-Objekten.
 java.util.List getChildAssets(java.lang.String referenceType)
          Liefert alle Child-Assets mit dem Referenz-Typ als Liste mit PersistentAsset-Objekten.
 java.util.Collection getChildBindings()
          Liefert eine Liste über alle Child-Bindings.
 java.util.List getChildBindings(java.lang.String referenceType)
          Liefert eine Liste über alle Child-Bindings des angegebenen Referenztyps.
 java.lang.Long getId()
          Liefert die numerische Content-ID.
 java.lang.String getLockedBy()
          Liefert den Login-Namen welcher den Asset in Bearbeitung hat oder null.
 PersistentAsset getParentAsset()
          Liefert den Asset der diesen Asset als AttachedAsset verwaltet.
 java.util.List getParentAssetIds()
          Liefert eine Liste aller CIDs der Parent-Assets
 java.util.List getParentAssetIds(java.lang.String referenceType)
          Liefert eine Liste aller CIDs der Parent-Assets mit dem angegebenen Referenz-Typ.
 java.util.List getParentAssets()
          Liefert alle Parent-Assets, unabhängig vom Referenz-Typ als Iterator mit PersistentAsset-Objekten.
 java.util.List getParentAssets(java.lang.String referenceType)
          Liefert alle Parent-Assets mit dem Referenz-Typ als Liste mit PersistentAsset-Objekten.
 java.util.Collection getParentBindings()
          Liefert eine Liste über alle Parent-Bindings.
 java.util.List getParentBindings(java.lang.String referenceType)
          Liefert eine Liste über alle Parent-Bindings des angegebenen Referenztyps.
 boolean isLocked()
          Liefert den aktuellen Lock-Status.
 boolean isOnlineStateExpired()
           
 boolean isOnlineStateLive()
           
 boolean isOnlineStateOffline()
           
 boolean isOnlineStateOfflineOrRevision()
           
 boolean isOnlineStateRevision()
           
 boolean isTransient()
          Liefert true, wenn der Asset neu ist und noch nicht in der DB gespeichert wurde.
 boolean launchAsset()
          Launcht den aktuellen Asset und alle Child-Bindings auf Asset, die schon live sind.
 boolean launchAsset(int checkPolicy)
          Launcht den aktuellen Asset und alle Child-Bindings auf Asset, die schon live sind.
 boolean lock(java.lang.String lockedByName)
          Aktiviert das Lock-Flag für den Asset in der Datenbank und setzt den Loginnamen des Bearbeiters.
 void readAsset(java.lang.Long cid)
          Liest den Asset mit der angegebenen, numerischen Cid aus der Datenbank.
 void readAsset(java.lang.String cid)
          Liest den Asset mit der angegebenen Cid aus der Datenbank.
 void removeAttachedAsset(PersistentAsset attachedAsset)
          Löscht einen vorhandenen AttachedAsset aus der Datenbank und updatet die Positionen der verbliebenen AttachedAssets gleichen Verwendungstyps..
 void removeAttachedValue(java.lang.Long id)
          Löscht einen vorhandenen AttachedValue aus der Datenbank.
 void removeChildBinding(Binding aBinding)
          Löscht das Child-Binding anhand seines Hashwertes (transient) aus der internen Binding-Liste.
 void removeChildBindings(java.lang.String referencetype)
          Löscht alle Child-Bindings eines Referenztyps aus der internen Binding-Liste.
 void removeParentBinding(Binding aBinding)
          Löscht das Parent-Binding anhand seines Hashwertes (transient) aus der internen Binding-Liste.
 void removeParentBindings(java.lang.String referencetype)
          Löscht alle Parent-Bindings eines Referenztyps aus der internen Binding-Liste.
 void setAttachedValue(java.lang.Long id, java.lang.Object value)
          Setzt den vorhandenen AttachedValue mit der id auf einen neuen Wert 'value'.
 boolean setWorkflowStep(java.lang.Long newWorkflowStepId)
          Setzt den Workflow des Assets und den seiner fest gekoppelten Childasssets auf den angegebenen Step.
 int unbindAllChilds()
          Trennt alle Child-Bindings vom Asset (persistent), indem die Bindings endgültig aus der Datenbank gelöscht werden.
 int unbindAllParents()
          Trennt alle Parent-Bindings vom Asset (persistent), indem die Bindings endgültig aus der Datenbank gelöscht werden.
 boolean unlock()
          Deaktiviert das Lock-Flag und löscht den aktuellen Loginnamen im Feld LOCKED_BY.
 boolean wipeAsset()
          Löscht einen Asset und alle Referenzen endgültig aus der Datenbank.
 java.lang.Long writeAsset()
          Schreibt (persistiert) den Asset in die Datenbank.
 
Methods inherited from interface com.basecmp.core.persistence.impl.IPersistentRow
containsColumn, containsXmlAttributes, createColumnNames, createSqlColumnNames, getColumn, getColumnAsBoolean, getColumnAsInt, getColumnAsInteger, getColumnAsLong, getColumnAsLongObject, getColumnAsString, getColumnCount, getDataType, getDateColumn, getPrimaryKeyColumn, getPrimaryKeyColumns, getTableName, isArray, setColumn, setColumnAliasMap, setColumns, setRequestParameters
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Field Detail

INTERACTIVE_LAUNCH_CHECK_POLICY

public static final int INTERACTIVE_LAUNCH_CHECK_POLICY
See Also:
Constant Field Values

OVERRULE_LAUNCH_CHECK_POLICY

public static final int OVERRULE_LAUNCH_CHECK_POLICY
See Also:
Constant Field Values

SCHEDULED_LAUNCH_CHECK_POLICY

public static final int SCHEDULED_LAUNCH_CHECK_POLICY
See Also:
Constant Field Values
Method Detail

addAttachedAsset

public java.lang.Long addAttachedAsset(PersistentAsset attachedAsset)
Fügt den angegebenen Asset als AttachedAsset der aktuellen Instanz an letzter Position hinzu oder ersetzt einen bereits vorhandenen AttachedAsset mit gleicher CID.


addAttachedAsset

public java.lang.Long addAttachedAsset(PersistentAsset attachedAsset,
                                       int displayorder)
Fügt den angegebenen Asset als AttachedAsset der aktuellen Instanz an der angegebenen Position hinzu oder ersetzt einen bereits vorhandenen AttachedAsset mit gleicher CID.


addAttachedValue

public void addAttachedValue(java.lang.String name,
                             java.lang.String group,
                             java.lang.Object value)
Erzeugt einen neuen AttachedValue.


addChildBinding

public void addChildBinding(Binding aBinding)
Fügt dem Asset das Binding als Child hinzu (transient).


addParentBinding

public void addParentBinding(Binding aBinding)
Fügt dem Asset das Binding als Parent hinzu (transient).


checkLaunchConditions

public boolean checkLaunchConditions(int checkPolicy,
                                     java.util.Set infoTree)
Überprüft für alle Child-Assets, ob der Online-Status offline oder reworking ist.


clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Liefert eine flache Kopie der Asset-Instanz, d.h. nur der Asset selbst, nicht jedoch seine Referenzen, attached Values oder attached Assets.

Throws:
java.lang.CloneNotSupportedException

clone

public java.lang.Object clone(PersistentAsset targetAsset)
                       throws java.lang.CloneNotSupportedException
Kopiert die Werte der Asset-Instanz in 'targetAsset' (flache Kopie), nicht jedoch seine Referenzen, attached Values oder attached Assets.

Throws:
java.lang.CloneNotSupportedException

expireAsset

public boolean expireAsset()
Löscht den Asset und alle Referenzen auf ihn aus dem Live-Tablespace.


getAliasId

public java.lang.String getAliasId()
Liefert eine literale, alternative Content-ID.


getAssetType

public java.lang.String getAssetType()
Liefert den eindeutigen Assettyp-Namen.


getAttachedAsset

public PersistentAsset getAttachedAsset(java.lang.String assetalias)
Liefert ein PersistentAsset-Objekt des ersten AttachedAsset des angegebenen Assettyps oder null.


getAttachedAsset

public PersistentAsset getAttachedAsset(java.lang.String usetype,
                                        int displayorder)
Liefert den AttachedAsset mit dem angegebenen Verwendungstyp (usetype) von der angegebenen Posistion (displayorder). Liefert null, wenn die displayorder beim gewünschten Typ nicht existiert.


getAttachedAssetById

public PersistentAsset getAttachedAssetById(java.lang.Long cid)
Liefert ein PersistentAsset-Objekt des AttachedAsset der angegebenen Asset-CID oder null.


getAttachedAssetIds

public java.util.Collection getAttachedAssetIds()
Liefert eine Collection mit den Ids (Integer) aller AttachedAssets.


getAttachedAssets

public java.util.Collection getAttachedAssets()
Liefert eine Collection mit PersistentAsset-Objekten aller AttachedAssets.


getAttachedAssets

public java.util.List getAttachedAssets(java.lang.String assetalias)
Liefert eine List mit PersistentAsset-Objekten aller AttachedAssets des angegebenen Assettyp. Wenn unter dem angegebenen Assetalias kein Asset gespeichert ist, wird eine leere Liste zurückgegeben.


getAttachedAssetsForUseType

public java.util.List getAttachedAssetsForUseType(java.lang.String usetype)
Liefert eine List mit PersistentAsset-Objekten aller AttachedAssets des angegebenen Verwendungstyp (UseType). Wenn unter dem angegebenen Verwendungstyp kein Asset gespeichert ist, wird eine leere Liste zurückgegeben.


getAttachedValue

public PersistentAsset getAttachedValue(java.lang.String valueName)
Liefert ein PersistentAsset-Objekt des AttachedValue des angegebenen Value-Names oder null.


getAttachedValueById

public PersistentAsset getAttachedValueById(java.lang.Long id)
Liefert ein PersistentAsset-Objekt des AttachedValue der angegebenen Value-CID oder null.


getAttachedValueGroup

public java.util.List getAttachedValueGroup(java.lang.String valueGroup)
Liefert eine List mit PersistentAsset-Objekten aller AttachedValues der angegebenen Value-Group. Wenn unter der angegebenen Gruppe kein Asset gespeichert ist, wird eine leere Liste zurückgegeben.


getAttachedValues

public java.util.Collection getAttachedValues()
Liefert eine Collection mit PersistentAsset-Objekten aller AttachedValues.


getAttachedValues

public java.util.List getAttachedValues(java.lang.String valueName)
Liefert eine List mit PersistentAsset-Objekten aller AttachedValues des angegebenen Value-Namen. Wenn unter dem angegebenen Namen kein Value gespeichert ist, wird eine leere Liste zurückgegeben.


getCaptionForChildBinding

public java.lang.String getCaptionForChildBinding(java.lang.Long targetCid,
                                                  java.lang.String referenceType)
Liefert die Caption eines Child-Bindings.

Parameters:
targetCid - Child-CID des gesuchten Bindings
referenceType - Gespeicherter Referenztyp des gesuchten Bindings

getCaptionForParentBinding

public java.lang.String getCaptionForParentBinding(java.lang.Long targetCid,
                                                   java.lang.String referenceType)
Liefert die Caption eines Parent-Bindings.

Parameters:
targetCid - Child-CID des gesuchten Bindings
referenceType - Gespeicherter Referenztyp des gesuchten Bindings

getChildAsset

public PersistentAsset getChildAsset(java.lang.String referenceType,
                                     int order)
Liefert den Child-Asset mit dem Referenz-Typ und der angegebenen Order oder null, wenn ein Asset mit dem Typ und der Order nicht existiert.


getChildAssetIds

public java.util.List getChildAssetIds()
Liefert eine Liste der CIDs aller Child-Assets.


getChildAssetIds

public java.util.List getChildAssetIds(java.lang.String referenceType)
Liefert eine Liste aller CIDs der Child-Assets mit dem angegebenen Referenz-Typ.


getChildAssets

public java.util.List getChildAssets()
Liefert alle Child-Assets, unabhängig vom Referenz-Typ als Liste mit PersistentAsset-Objekten.


getChildAssets

public java.util.List getChildAssets(java.lang.String referenceType)
Liefert alle Child-Assets mit dem Referenz-Typ als Liste mit PersistentAsset-Objekten.


getChildBindings

public java.util.Collection getChildBindings()
Liefert eine Liste über alle Child-Bindings.


getChildBindings

public java.util.List getChildBindings(java.lang.String referenceType)
Liefert eine Liste über alle Child-Bindings des angegebenen Referenztyps.


getId

public java.lang.Long getId()
Liefert die numerische Content-ID.


getLockedBy

public java.lang.String getLockedBy()
Liefert den Login-Namen welcher den Asset in Bearbeitung hat oder null.


getParentAsset

public PersistentAsset getParentAsset()
Liefert den Asset der diesen Asset als AttachedAsset verwaltet. Liefert null, wenn der Asset kein AttachedAsset ist oder der Asset nicht existiert.


getParentAssetIds

public java.util.List getParentAssetIds()
Liefert eine Liste aller CIDs der Parent-Assets


getParentAssetIds

public java.util.List getParentAssetIds(java.lang.String referenceType)
Liefert eine Liste aller CIDs der Parent-Assets mit dem angegebenen Referenz-Typ.


getParentAssets

public java.util.List getParentAssets()
Liefert alle Parent-Assets, unabhängig vom Referenz-Typ als Iterator mit PersistentAsset-Objekten.


getParentAssets

public java.util.List getParentAssets(java.lang.String referenceType)
Liefert alle Parent-Assets mit dem Referenz-Typ als Liste mit PersistentAsset-Objekten.


getParentBindings

public java.util.Collection getParentBindings()
Liefert eine Liste über alle Parent-Bindings.


getParentBindings

public java.util.List getParentBindings(java.lang.String referenceType)
Liefert eine Liste über alle Parent-Bindings des angegebenen Referenztyps.


isLocked

public boolean isLocked()
Liefert den aktuellen Lock-Status.


isOnlineStateExpired

public boolean isOnlineStateExpired()
Returns:
Liefert true, wenn der Online-Status der Asset-Instanz 'expired' ist.

isOnlineStateLive

public boolean isOnlineStateLive()
Returns:
Liefert true, wenn der Online-Status der Asset-Instanz 'live'ist.

isOnlineStateOffline

public boolean isOnlineStateOffline()
Returns:
Liefert true, wenn der Online-Status der Asset-Instanz 'offline' ist.

isOnlineStateOfflineOrRevision

public boolean isOnlineStateOfflineOrRevision()
Returns:
Liefert true, wenn der Online-Status der Asset-Instanz 'offline' oder 'revision' ist.

isOnlineStateRevision

public boolean isOnlineStateRevision()
Returns:
Liefert true, wenn der Online-Status der Asset-Instanz 'offline' oder 'revision' ist.

isTransient

public boolean isTransient()
Liefert true, wenn der Asset neu ist und noch nicht in der DB gespeichert wurde.


launchAsset

public boolean launchAsset()
Launcht den aktuellen Asset und alle Child-Bindings auf Asset, die schon live sind.


launchAsset

public boolean launchAsset(int checkPolicy)
Launcht den aktuellen Asset und alle Child-Bindings auf Asset, die schon live sind.


lock

public boolean lock(java.lang.String lockedByName)
Aktiviert das Lock-Flag für den Asset in der Datenbank und setzt den Loginnamen des Bearbeiters. Liefert true, wenn Aktion fehlerfrei ausgeführt wurde, sonst false.


readAsset

public void readAsset(java.lang.Long cid)
Liest den Asset mit der angegebenen, numerischen Cid aus der Datenbank.


readAsset

public void readAsset(java.lang.String cid)
Liest den Asset mit der angegebenen Cid aus der Datenbank. Die Cid darf hier auch non-numerisch sein!


removeAttachedAsset

public void removeAttachedAsset(PersistentAsset attachedAsset)
Löscht einen vorhandenen AttachedAsset aus der Datenbank und updatet die Positionen der verbliebenen AttachedAssets gleichen Verwendungstyps..


removeAttachedValue

public void removeAttachedValue(java.lang.Long id)
Löscht einen vorhandenen AttachedValue aus der Datenbank.


removeChildBinding

public void removeChildBinding(Binding aBinding)
Löscht das Child-Binding anhand seines Hashwertes (transient) aus der internen Binding-Liste.


removeChildBindings

public void removeChildBindings(java.lang.String referencetype)
Löscht alle Child-Bindings eines Referenztyps aus der internen Binding-Liste.


removeParentBinding

public void removeParentBinding(Binding aBinding)
Löscht das Parent-Binding anhand seines Hashwertes (transient) aus der internen Binding-Liste.


removeParentBindings

public void removeParentBindings(java.lang.String referencetype)
Löscht alle Parent-Bindings eines Referenztyps aus der internen Binding-Liste.


setAttachedValue

public void setAttachedValue(java.lang.Long id,
                             java.lang.Object value)
Setzt den vorhandenen AttachedValue mit der id auf einen neuen Wert 'value'.


setWorkflowStep

public boolean setWorkflowStep(java.lang.Long newWorkflowStepId)
Setzt den Workflow des Assets und den seiner fest gekoppelten Childasssets auf den angegebenen Step. Um dies zu tun, wird der Asset auch in der Datenbank erneut persistiert!

Das setzen des Workflow auf einen Step mit Online-Status=live ist nicht zu verwechseln mit dem Launchen eines Assets! setWorkflowStep() berechnet lediglich anhand des aktuellen Online-Status und des neuen WorkflowStep den neuen Online-Status.


unbindAllChilds

public int unbindAllChilds()
Trennt alle Child-Bindings vom Asset (persistent), indem die Bindings endgültig aus der Datenbank gelöscht werden.


unbindAllParents

public int unbindAllParents()
Trennt alle Parent-Bindings vom Asset (persistent), indem die Bindings endgültig aus der Datenbank gelöscht werden.


unlock

public boolean unlock()
Deaktiviert das Lock-Flag und löscht den aktuellen Loginnamen im Feld LOCKED_BY. Liefert true, wenn Aktion fehlerfrei ausgeführt wurde, sonst false.


wipeAsset

public boolean wipeAsset()
Löscht einen Asset und alle Referenzen endgültig aus der Datenbank.


writeAsset

public java.lang.Long writeAsset()
Schreibt (persistiert) den Asset in die Datenbank.

Wenn der Primary-Key "0" enthält, wird der Asset als neu angesehen. Neue Assets werden angelegt (Insert), bestehende werden nachgeführt (Update).



Copyright © 2004 by basecmp® - Professional Web Solutions