org.jboss.portal.core.impl.model.portal
Class AbstractPortalObjectContainer

java.lang.Object
  extended by org.jboss.mx.util.JBossNotificationBroadcasterSupport
      extended by org.jboss.system.ServiceMBeanSupport
          extended by org.jboss.portal.jems.as.system.AbstractJBossService
              extended by org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer
All Implemented Interfaces:
javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, PortalObjectContainer, AuthorizationDomain, DomainConfigurator, PermissionFactory, PermissionRepository, org.jboss.system.Service, org.jboss.system.ServiceMBean
Direct Known Subclasses:
PersistentPortalObjectContainer, TransientPortalObjectContainer

public abstract class AbstractPortalObjectContainer
extends AbstractJBossService
implements PortalObjectContainer, PermissionFactory, AuthorizationDomain, DomainConfigurator, PermissionRepository

Version:
$Revision: 8786 $
Author:
Julien Viet

Nested Class Summary
 class AbstractPortalObjectContainer.ContainerContext
           
 
Field Summary
 
Fields inherited from class org.jboss.system.ServiceMBeanSupport
log, server, SERVICE_CONTROLLER_SIG, serviceName
 
Fields inherited from interface org.jboss.system.ServiceMBean
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED
 
Constructor Summary
protected AbstractPortalObjectContainer()
           
 
Method Summary
 Context createContext(java.lang.String namespace)
           
 PortalPermission createPermission(java.lang.String uri, java.util.Collection actions)
           
 PortalPermission createPermission(java.lang.String uri, java.lang.String action)
           
 PortalPermission createPermissionContainer(PortalPermissionCollection collection)
           
protected abstract  ContextImpl createRoot(java.lang.String namespace)
           
 AuthorizationDomain getAuthorizationDomain()
          Get the authorization domain.
 DomainConfigurator getConfigurator()
          The domain configurator.
 ContentProviderRegistry getContentProviderRegistry()
           
 Context getContext()
          Returns the default root object.
 Context getContext(java.lang.String namespace)
           
 PortalObject getObject(PortalObjectId id)
          Returns a portal object or null if it cannot be found.
protected abstract  ObjectNode getObjectNode(PortalObjectId id)
          Must be subclasses to provide the access to a node.
 PortalPermission getPermission(java.lang.String roleName, java.lang.String uri)
          Load a permission from the repository.
 PermissionFactory getPermissionFactory()
          The permission repository.
 PermissionRepository getPermissionRepository()
          The permission factory.
 java.util.Set getSecurityBindings(java.lang.String uri)
          Return the set of constraints for the given uri.
 java.lang.String getType()
          The domain type.
 void removeSecurityBindings(java.lang.String uri)
          Remove the contstraints for the provided uri
 void setContentProviderRegistry(ContentProviderRegistry contentProviderRegistry)
           
 void setSecurityBindings(java.lang.String uri, java.util.Set securityBindings)
          Add the provided constraints to this policy configuration
 
Methods inherited from class org.jboss.portal.jems.as.system.AbstractJBossService
create, destroy, getState, getStateString, start, stop
 
Methods inherited from class org.jboss.system.ServiceMBeanSupport
createService, destroyService, getDeploymentInfo, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, startService, stopService
 
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, nextNotificationSequenceNumber, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractPortalObjectContainer

protected AbstractPortalObjectContainer()
Method Detail

getContentProviderRegistry

public ContentProviderRegistry getContentProviderRegistry()

setContentProviderRegistry

public void setContentProviderRegistry(ContentProviderRegistry contentProviderRegistry)

getContext

public Context getContext()
Description copied from interface: PortalObjectContainer
Returns the default root object.

Specified by:
getContext in interface PortalObjectContainer
Returns:
a root object

getObject

public PortalObject getObject(PortalObjectId id)
                       throws java.lang.IllegalArgumentException
Description copied from interface: PortalObjectContainer
Returns a portal object or null if it cannot be found.

Specified by:
getObject in interface PortalObjectContainer
Parameters:
id - the portal object id
Returns:
the specified portal object
Throws:
java.lang.IllegalArgumentException - if the id is null

getContext

public Context getContext(java.lang.String namespace)
Specified by:
getContext in interface PortalObjectContainer

createContext

public Context createContext(java.lang.String namespace)
                      throws DuplicatePortalObjectException
Specified by:
createContext in interface PortalObjectContainer
Throws:
DuplicatePortalObjectException

getAuthorizationDomain

public AuthorizationDomain getAuthorizationDomain()
Description copied from interface: PortalObjectContainer
Get the authorization domain.

Specified by:
getAuthorizationDomain in interface PortalObjectContainer
Returns:
the authorization domain

createRoot

protected abstract ContextImpl createRoot(java.lang.String namespace)
                                   throws DuplicatePortalObjectException
Throws:
DuplicatePortalObjectException

getType

public java.lang.String getType()
Description copied from interface: AuthorizationDomain
The domain type.

Specified by:
getType in interface AuthorizationDomain

getConfigurator

public DomainConfigurator getConfigurator()
Description copied from interface: AuthorizationDomain
The domain configurator.

Specified by:
getConfigurator in interface AuthorizationDomain

getPermissionRepository

public PermissionRepository getPermissionRepository()
Description copied from interface: AuthorizationDomain
The permission factory.

Specified by:
getPermissionRepository in interface AuthorizationDomain

getPermissionFactory

public PermissionFactory getPermissionFactory()
Description copied from interface: AuthorizationDomain
The permission repository.

Specified by:
getPermissionFactory in interface AuthorizationDomain

createPermissionContainer

public PortalPermission createPermissionContainer(PortalPermissionCollection collection)
                                           throws PortalSecurityException
Specified by:
createPermissionContainer in interface PermissionFactory
Throws:
PortalSecurityException

createPermission

public PortalPermission createPermission(java.lang.String uri,
                                         java.lang.String action)
                                  throws PortalSecurityException
Specified by:
createPermission in interface PermissionFactory
Throws:
PortalSecurityException

createPermission

public PortalPermission createPermission(java.lang.String uri,
                                         java.util.Collection actions)
                                  throws PortalSecurityException
Specified by:
createPermission in interface PermissionFactory
Throws:
PortalSecurityException

getPermission

public PortalPermission getPermission(java.lang.String roleName,
                                      java.lang.String uri)
                               throws PortalSecurityException
Description copied from interface: PermissionRepository
Load a permission from the repository.

Specified by:
getPermission in interface PermissionRepository
Returns:
a portam permission
Throws:
PortalSecurityException

removeSecurityBindings

public void removeSecurityBindings(java.lang.String uri)
                            throws SecurityConfigurationException
Description copied from interface: DomainConfigurator
Remove the contstraints for the provided uri

Specified by:
removeSecurityBindings in interface DomainConfigurator
Parameters:
uri - the identifier of the secured resource
Throws:
SecurityConfigurationException

setSecurityBindings

public void setSecurityBindings(java.lang.String uri,
                                java.util.Set securityBindings)
                         throws SecurityConfigurationException
Description copied from interface: DomainConfigurator
Add the provided constraints to this policy configuration

Specified by:
setSecurityBindings in interface DomainConfigurator
Throws:
SecurityConfigurationException

getSecurityBindings

public java.util.Set getSecurityBindings(java.lang.String uri)
Description copied from interface: DomainConfigurator
Return the set of constraints for the given uri.

Specified by:
getSecurityBindings in interface DomainConfigurator
Returns:
a set of SecurityConstraint containing the roles and actions allowed for the resource

getObjectNode

protected abstract ObjectNode getObjectNode(PortalObjectId id)
Must be subclasses to provide the access to a node.

Parameters:
id - the portal object path
Returns:
a node or null if not found