com.wewebu.ow.server.ecmimpl.cmis.objectclasses
Class OwCMISNativeObjectClass

java.lang.Object
  extended by com.wewebu.ow.server.ecmimpl.cmis.objectclasses.OwCMISNativeObjectClass
All Implemented Interfaces:
com.wewebu.ow.server.ecm.OwObjectClass, OwCMISObjectClass
Direct Known Subclasses:
OwCMISDocumentClass, OwCMISFolderClass, OwCMISPolicyClass, OwCMISRelationshipClass

public abstract class OwCMISNativeObjectClass
extends Object
implements OwCMISObjectClass

Object class wrapper for CMIS native object type definition.
It relays on CmisTypeDefinitionType data to implement the Workdesk object-class interface.

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
 
Fields inherited from interface com.wewebu.ow.server.ecmimpl.cmis.objectclasses.OwCMISObjectClass
MIME_TYPE_PREFIX_OW_POLICY, MIME_TYPE_PREFIX_OW_RELATIONSHIP
 
Fields inherited from interface com.wewebu.ow.server.ecm.OwObjectClass
OPERATION_TYPE_CHECKIN, OPERATION_TYPE_CHECKOUT, OPERATION_TYPE_CREATE_NEW_OBJECT, OPERATION_TYPE_SET_PROPERTIES, OPERATION_TYPE_UNDEF
 
Constructor Summary
OwCMISNativeObjectClass(OwCMISObjectModel objectModel_p, OwCMISPropertyClassFactory propertyClassFactory_p, org.oasis_open.docs.ns.cmis.core._200908.CmisTypeDefinitionType type_p)
          create class description
 
Method Summary
 boolean canCreateNewObject()
           
protected  Set<OwCMISPropertyClass> createCustomPropertyClasses()
           
 String createNewObject(OwCMISNetwork network_p, boolean promote_p, Object mode_p, com.wewebu.ow.server.ecm.OwResource resource_p, com.wewebu.ow.server.ecm.OwPropertyCollection properties_p, com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p, com.wewebu.ow.server.ecm.OwContentCollection content_p, com.wewebu.ow.server.ecm.OwObject parent_p, String strMimeType_p, String strMimeParameter_p, boolean keepCheckedOut_p)
           
protected abstract  String createNewObjectCMISObject(OwCMISNetwork network_p, org.oasis_open.docs.ns.cmis.core._200908.EnumVersioningState state_p, org.oasis_open.docs.ns.cmis.core._200908.CmisPropertiesType properties_p, org.oasis_open.docs.ns.cmis.core._200908.CmisAccessControlListType addedACL_p, org.oasis_open.docs.ns.cmis.core._200908.CmisAccessControlListType removedACL_p, org.oasis_open.docs.ns.cmis.messaging._200908.CmisContentStreamType content_p, String parentID_p, boolean keepCheckedOut_p)
           
 Map<?,?> getChildNames(com.wewebu.ow.server.ecm.OwNetwork network_p, boolean excludeHiddenAndNonInstantiable_p)
           
 List<?> getChilds(com.wewebu.ow.server.ecm.OwNetwork network_p, boolean excludeHiddenAndNonInstantiable_p)
           
protected  OwCMISClassDescription getClassDescription()
           
 String getClassName()
           
 com.wewebu.ow.server.ecm.OwPropertyCollection getClassProperties(OwCMISNetwork network_p)
          Method to verify the existence of object-type id property (which must exist).
 String getDescription(Locale locale_p)
           
 String getDisplayName(Locale locale_p)
           
 String getMimetype()
           
 List<?> getModes(int operation_p)
           
 String getNamePropertyName()
           
 org.oasis_open.docs.ns.cmis.core._200908.CmisTypeDefinitionType getNativeObject()
          Return the native representation type of current objectclass.
 OwCMISObjectModel getObjectModel()
           
 OwCMISObjectClass getParent()
           
protected  String getParentId(com.wewebu.ow.server.ecm.OwObject parent_p)
          Retrieve the id which is used for filling.
 OwCMISPropertyClass getPropertyClass(String strClassName_p)
           
 Map<String,OwCMISPropertyClass> getPropertyClasses()
           
 Collection<String> getPropertyClassNames()
           
 Set<OwCMISPropertyClass> getQueryablePropertyClasses(OwCMISQueryContext context_p)
           
 String getQueryName()
          Should return an non-null value if this object is query able.
 OwCMISResource getResource()
          Helper method to retrieve the current OwCMISResource reference for this object
 int getType()
           
 boolean hasChilds(com.wewebu.ow.server.ecm.OwNetwork network_p, boolean excludeHiddenAndNonInstantiable_p, int context_p)
           
protected  void initializeProperties()
           
 boolean isAssignableFrom(OwCMISObjectClass class_p)
          A java class analogous method : Determines if the object-class represented by this object-class object is either the same as, or is a superclass of the object-class represented by the specified object-class parameter.
 boolean isContentRequired()
          Define if for this object the content is required.
 boolean isHidden()
           
 boolean isQueryable()
          As specified by the CMIS definition, the request method to verify if this object can be used in query FROM statement.
protected  void setObjectType(org.oasis_open.docs.ns.cmis.core._200908.EnumBaseObjectTypeIds base_p)
           
 void subclassedBy(OwCMISObjectClass subclass_p)
          Method called when this class is sub-classed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.wewebu.ow.server.ecmimpl.cmis.objectclasses.OwCMISObjectClass
createCMISObject
 
Methods inherited from interface com.wewebu.ow.server.ecm.OwObjectClass
hasVersionSeries
 

Constructor Detail

OwCMISNativeObjectClass

public OwCMISNativeObjectClass(OwCMISObjectModel objectModel_p,
                               OwCMISPropertyClassFactory propertyClassFactory_p,
                               org.oasis_open.docs.ns.cmis.core._200908.CmisTypeDefinitionType type_p)
                        throws com.wewebu.ow.server.exceptions.OwException
create class description

Parameters:
objectModel_p -
propertyClassFactory_p -
type_p -
Throws:
com.wewebu.ow.server.exceptions.OwException
Method Detail

getMimetype

public String getMimetype()
Specified by:
getMimetype in interface OwCMISObjectClass

setObjectType

protected void setObjectType(org.oasis_open.docs.ns.cmis.core._200908.EnumBaseObjectTypeIds base_p)

initializeProperties

protected void initializeProperties()
                             throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

createCustomPropertyClasses

protected Set<OwCMISPropertyClass> createCustomPropertyClasses()
                                                        throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

getClassDescription

protected OwCMISClassDescription getClassDescription()
                                              throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

getPropertyClasses

public Map<String,OwCMISPropertyClass> getPropertyClasses()
                                                   throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getPropertyClasses in interface OwCMISObjectClass
Returns:
a Map of property classes fully qualified names mapped to OwCMISPropertyClass for all properties defined by this object class (inherited properties included).
Throws:
com.wewebu.ow.server.exceptions.OwException

canCreateNewObject

public boolean canCreateNewObject()
                           throws com.wewebu.ow.server.exceptions.OwException
Specified by:
canCreateNewObject in interface com.wewebu.ow.server.ecm.OwObjectClass
Specified by:
canCreateNewObject in interface OwCMISObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getChildNames

public Map<?,?> getChildNames(com.wewebu.ow.server.ecm.OwNetwork network_p,
                              boolean excludeHiddenAndNonInstantiable_p)
                       throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getChildNames in interface com.wewebu.ow.server.ecm.OwObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getChilds

public List<?> getChilds(com.wewebu.ow.server.ecm.OwNetwork network_p,
                         boolean excludeHiddenAndNonInstantiable_p)
                  throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getChilds in interface com.wewebu.ow.server.ecm.OwObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getClassName

public String getClassName()
Specified by:
getClassName in interface com.wewebu.ow.server.ecm.OwObjectClass

getDescription

public String getDescription(Locale locale_p)
Specified by:
getDescription in interface com.wewebu.ow.server.ecm.OwObjectClass

getDisplayName

public String getDisplayName(Locale locale_p)
Specified by:
getDisplayName in interface com.wewebu.ow.server.ecm.OwObjectClass

getModes

public List<?> getModes(int operation_p)
                 throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getModes in interface com.wewebu.ow.server.ecm.OwObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getNamePropertyName

public String getNamePropertyName()
                           throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getNamePropertyName in interface com.wewebu.ow.server.ecm.OwObjectClass
Specified by:
getNamePropertyName in interface OwCMISObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getParent

public OwCMISObjectClass getParent()
                            throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getParent in interface com.wewebu.ow.server.ecm.OwObjectClass
Specified by:
getParent in interface OwCMISObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getPropertyClass

public OwCMISPropertyClass getPropertyClass(String strClassName_p)
                                     throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getPropertyClass in interface com.wewebu.ow.server.ecm.OwObjectClass
Specified by:
getPropertyClass in interface OwCMISObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getPropertyClassNames

public Collection<String> getPropertyClassNames()
                                         throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getPropertyClassNames in interface com.wewebu.ow.server.ecm.OwObjectClass
Specified by:
getPropertyClassNames in interface OwCMISObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getType

public int getType()
Specified by:
getType in interface com.wewebu.ow.server.ecm.OwObjectClass

hasChilds

public boolean hasChilds(com.wewebu.ow.server.ecm.OwNetwork network_p,
                         boolean excludeHiddenAndNonInstantiable_p,
                         int context_p)
                  throws com.wewebu.ow.server.exceptions.OwException
Specified by:
hasChilds in interface com.wewebu.ow.server.ecm.OwObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

isHidden

public boolean isHidden()
                 throws com.wewebu.ow.server.exceptions.OwException
Specified by:
isHidden in interface com.wewebu.ow.server.ecm.OwObjectClass
Throws:
com.wewebu.ow.server.exceptions.OwException

getResource

public OwCMISResource getResource()
Helper method to retrieve the current OwCMISResource reference for this object

Specified by:
getResource in interface OwCMISObjectClass
Returns:
OwCMISResource

getObjectModel

public OwCMISObjectModel getObjectModel()

getNativeObject

public org.oasis_open.docs.ns.cmis.core._200908.CmisTypeDefinitionType getNativeObject()
Description copied from interface: OwCMISObjectClass
Return the native representation type of current objectclass.

Attention: Can return null if this object is not based on a native representation, but a local structure object.

Specified by:
getNativeObject in interface OwCMISObjectClass
Returns:
CmisTypeDefinitionType or null

isContentRequired

public boolean isContentRequired()
                          throws com.wewebu.ow.server.exceptions.OwException
Description copied from interface: OwCMISObjectClass
Define if for this object the content is required.

Specified by:
isContentRequired in interface OwCMISObjectClass
Returns:
boolean true if is required, otherwise false
Throws:
com.wewebu.ow.server.exceptions.OwException

getQueryName

public String getQueryName()
Description copied from interface: OwCMISObjectClass
Should return an non-null value if this object is query able.

Specified by:
getQueryName in interface OwCMISObjectClass
Returns:
String escaped query name, which MUST be used for searches

isQueryable

public boolean isQueryable()
Description copied from interface: OwCMISObjectClass
As specified by the CMIS definition, the request method to verify if this object can be used in query FROM statement.

Specified by:
isQueryable in interface OwCMISObjectClass
Returns:
boolean query able

getQueryablePropertyClasses

public Set<OwCMISPropertyClass> getQueryablePropertyClasses(OwCMISQueryContext context_p)
                                                     throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getQueryablePropertyClasses in interface OwCMISObjectClass
Returns:
a Set of OwCMISPropertyClass for all queryable property classes that are defined by this object class
Throws:
com.wewebu.ow.server.exceptions.OwException

getClassProperties

public com.wewebu.ow.server.ecm.OwPropertyCollection getClassProperties(OwCMISNetwork network_p)
                                                                 throws com.wewebu.ow.server.exceptions.OwException
Method to verify the existence of object-type id property (which must exist). Since CMIS 1.0 does not have parameter to provide the object-type explicit to classify the new/created object.

Parameters:
network_p - OwCMISNetwork current network
Returns:
OwPropertyCollection
Throws:
com.wewebu.ow.server.exceptions.OwException

createNewObjectCMISObject

protected abstract String createNewObjectCMISObject(OwCMISNetwork network_p,
                                                    org.oasis_open.docs.ns.cmis.core._200908.EnumVersioningState state_p,
                                                    org.oasis_open.docs.ns.cmis.core._200908.CmisPropertiesType properties_p,
                                                    org.oasis_open.docs.ns.cmis.core._200908.CmisAccessControlListType addedACL_p,
                                                    org.oasis_open.docs.ns.cmis.core._200908.CmisAccessControlListType removedACL_p,
                                                    org.oasis_open.docs.ns.cmis.messaging._200908.CmisContentStreamType content_p,
                                                    String parentID_p,
                                                    boolean keepCheckedOut_p)
                                             throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

createNewObject

public String createNewObject(OwCMISNetwork network_p,
                              boolean promote_p,
                              Object mode_p,
                              com.wewebu.ow.server.ecm.OwResource resource_p,
                              com.wewebu.ow.server.ecm.OwPropertyCollection properties_p,
                              com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p,
                              com.wewebu.ow.server.ecm.OwContentCollection content_p,
                              com.wewebu.ow.server.ecm.OwObject parent_p,
                              String strMimeType_p,
                              String strMimeParameter_p,
                              boolean keepCheckedOut_p)
                       throws com.wewebu.ow.server.exceptions.OwException
Specified by:
createNewObject in interface OwCMISObjectClass
Returns:
a String DMSID for the newly created object
Throws:
com.wewebu.ow.server.exceptions.OwException

subclassedBy

public void subclassedBy(OwCMISObjectClass subclass_p)
                  throws com.wewebu.ow.server.exceptions.OwInvalidOperationException
Description copied from interface: OwCMISObjectClass
Method called when this class is sub-classed.

Specified by:
subclassedBy in interface OwCMISObjectClass
Parameters:
subclass_p - the new child of this class
Throws:
com.wewebu.ow.server.exceptions.OwInvalidOperationException - if the subclass constraints of this class are not met or the this class can not be sub-classed

isAssignableFrom

public boolean isAssignableFrom(OwCMISObjectClass class_p)
                         throws com.wewebu.ow.server.exceptions.OwException
Description copied from interface: OwCMISObjectClass
A java class analogous method : Determines if the object-class represented by this object-class object is either the same as, or is a superclass of the object-class represented by the specified object-class parameter.

Specified by:
isAssignableFrom in interface OwCMISObjectClass
Returns:
the boolean value indicating whether objects of the type class can be interpreted as objects of this class
Throws:
com.wewebu.ow.server.exceptions.OwException

getParentId

protected String getParentId(com.wewebu.ow.server.ecm.OwObject parent_p)
                      throws com.wewebu.ow.server.exceptions.OwException
Retrieve the id which is used for filling.

Parameters:
parent_p - OwObject (can be null)
Returns:
String id or null if parent is null
Throws:
com.wewebu.ow.server.exceptions.OwException
Since:
4.0.0.0


Copyright © 2013 Alfresco Business Solutions. All Rights Reserved.