001 package org.trails.security;
002
003 import java.util.Date;
004
005 import javax.persistence.Entity;
006 import javax.persistence.GeneratedValue;
007 import javax.persistence.GenerationType;
008 import javax.persistence.Id;
009
010 import org.trails.descriptor.annotation.ClassDescriptor;
011
012 @Entity
013 @ClassDescriptor(hidden = true)
014 public class ExpiringKey {
015 private String name;
016 private String value;
017 private Date expiresAfter = new Date();
018 private Integer id;
019
020 ExpiringKey() {}
021
022 ExpiringKey(String name, String value, Date expiresAfter) {
023 this();
024 this.name = name;
025 this.value = value;
026 setExpiresAfter(expiresAfter);
027 }
028
029 /* (non-Javadoc)
030 * @see org.trails.security.ExpiringKey#getId()
031 */
032 @Id @GeneratedValue(strategy = GenerationType.AUTO)
033 public Integer getId() {
034 return id;
035 }
036
037 /* (non-Javadoc)
038 * @see org.trails.security.ExpiringKey#setId(java.lang.Integer)
039 */
040 public void setId(Integer id) {
041 this.id = id;
042 }
043
044 /* (non-Javadoc)
045 * @see org.trails.security.ExpiringKey#getValue()
046 */
047 public String getValue() {
048 return value;
049 }
050 /* (non-Javadoc)
051 * @see org.trails.security.ExpiringKey#setValue(java.lang.String)
052 */
053 public void setValue(String token) {
054 this.value = token;
055 }
056 /* (non-Javadoc)
057 * @see org.trails.security.ExpiringKey#getName()
058 */
059 public String getName() {
060 return name;
061 }
062 /* (non-Javadoc)
063 * @see org.trails.security.ExpiringKey#setName(java.lang.String)
064 */
065 public void setName(String name) {
066 this.name = name;
067 }
068
069 /* (non-Javadoc)
070 * @see org.trails.security.ExpiringKey#getExpiresAfter()
071 */
072 public Date getExpiresAfter() {
073 return expiresAfter;
074 }
075
076 /* (non-Javadoc)
077 * @see org.trails.security.ExpiringKey#setExpiresAfter(java.util.Date)
078 */
079 public void setExpiresAfter(Date expiresAfter) {
080 if (expiresAfter != null) this.expiresAfter = expiresAfter;
081 }
082 }