001package org.kuali.rice.krms.dto; 002 003import org.kuali.rice.krms.api.repository.term.TermDefinitionContract; 004import org.kuali.rice.krms.api.repository.term.TermParameterDefinitionContract; 005import org.kuali.rice.krms.api.repository.term.TermSpecificationDefinition; 006import org.kuali.rice.krms.api.repository.term.TermSpecificationDefinitionContract; 007 008import java.io.Serializable; 009import java.util.ArrayList; 010import java.util.List; 011 012/** 013 * Created with IntelliJ IDEA. 014 * User: SW 015 * Date: 2013/03/05 016 * Time: 5:16 PM 017 * To change this template use File | Settings | File Templates. 018 */ 019public class TermEditor implements TermDefinitionContract, Serializable { 020 021 private String id; 022 private TermSpecificationDefinitionContract specification; 023 private String description; 024 private List<TermParameterEditor> parameters; 025 private Long versionNumber; 026 027 public TermEditor(){ 028 super(); 029 } 030 031 public TermEditor(TermDefinitionContract contract){ 032 this.id = contract.getId(); 033 //this.specification = contract.getSpecification(); 034 this.description = contract.getDescription(); 035 if(contract.getParameters() != null){ 036 parameters = new ArrayList<TermParameterEditor>(); 037 for (TermParameterDefinitionContract parameter : contract.getParameters()){ 038 parameters.add(new TermParameterEditor(parameter)); 039 } 040 } 041 this.setSpecification(contract.getSpecification()); 042 this.versionNumber = contract.getVersionNumber(); 043 } 044 045 public void setId(String id) { 046 this.id = id; 047 } 048 049 public void setSpecification(TermSpecificationDefinitionContract specification) { 050 this.specification = specification; 051 } 052 053 public void setDescription(String description) { 054 this.description = description; 055 } 056 057 public void setParameters(List<TermParameterEditor> parameters) { 058 this.parameters = parameters; 059 } 060 061 public void setVersionNumber(Long versionNumber) { 062 this.versionNumber = versionNumber; 063 } 064 065 @Override 066 public TermSpecificationDefinitionContract getSpecification() { 067 return this.specification; 068 } 069 070 @Override 071 public String getDescription() { 072 return this.description; 073 } 074 075 @Override 076 public List<? extends TermParameterDefinitionContract> getParameters() { 077 return this.parameters; 078 } 079 080 public List<TermParameterEditor> getEditorParameters() { 081 return this.parameters; 082 } 083 084 @Override 085 public String getId() { 086 return this.id; 087 } 088 089 @Override 090 public Long getVersionNumber() { 091 return this.versionNumber; 092 } 093}