Package org.gitana.platform.client.registrar

# Class RegistrarImpl

java.lang.Object
org.gitana.platform.support.GitanaObjectImpl
org.gitana.platform.client.document.DocumentImpl
org.gitana.platform.client.datastore.AbstractDataStoreImpl
org.gitana.platform.client.cluster.AbstractClusterDataStoreImpl
org.gitana.platform.client.platform.AbstractPlatformDataStoreImpl
org.gitana.platform.client.registrar.RegistrarImpl

All Implemented Interfaces:
  `Serializable`, `ClusterDataStore`, `DataStore`, `Document`, `PlatformDataStore`, `Registrar`, `AccessControllable`, `Copyable`, `Referenceable`, `Selfable`, `TitleDescription`, `Transferable`, `TypedID`, `Teamable`, `org.gitana.platform.GitanaObject`, `org.gitana.platform.JSONable`

public class RegistrarImpl extends AbstractPlatformDataStoreImpl implements Registrar

Author:
  uzi
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class org.gitana.platform.support.GitanaObjectImpl

`serialVersionUID`

### Fields inherited from interface org.gitana.platform.client.document.Document

`FIELD_ID, SYSTEM, SYSTEM_CREATED_BY, SYSTEM_CREATED_ON, SYSTEM_MODIFIED_BY, SYSTEM_MODIFIED_ON`

### Fields inherited from interface org.gitana.platform.client.registrar.Registrar

`FIELD_BILLING_PROVIDER_CONFIGURATION_ID`

### Fields inherited from interface org.gitana.platform.client.support.TitleDescription

`FIELD_DESCRIPTION, FIELD_TITLE`

## Constructor Summary

Constructors
Constructor
Description
`RegistrarImpl(Platform platform, com.fasterxml.jackson.databind.node.ObjectNode obj, boolean isSaved)`

## Method Summary

Modifier and Type
Method
Description
`Meter`
`createMeter(com.fasterxml.jackson.databind.node.ObjectNode object)`
`Plan`
`createPlan(String planKey)`
`Plan`
`createPlan(String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)`
`Tenant`
`createTenant(DomainPrincipal principal, String planKey)`
`Tenant`
`createTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)`
`Tenant`
`createTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object, com.fasterxml.jackson.databind.node.ObjectNode paymentMethodObject)`
`void`
`deleteMeter(String meterId)`
`void`
`deleteMeter(Meter meter)`
`void`
`deletePlan(String planKey)`
`void`
`deletePlan(Plan plan)`
`void`
`deleteTenant(String tenantId)`
`void`
`deleteTenant(Tenant tenant)`
`String`
`getBillingProviderConfigurationId()`
`String`
`getResourceUri()`
`String`
`getTypeId()`
`org.gitana.platform.support.ResultMap<Meter>`
`listMeters()`
`org.gitana.platform.support.ResultMap<Meter>`
`listMeters(org.gitana.platform.support.Pagination pagination)`
`org.gitana.platform.support.ResultMap<Plan>`
`listPlans()`
`org.gitana.platform.support.ResultMap<Plan>`
`listPlans(org.gitana.platform.support.Pagination pagination)`
`org.gitana.platform.support.ResultMap<Tenant>`
`listTenants()`
`org.gitana.platform.support.ResultMap<Tenant>`
`listTenants(org.gitana.platform.support.Pagination pagination)`
`Tenant`
`lookupTenant(DomainPrincipal principal)`
`org.gitana.platform.support.ResultMap<Meter>`
`queryMeters(com.fasterxml.jackson.databind.node.ObjectNode query)`
`org.gitana.platform.support.ResultMap<Meter>`
`queryMeters(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)`
`org.gitana.platform.support.ResultMap<Plan>`
`queryPlans(com.fasterxml.jackson.databind.node.ObjectNode query)`
`org.gitana.platform.support.ResultMap<Plan>`
`queryPlans(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)`
`org.gitana.platform.support.ResultMap<Tenant>`
`queryTenants(com.fasterxml.jackson.databind.node.ObjectNode query)`
`org.gitana.platform.support.ResultMap<Tenant>`
`queryTenants(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)`
`Meter`
`readMeter(String meterId)`
`Plan`
`readPlan(String planId)`
`Tenant`
`readTenant(String tenantId)`
`void`
`reload()`
Reload
`void`
`setBillingProviderConfigurationId(String billingConfigurationId)`
`String`
`startCreateTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)`
Starts an job to create a tenant.
`void`
`updateMeter(Meter meter)`
`void`
`updatePlan(Plan plan)`
`void`
`updateTenant(Tenant tenant)`
`org.gitana.platform.services.billing.PaymentMethodValidation`
`validateCreditCard(com.fasterxml.jackson.databind.node.ObjectNode object)`
`org.gitana.platform.services.billing.PaymentMethodValidation`
`validateCreditCard(String holderName, String number, int expirationMonth, int expirationYear)`

### Methods inherited from class org.gitana.platform.client.platform.AbstractPlatformDataStoreImpl

`copy, copy, copyAsync, copyAsync, getPlatform, ref`

### Methods inherited from class org.gitana.platform.client.cluster.AbstractClusterDataStoreImpl

`getCluster`

### Methods inherited from class org.gitana.platform.client.datastore.AbstractDataStoreImpl

`createTeam, createTeam, delete, deleteTeam, equals, exportArchive, exportArchive, exportArchive, getACL, getACL, getAuthorityGrants, getDriver, getFactory, getId, getOwnersTeam, getRemote, getTeamableBaseUri, grant, grant, hasAuthority, hasAuthority, hasPermission, hasPermission, importArchive, importArchive, importArchive, listTeams, readTeam, revoke, revoke, revokeAll, revokeAll, update`

### Methods inherited from class org.gitana.platform.client.document.DocumentImpl

`dateCreated, dateModified, getCreatedBy, getDescription, getModifiedBy, getSystemObject, getTitle, isSaved, mergeProperties, mergePropertyIfExists, reload, reload, setDescription, setId, setSaved, setTitle`

### Methods inherited from class org.gitana.platform.support.GitanaObjectImpl

`_objectGetFloat, _objectGetInt, _objectGetLong, _objectGetObject, _objectGetString, _objectSet, get, getArray, getAsJsonNode, getBigDecimal, getBoolean, getDouble, getInt, getLong, getObject, getObject, getString, has, putAll, putAll, putObject, remove, set, toJSON, toJSONString, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.gitana.platform.client.support.AccessControllable

`getACL, getACL, getAuthorityGrants, grant, grant, hasAuthority, hasAuthority, hasPermission, hasPermission, revoke, revoke, revokeAll, revokeAll`

### Methods inherited from interface org.gitana.platform.client.cluster.ClusterDataStore

`getCluster`

### Methods inherited from interface org.gitana.platform.client.support.Copyable

`copy, copy, copyAsync, copyAsync`

### Methods inherited from interface org.gitana.platform.client.document.Document

`dateCreated, dateModified, getCreatedBy, getId, getModifiedBy, getSystemObject, isSaved, reload, reload, setId, setSaved`

### Methods inherited from interface org.gitana.platform.GitanaObject

`get, getArray, getAsJsonNode, getBigDecimal, getBoolean, getDouble, getInt, getLong, getObject, getObject, getString, has, putAll, putAll, remove, set`

### Methods inherited from interface org.gitana.platform.JSONable

`toJSON, toJSONString`

### Methods inherited from interface org.gitana.platform.client.platform.PlatformDataStore

`getPlatform`

### Methods inherited from interface org.gitana.platform.client.support.Referenceable

`ref`

### Methods inherited from interface org.gitana.platform.client.support.Selfable

`delete, update`

### Methods inherited from interface org.gitana.platform.client.team.Teamable

`createTeam, createTeam, deleteTeam, getOwnersTeam, getTeamableBaseUri, listTeams, readTeam`

### Methods inherited from interface org.gitana.platform.client.support.TitleDescription

`getDescription, getTitle, setDescription, setTitle`

### Methods inherited from interface org.gitana.platform.client.support.Transferable

`exportArchive, exportArchive, exportArchive, importArchive, importArchive, importArchive`

### Methods inherited from interface org.gitana.platform.client.support.TypedID

`getId`

## Constructor Details

### RegistrarImpl

public RegistrarImpl(Platform platform, com.fasterxml.jackson.databind.node.ObjectNode obj, boolean isSaved)

## Method Details

### getTypeId

public String getTypeId()

Specified by:
  `getTypeId` in interface `TypedID`

### reload

public void reload()
Description copied from interface: `Selfable`
Reload

Specified by:
  `reload` in interface `Selfable`
Specified by:
  `reload` in class `AbstractDataStoreImpl`

### getResourceUri

public String getResourceUri()

Specified by:
  `getResourceUri` in class `AbstractDataStoreImpl`

### setBillingProviderConfigurationId

public void setBillingProviderConfigurationId(String billingConfigurationId)

Specified by:
  `setBillingProviderConfigurationId` in interface `Registrar`

### getBillingProviderConfigurationId

public String getBillingProviderConfigurationId()

Specified by:
  `getBillingProviderConfigurationId` in interface `Registrar`

### listTenants

public org.gitana.platform.support.ResultMap<Tenant> listTenants()

Specified by:
  `listTenants` in interface `Registrar`

### listTenants

public org.gitana.platform.support.ResultMap<Tenant> listTenants(org.gitana.platform.support.Pagination pagination)

Specified by:
  `listTenants` in interface `Registrar`

### queryTenants

public org.gitana.platform.support.ResultMap<Tenant> queryTenants(com.fasterxml.jackson.databind.node.ObjectNode query)

Specified by:
  `queryTenants` in interface `Registrar`

### queryTenants

public org.gitana.platform.support.ResultMap<Tenant> queryTenants(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)

Specified by:
  `queryTenants` in interface `Registrar`

### readTenant

public Tenant readTenant(String tenantId)

Specified by:
  `readTenant` in interface `Registrar`

### lookupTenant

public Tenant lookupTenant(DomainPrincipal principal)

Specified by:
  `lookupTenant` in interface `Registrar`

### createTenant

public Tenant createTenant(DomainPrincipal principal, String planKey)

Specified by:
  `createTenant` in interface `Registrar`

### createTenant

public Tenant createTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)

Specified by:
  `createTenant` in interface `Registrar`

### createTenant

public Tenant createTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object, com.fasterxml.jackson.databind.node.ObjectNode paymentMethodObject)

Specified by:
  `createTenant` in interface `Registrar`

### startCreateTenant

public String startCreateTenant(DomainPrincipal principal, String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)
Description copied from interface: `Registrar`
Starts an job to create a tenant. This only works for Cloud CMS 4.0 and beyond.

Specified by:
  `startCreateTenant` in interface `Registrar`
Parameters:
  `principal` -
  `planKey` -
  `object` -
Returns:

### updateTenant

public void updateTenant(Tenant tenant)

Specified by:
  `updateTenant` in interface `Registrar`

### deleteTenant

public void deleteTenant(Tenant tenant)

Specified by:
  `deleteTenant` in interface `Registrar`

### deleteTenant

public void deleteTenant(String tenantId)

Specified by:
  `deleteTenant` in interface `Registrar`

### listPlans

public org.gitana.platform.support.ResultMap<Plan> listPlans()

Specified by:
  `listPlans` in interface `Registrar`

### listPlans

public org.gitana.platform.support.ResultMap<Plan> listPlans(org.gitana.platform.support.Pagination pagination)

Specified by:
  `listPlans` in interface `Registrar`

### queryPlans

public org.gitana.platform.support.ResultMap<Plan> queryPlans(com.fasterxml.jackson.databind.node.ObjectNode query)

Specified by:
  `queryPlans` in interface `Registrar`

### queryPlans

public org.gitana.platform.support.ResultMap<Plan> queryPlans(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)

Specified by:
  `queryPlans` in interface `Registrar`

### readPlan

public Plan readPlan(String planId)

Specified by:
  `readPlan` in interface `Registrar`

### createPlan

public Plan createPlan(String planKey)

Specified by:
  `createPlan` in interface `Registrar`

### createPlan

public Plan createPlan(String planKey, com.fasterxml.jackson.databind.node.ObjectNode object)

Specified by:
  `createPlan` in interface `Registrar`

### updatePlan

public void updatePlan(Plan plan)

Specified by:
  `updatePlan` in interface `Registrar`

### deletePlan

public void deletePlan(Plan plan)

Specified by:
  `deletePlan` in interface `Registrar`

### deletePlan

public void deletePlan(String planKey)

Specified by:
  `deletePlan` in interface `Registrar`

### listMeters

public org.gitana.platform.support.ResultMap<Meter> listMeters()

Specified by:
  `listMeters` in interface `Registrar`

### listMeters

public org.gitana.platform.support.ResultMap<Meter> listMeters(org.gitana.platform.support.Pagination pagination)

Specified by:
  `listMeters` in interface `Registrar`

### queryMeters

public org.gitana.platform.support.ResultMap<Meter> queryMeters(com.fasterxml.jackson.databind.node.ObjectNode query)

Specified by:
  `queryMeters` in interface `Registrar`

### queryMeters

public org.gitana.platform.support.ResultMap<Meter> queryMeters(com.fasterxml.jackson.databind.node.ObjectNode query, org.gitana.platform.support.Pagination pagination)

Specified by:
  `queryMeters` in interface `Registrar`

### readMeter

public Meter readMeter(String meterId)

Specified by:
  `readMeter` in interface `Registrar`

### createMeter

public Meter createMeter(com.fasterxml.jackson.databind.node.ObjectNode object)

Specified by:
  `createMeter` in interface `Registrar`

### updateMeter

public void updateMeter(Meter meter)

Specified by:
  `updateMeter` in interface `Registrar`

### deleteMeter

public void deleteMeter(Meter meter)

Specified by:
  `deleteMeter` in interface `Registrar`

### deleteMeter

public void deleteMeter(String meterId)

Specified by:
  `deleteMeter` in interface `Registrar`

### validateCreditCard

public org.gitana.platform.services.billing.PaymentMethodValidation validateCreditCard(String holderName, String number, int expirationMonth, int expirationYear)

Specified by:
  `validateCreditCard` in interface `Registrar`

### validateCreditCard

public org.gitana.platform.services.billing.PaymentMethodValidation validateCreditCard(com.fasterxml.jackson.databind.node.ObjectNode object)

Specified by:
  `validateCreditCard` in interface `Registrar`