Java tutorial
/* * * * * Copyright (c) 2015 Ivan Hristov * * <p/> * * 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 * * <p/> * * http://www.apache.org/licenses/LICENSE-2.0 * * <p/> * * 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 demo.domain; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.security.core.GrantedAuthority; import javax.annotation.concurrent.Immutable; import java.util.List; @Immutable public class Client { public static final String USERNAME = "username"; public static final String PASSWORD = "password"; public static final String ROLES = "roles"; @JsonProperty(USERNAME) private String username; @JsonProperty(PASSWORD) private String password; @JsonProperty(ROLES) @JsonSerialize(contentUsing = GrantedAuthoritySerializer.class) @JsonDeserialize(contentUsing = GrantedAuthorityDeserializer.class) private List<GrantedAuthority> roles; public String getUsername() { return username; } public String getPassword() { return password; } public List<GrantedAuthority> getRoles() { return roles; } @Override public String toString() { return new ToStringBuilder(this).append("username", username).append("password", password) .append("roles", roles).toString(); } }