/* * Copyright 2015 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.apiman.manager.api.exportimport.write; import io.apiman.manager.api.beans.apis.ApiBean; import io.apiman.manager.api.beans.apis.ApiVersionBean; import io.apiman.manager.api.beans.audit.AuditEntryBean; import io.apiman.manager.api.beans.clients.ClientBean; import io.apiman.manager.api.beans.clients.ClientVersionBean; import io.apiman.manager.api.beans.contracts.ContractBean; import io.apiman.manager.api.beans.gateways.GatewayBean; import io.apiman.manager.api.beans.idm.RoleBean; import io.apiman.manager.api.beans.idm.RoleMembershipBean; import io.apiman.manager.api.beans.idm.UserBean; import io.apiman.manager.api.beans.orgs.OrganizationBean; import io.apiman.manager.api.beans.plans.PlanBean; import io.apiman.manager.api.beans.plans.PlanVersionBean; import io.apiman.manager.api.beans.plugins.PluginBean; import io.apiman.manager.api.beans.policies.PolicyBean; import io.apiman.manager.api.beans.policies.PolicyDefinitionBean; import io.apiman.manager.api.exportimport.beans.MetadataBean; /** * * @author msavy */ public interface IExportWriter { // Metadata IExportWriter writeMetadata(MetadataBean metadata); // Users IExportWriter startUsers(); IExportWriter writeUser(UserBean user); IExportWriter endUsers(); // Role definitions IExportWriter startRoles(); IExportWriter writeRole(RoleBean role); IExportWriter endRoles(); // Plugins IExportWriter startPlugins(); IExportWriter writePlugin(PluginBean pb); IExportWriter endPlugins(); // Gateways IExportWriter startGateways(); IExportWriter writeGateway(GatewayBean gb); IExportWriter endGateways(); // Policy Definitions IExportWriter startPolicyDefs(); IExportWriter writePolicyDef(PolicyDefinitionBean policyDef); IExportWriter endPolicyDefs(); // ----------------------------------- // Orgs, apps, plans, APIs, etc... // ----------------------------------- IExportWriter startOrgs(); IExportWriter startOrg(OrganizationBean org); IExportWriter startMemberships(); IExportWriter writeMembership(RoleMembershipBean membership); IExportWriter endMemberships(); IExportWriter startPlans(); IExportWriter startPlan(PlanBean plan); IExportWriter startPlanVersions(); IExportWriter startPlanVersion(PlanVersionBean pvb); IExportWriter startPlanPolicies(); IExportWriter writePlanPolicy(PolicyBean policy); IExportWriter endPlanPolicies(); IExportWriter endPlanVersion(); IExportWriter endPlanVersions(); IExportWriter endPlan(); IExportWriter endPlans(); IExportWriter startApis(); IExportWriter startApi(ApiBean api); IExportWriter startApiVersions(); IExportWriter startApiVersion(ApiVersionBean svb); IExportWriter startApiPolicies(); IExportWriter writeApiPolicy(PolicyBean policy); IExportWriter endApiPolicies(); IExportWriter endApiVersion(); IExportWriter endApiVersions(); IExportWriter endApi(); IExportWriter endApis(); IExportWriter startClients(); IExportWriter startClient(ClientBean client); IExportWriter startClientVersions(); IExportWriter startClientVersion(ClientVersionBean avb); IExportWriter startClientPolicies(); IExportWriter writeClientPolicy(PolicyBean policy); IExportWriter endClientPolicies(); IExportWriter startClientContracts(); IExportWriter writeClientContract(ContractBean cb); IExportWriter endClientContracts(); IExportWriter endClientVersion(); IExportWriter endClientVersions(); IExportWriter endClient(); IExportWriter endClients(); IExportWriter startAudits(); IExportWriter writeAudit(AuditEntryBean ab); IExportWriter endAudits(); IExportWriter endOrg(); IExportWriter endOrgs(); void close(); }