001/* 002 * (C) Copyright 2009-2010 Nuxeo SA (http://nuxeo.com/). 003 * This is unpublished proprietary source code of Nuxeo SA. All rights reserved. 004 * Notice of copyright on this source code does not indicate publication. 005 * 006 * Contributors: 007 * Anahide Tchertchian 008 */ 009package org.nuxeo.ecm.platform.forms.layout.api.impl; 010 011import java.util.List; 012import java.util.Map; 013 014import org.nuxeo.ecm.platform.forms.layout.api.WidgetTypeConfiguration; 015import org.nuxeo.ecm.platform.forms.layout.api.WidgetTypeDefinition; 016 017/** 018 * Model for a widget type definition on client side. 019 * 020 * @author Anahide Tchertchian 021 * @since 5.4 022 */ 023public class WidgetTypeDefinitionImpl implements WidgetTypeDefinition { 024 025 private static final long serialVersionUID = 1L; 026 027 protected String name; 028 029 /** 030 * @since 6.0 031 */ 032 protected List<String> aliases; 033 034 protected String handlerClassName; 035 036 protected Map<String, String> properties; 037 038 protected WidgetTypeConfiguration configuration; 039 040 // needed by GWT serialization 041 public WidgetTypeDefinitionImpl() { 042 super(); 043 } 044 045 public WidgetTypeDefinitionImpl(String name, String handlerClassName, Map<String, String> properties, 046 WidgetTypeConfiguration configuration) { 047 super(); 048 this.name = name; 049 this.handlerClassName = handlerClassName; 050 this.properties = properties; 051 this.configuration = configuration; 052 } 053 054 @Override 055 public WidgetTypeConfiguration getConfiguration() { 056 return configuration; 057 } 058 059 @Override 060 public String getHandlerClassName() { 061 return handlerClassName; 062 } 063 064 @Override 065 public String getName() { 066 return name; 067 } 068 069 @Override 070 public Map<String, String> getProperties() { 071 return properties; 072 } 073 074 @Override 075 public List<String> getAliases() { 076 return aliases; 077 } 078 079 public void setAliases(List<String> aliases) { 080 this.aliases = aliases; 081 } 082 083 /** 084 * @since 7.2 085 */ 086 @Override 087 public boolean equals(Object obj) { 088 if (!(obj instanceof WidgetTypeDefinitionImpl)) { 089 return false; 090 } 091 if (obj == this) { 092 return true; 093 } 094 WidgetTypeDefinitionImpl w = (WidgetTypeDefinitionImpl) obj; 095 return new EqualsBuilder().append(name, w.name).append(aliases, w.aliases).append(handlerClassName, 096 w.handlerClassName).append(properties, w.properties).append(configuration, w.configuration).isEquals(); 097 } 098 099}