com.wewebu.ow.server.ecmimpl.opencmis.object
Class OwCMISAbstractNativeObject<N extends org.apache.chemistry.opencmis.client.api.TransientCmisObject,T extends org.apache.chemistry.opencmis.client.api.ObjectType,C extends OwCMISNativeObjectClass<T,N>>

java.lang.Object
  extended by com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISAbstractObject<C>
      extended by com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISAbstractSessionObject<OwCMISNativeSession,C>
          extended by com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISAbstractNativeObject<N,T,C>
All Implemented Interfaces:
com.wewebu.ow.server.ecm.OwObject, com.wewebu.ow.server.ecm.OwObjectReference, OwCMISNativeObject<N>, OwCMISObject, OwCMISSessionObject, com.wewebu.ow.server.field.OwFieldProvider
Direct Known Subclasses:
OwCMISAbstractTransientDocumentObject, OwCMISFolderObject, OwCMISPolicyObject, OwCMISRelationshipObject

public abstract class OwCMISAbstractNativeObject<N extends org.apache.chemistry.opencmis.client.api.TransientCmisObject,T extends org.apache.chemistry.opencmis.client.api.ObjectType,C extends OwCMISNativeObjectClass<T,N>>
extends OwCMISAbstractSessionObject<OwCMISNativeSession,C>
implements OwCMISNativeObject<N>

Abstraction for native based object handling. Derived instances will be concrete/specific type implementation.

Alfresco Workdesk
Copyright (c) Alfresco Software, Inc.
All rights reserved.

For licensing information read the license.txt file or
go to: http://wiki.alfresco.com


Field Summary
protected  OwCMISTransientObject<N> owTransientObject
           
 
Fields inherited from interface com.wewebu.ow.server.ecm.OwObject
STANDARD_PATH_DELIMITER
 
Fields inherited from interface com.wewebu.ow.server.ecm.OwObjectReference
OBJECT_TYPE_ALL_CONTAINER_OBJECTS, OBJECT_TYPE_ALL_CONTENT_OBJECTS, OBJECT_TYPE_ALL_TUPLE_OBJECTS, OBJECT_TYPE_ALL_WORKFLOW_OBJECTS, OBJECT_TYPE_BPM_ROOT_FOLDER, OBJECT_TYPE_CONTAINER_USER_START, OBJECT_TYPE_CONTENT_USER_START, OBJECT_TYPE_CROSS_QUEUE_FOLDER, OBJECT_TYPE_CUSTOM, OBJECT_TYPE_DOCUMENT, OBJECT_TYPE_DYNAMIC_VIRTUAL_FOLDER, OBJECT_TYPE_ECM_ROOT_FOLDER, OBJECT_TYPE_FOLDER, OBJECT_TYPE_HISTORY, OBJECT_TYPE_LINK, OBJECT_TYPE_PROXY_QUEUE_FOLDER, OBJECT_TYPE_PUBLIC_QUEUE_FOLDER, OBJECT_TYPE_ROSTER_FOLDER, OBJECT_TYPE_ROSTERITEM, OBJECT_TYPE_STORED_SEARCH, OBJECT_TYPE_SYS_QUEUE_FOLDER, OBJECT_TYPE_TRACKER_QUEUE_FOLDER, OBJECT_TYPE_TUPLE_USER_START, OBJECT_TYPE_UNDEFINED, OBJECT_TYPE_USER_QUEUE_FOLDER, OBJECT_TYPE_VIRTUAL_FOLDER, OBJECT_TYPE_WORKFLOW_USER_START, OBJECT_TYPE_WORKITEM, OBJECT_TYPE_WORKITEM_PROXY, OBJECT_TYPE_WORKITEM_TRACKER
 
Fields inherited from interface com.wewebu.ow.server.field.OwFieldProvider
TYPE_AJAX, TYPE_CHECKIN_OBJECT, TYPE_CREATE_OBJECT, TYPE_META_OBJECT, TYPE_RESULT_LIST, TYPE_SEARCH, TYPE_SMALL
 
Constructor Summary
OwCMISAbstractNativeObject(OwCMISNativeSession session_p, N nativeObject_p, org.apache.chemistry.opencmis.client.api.OperationContext creationContext, C class_p)
           
 
Method Summary
protected  void afterPropertiesSet(org.apache.chemistry.opencmis.client.api.ObjectId updatedObjectId)
           
 boolean canDelete(int context_p)
           
 boolean canSetProperties(int iContext_p)
           
 void delete()
           
protected  void detach()
           
 com.wewebu.ow.server.ecm.OwObjectCollection getChilds(int[] objectTypes, Collection propertyNames, com.wewebu.ow.server.field.OwSort sort, int maxSize, int versionSelection, com.wewebu.ow.server.field.OwSearchNode filterCriteria)
           
 String getDMSID()
           
 String getID()
           
 String getName()
           
 N getNativeObject()
           
 OwCMISPermissionCollection getPermissions()
           
 com.wewebu.ow.server.ecm.OwPropertyCollection getProperties(Collection propertyNames_p)
           
 OwCMISProperty<?> getProperty(String propertyName_p)
           
protected  org.apache.chemistry.opencmis.commons.enums.RelationshipDirection getRelationDirection(com.wewebu.ow.server.field.OwSearchNode filterCriteria)
          This method is used by getChilds implementation for resolving of the property OwObjectLink.OW_LINK_RELATION to corresponding native value.
protected  List<String> getRelationTypeFilter(com.wewebu.ow.server.field.OwSearchNode filterCriteria)
          Return a list of type-Id's (String), which should be retrieved.
 OwCMISTransientObject<N> getTransientObject()
           
 boolean hasChilds(int[] objectTypes, int context)
           
 void refreshProperties()
           
 void refreshProperties(Collection propertyClassNames_p)
           
protected  void reloadNativeObject()
           
protected  void replaceNativeObject(N object, org.apache.chemistry.opencmis.client.api.OperationContext creationContext)
           
protected  boolean replaceNativeObject(String id)
           
protected  boolean replaceNativeObject(String id, org.apache.chemistry.opencmis.client.api.OperationContext creationContext)
           
 void setPermissions(com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p)
           
 void setProperties(com.wewebu.ow.server.ecm.OwPropertyCollection properties_p, Object mode_p)
           
 
Methods inherited from class com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISAbstractSessionObject
canGetPermissions, canSetPermissions, createCopy, createCopyProperties, getCopyClassName, getResource, getSession
 
Methods inherited from class com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISAbstractObject
add, canAdd, canChangeClass, canFilterChilds, canGetProperties, canLock, canMove, canRemoveReference, changeClass, checkPropertyCollection, equals, getChildCount, getClassName, getClonedPermissions, getClonedProperties, getColumnInfoList, getContentCollection, getField, getFieldProviderName, getFieldProviderSource, getFieldProviderType, getFields, getFilterProperties, getInstance, getLock, getLockUserID, getMIMEParameter, getMIMEType, getMyLock, getObjectClass, getPageCount, getParents, getPath, getResourceID, getSafeFieldValue, getSearchTemplate, getType, getVirtualProperties, getVirtualProperty, hasContent, hashCode, hasVersionSeries, move, removeReference, setField, setLock, setProperties, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISSessionObject
getSession
 
Methods inherited from interface com.wewebu.ow.server.ecmimpl.opencmis.object.OwCMISObject
createCopy, getChildCount, getObjectClass, getPath, getResource, getResourceID, setProperties
 
Methods inherited from interface com.wewebu.ow.server.ecm.OwObject
add, canAdd, canChangeClass, canFilterChilds, canGetContent, canGetPermissions, canGetProperties, canLock, canMove, canRemoveReference, canSetContent, canSetPermissions, changeClass, getClassName, getClonedPermissions, getClonedProperties, getColumnInfoList, getContentCollection, getFilterProperties, getLock, getLockUserID, getMyLock, getParents, getSearchTemplate, getVersion, getVersionSeries, hasVersionSeries, move, removeReference, setContentCollection, setLock
 
Methods inherited from interface com.wewebu.ow.server.ecm.OwObjectReference
getInstance, getMIMEParameter, getMIMEType, getPageCount, getType, hasContent
 
Methods inherited from interface com.wewebu.ow.server.field.OwFieldProvider
getField, getFieldProviderName, getFieldProviderSource, getFieldProviderType, getFields, getSafeFieldValue, setField
 

Field Detail

owTransientObject

protected OwCMISTransientObject<N extends org.apache.chemistry.opencmis.client.api.TransientCmisObject> owTransientObject
Constructor Detail

OwCMISAbstractNativeObject

public OwCMISAbstractNativeObject(OwCMISNativeSession session_p,
                                  N nativeObject_p,
                                  org.apache.chemistry.opencmis.client.api.OperationContext creationContext,
                                  C class_p)
                           throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException
Method Detail

getNativeObject

public N getNativeObject()
Specified by:
getNativeObject in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
getNativeObject in interface OwCMISNativeObject<N extends org.apache.chemistry.opencmis.client.api.TransientCmisObject>
Specified by:
getNativeObject in interface OwCMISObject

getTransientObject

public OwCMISTransientObject<N> getTransientObject()
Specified by:
getTransientObject in interface OwCMISNativeObject<N extends org.apache.chemistry.opencmis.client.api.TransientCmisObject>

canDelete

public boolean canDelete(int context_p)
                  throws com.wewebu.ow.server.exceptions.OwException
Specified by:
canDelete in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
canDelete in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

getID

public String getID()
Specified by:
getID in interface com.wewebu.ow.server.ecm.OwObjectReference

getDMSID

public String getDMSID()
Specified by:
getDMSID in interface com.wewebu.ow.server.ecm.OwObjectReference
Specified by:
getDMSID in interface OwCMISObject

getProperties

public com.wewebu.ow.server.ecm.OwPropertyCollection getProperties(Collection propertyNames_p)
                                                            throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getProperties in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
getProperties in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

getProperty

public OwCMISProperty<?> getProperty(String propertyName_p)
                              throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getProperty in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
getProperty in interface OwCMISObject
Overrides:
getProperty in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

canSetProperties

public boolean canSetProperties(int iContext_p)
Specified by:
canSetProperties in interface com.wewebu.ow.server.ecm.OwObject

getName

public String getName()
Specified by:
getName in interface com.wewebu.ow.server.ecm.OwObjectReference

getPermissions

public OwCMISPermissionCollection getPermissions()
                                          throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getPermissions in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
getPermissions in interface OwCMISObject
Overrides:
getPermissions in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

setPermissions

public void setPermissions(com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p)
                    throws com.wewebu.ow.server.exceptions.OwException
Specified by:
setPermissions in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
setPermissions in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

setProperties

public void setProperties(com.wewebu.ow.server.ecm.OwPropertyCollection properties_p,
                          Object mode_p)
                   throws com.wewebu.ow.server.exceptions.OwException
Specified by:
setProperties in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
setProperties in interface OwCMISObject
Throws:
com.wewebu.ow.server.exceptions.OwException

afterPropertiesSet

protected void afterPropertiesSet(org.apache.chemistry.opencmis.client.api.ObjectId updatedObjectId)

reloadNativeObject

protected void reloadNativeObject()

replaceNativeObject

protected void replaceNativeObject(N object,
                                   org.apache.chemistry.opencmis.client.api.OperationContext creationContext)

replaceNativeObject

protected boolean replaceNativeObject(String id)

replaceNativeObject

protected boolean replaceNativeObject(String id,
                                      org.apache.chemistry.opencmis.client.api.OperationContext creationContext)

detach

protected void detach()

delete

public void delete()
            throws com.wewebu.ow.server.exceptions.OwException
Specified by:
delete in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
delete in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

refreshProperties

public void refreshProperties(Collection propertyClassNames_p)
                       throws com.wewebu.ow.server.exceptions.OwException
Specified by:
refreshProperties in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
refreshProperties in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

refreshProperties

public void refreshProperties()
                       throws com.wewebu.ow.server.exceptions.OwException
Specified by:
refreshProperties in interface com.wewebu.ow.server.ecm.OwObject
Overrides:
refreshProperties in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

getChilds

public com.wewebu.ow.server.ecm.OwObjectCollection getChilds(int[] objectTypes,
                                                             Collection propertyNames,
                                                             com.wewebu.ow.server.field.OwSort sort,
                                                             int maxSize,
                                                             int versionSelection,
                                                             com.wewebu.ow.server.field.OwSearchNode filterCriteria)
                                                      throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getChilds in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
getChilds in interface OwCMISObject
Overrides:
getChilds in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

hasChilds

public boolean hasChilds(int[] objectTypes,
                         int context)
                  throws com.wewebu.ow.server.exceptions.OwException
Specified by:
hasChilds in interface com.wewebu.ow.server.ecm.OwObject
Specified by:
hasChilds in interface OwCMISObject
Overrides:
hasChilds in class OwCMISAbstractObject<C extends OwCMISNativeObjectClass<T,N>>
Throws:
com.wewebu.ow.server.exceptions.OwException

getRelationTypeFilter

protected List<String> getRelationTypeFilter(com.wewebu.ow.server.field.OwSearchNode filterCriteria)
Return a list of type-Id's (String), which should be retrieved.

Can return null if provide filter criteria is null, or no type restriction in criteria found.

Parameters:
filterCriteria - OwSearchNode (can be null)
Returns:
List of Id's (can return null)

getRelationDirection

protected org.apache.chemistry.opencmis.commons.enums.RelationshipDirection getRelationDirection(com.wewebu.ow.server.field.OwSearchNode filterCriteria)
This method is used by getChilds implementation for resolving of the property OwObjectLink.OW_LINK_RELATION to corresponding native value.

Will return RelationshipDirection.EITHER by default, if provided search node is null or no definition of direction can be found.

Parameters:
filterCriteria - OwSearchNode (can be null)
Returns:
RelationshipDirection


Copyright © 2013 Alfresco Business Solutions. All Rights Reserved.