/******************************************************************************* * Copyright (c) 2015 IBH SYSTEMS GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBH SYSTEMS GmbH - initial API and implementation *******************************************************************************/ package org.eclipse.packagedrone.repo.adapter.deb; import java.util.HashSet; import java.util.Set; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import org.eclipse.packagedrone.repo.MetaKeyBinding; import org.hibernate.validator.constraints.NotBlank; public class ChannelConfiguration { @MetaKeyBinding ( namespace = "apt", key = "origin" ) @Pattern ( regexp = "[\\p{Alnum}\\p{Space}]*" ) private String origin; @MetaKeyBinding ( namespace = "apt", key = "label" ) private String label; @MetaKeyBinding ( namespace = "apt", key = "suite" ) @Pattern ( regexp = "\\p{Alnum}*" ) private String suite; @MetaKeyBinding ( namespace = "apt", key = "version" ) @Pattern ( regexp = "[\\p{Alnum}\\.]*" ) private String version; @MetaKeyBinding ( namespace = "apt", key = "codename" ) @Pattern ( regexp = "\\p{Alnum}*" ) private String codename; @MetaKeyBinding ( namespace = "apt", key = "description" ) @Pattern ( regexp = "[^\\n\\r]*" ) private String description; @MetaKeyBinding ( namespace = "apt", key = "architectures", converterClass = SpaceJoiner.class ) @Size ( min = 1 ) private Set<String> architectures = new HashSet<> (); @MetaKeyBinding ( namespace = "apt", key = "distribution" ) @Pattern ( regexp = "\\p{Alnum}*" ) @NotBlank private String distribution; @MetaKeyBinding ( namespace = "apt", key = "signingService" ) private String signingService; @MetaKeyBinding ( namespace = "apt", key = "defaultComponent" ) @NotBlank @Pattern ( regexp = "\\p{Alnum}*" ) private String defaultComponent; public void setDefaultComponent ( final String defaultComponent ) { this.defaultComponent = defaultComponent; } public String getDefaultComponent () { return this.defaultComponent; } public void setSigningService ( final String signingService ) { this.signingService = signingService; } public String getSigningService () { return this.signingService; } public String getOrigin () { return this.origin; } public void setOrigin ( final String origin ) { this.origin = origin; } public String getLabel () { return this.label; } public String getLabel ( final String defaultValue ) { if ( this.label == null ) { return defaultValue; } return this.label; } public void setLabel ( final String label ) { this.label = label; } public String getSuite () { return this.suite; } public void setSuite ( final String suite ) { this.suite = suite; } public String getVersion () { return this.version; } public void setVersion ( final String version ) { this.version = version; } public String getCodename () { return this.codename; } public void setCodename ( final String codename ) { this.codename = codename; } public String getDescription () { return this.description; } public void setDescription ( final String description ) { this.description = description; } public Set<String> getArchitectures () { return this.architectures; } public void setArchitectures ( final Set<String> architectures ) { this.architectures = architectures; } public void setDistribution ( final String distribution ) { this.distribution = distribution; } public String getDistribution () { return this.distribution; } public boolean isValid () { if ( this.defaultComponent == null || this.defaultComponent.isEmpty () ) { return false; } if ( this.distribution == null || this.distribution.isEmpty () ) { return false; } return true; } }