org.drools.task.query.TaskSummary Maven / Gradle / Ivy
/**
* Copyright 2010 JBoss Inc
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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 org.drools.task.query;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Date;
import org.drools.task.Status;
import org.drools.task.User;
public class TaskSummary
implements
Externalizable {
private long id;
private String name;
private String subject;
private String description;
private Status status;
private int priority;
private boolean skipable;
private User actualOwner;
private User createdBy;
private Date createdOn;
private Date activationTime;
private Date expirationTime;
public TaskSummary(long id,
String name,
String subject,
String description,
Status status,
int priority,
boolean skipable,
User actualOwner,
User createdBy,
Date createdOn,
Date activationTime,
Date expirationTime) {
super();
this.id = id;
this.name = name;
this.subject = subject;
this.description = description;
this.status = status;
this.priority = priority;
this.skipable = skipable;
this.actualOwner = actualOwner;
this.createdBy = createdBy;
this.createdOn = createdOn;
this.activationTime = activationTime;
this.expirationTime = expirationTime;
}
public TaskSummary() {
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeLong( id );
if ( name != null ) {
out.writeBoolean( true );
out.writeUTF( name );
} else {
out.writeBoolean( false );
}
if ( subject != null ) {
out.writeBoolean( true );
out.writeUTF( subject );
} else {
out.writeBoolean( false );
}
if ( description != null ) {
out.writeBoolean( true );
out.writeUTF( description );
} else {
out.writeBoolean( false );
}
if ( status != null ) {
out.writeBoolean( true );
out.writeUTF( status.toString() );
} else {
out.writeBoolean( false );
}
out.writeInt( priority );
out.writeBoolean( skipable );
if ( actualOwner != null ) {
out.writeBoolean( true );
actualOwner.writeExternal( out );
} else {
out.writeBoolean( false );
}
if ( createdBy != null ) {
out.writeBoolean( true );
createdBy.writeExternal( out );
} else {
out.writeBoolean( false );
}
if ( createdOn != null ) {
out.writeBoolean( true );
out.writeLong( createdOn.getTime() );
} else {
out.writeBoolean( false );
}
if ( activationTime != null ) {
out.writeBoolean( true );
out.writeLong( activationTime.getTime() );
} else {
out.writeBoolean( false );
}
if ( expirationTime != null ) {
out.writeBoolean( true );
out.writeLong( expirationTime.getTime() );
} else {
out.writeBoolean( false );
}
}
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
id = in.readLong();
if ( in.readBoolean() ) {
name = in.readUTF();
}
if ( in.readBoolean() ) {
subject = in.readUTF();
}
if ( in.readBoolean() ) {
description = in.readUTF();
}
if ( in.readBoolean() ) {
status = Status.valueOf( in.readUTF() );
}
priority = in.readInt();
skipable = in.readBoolean();
if ( in.readBoolean() ) {
actualOwner = new User();
actualOwner.readExternal( in );
}
if ( in.readBoolean() ) {
createdBy = new User();
createdBy.readExternal( in );
}
if ( in.readBoolean() ) {
createdOn = new Date( in.readLong() );
}
if ( in.readBoolean() ) {
activationTime = new Date( in.readLong() );
}
if ( in.readBoolean() ) {
expirationTime = new Date( in.readLong() );
}
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
public boolean isSkipable() {
return skipable;
}
public void setSkipable(boolean skipable) {
this.skipable = skipable;
}
public User getActualOwner() {
return actualOwner;
}
public void setActualOwner(User actualOwner) {
this.actualOwner = actualOwner;
}
public User getCreatedBy() {
return createdBy;
}
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Date getActivationTime() {
return activationTime;
}
public void setActivationTime(Date activationTime) {
this.activationTime = activationTime;
}
public Date getExpirationTime() {
return expirationTime;
}
public void setExpirationTime(Date expirationTime) {
this.expirationTime = expirationTime;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((activationTime == null) ? 0 : activationTime.hashCode());
result = prime * result + ((actualOwner == null) ? 0 : actualOwner.hashCode());
result = prime * result + ((createdBy == null) ? 0 : createdBy.hashCode());
result = prime * result + ((createdOn == null) ? 0 : createdOn.hashCode());
result = prime * result + ((description == null) ? 0 : description.hashCode());
result = prime * result + ((expirationTime == null) ? 0 : expirationTime.hashCode());
result = prime * result + (int) (id ^ (id >>> 32));
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + priority;
result = prime * result + (skipable ? 1231 : 1237);
result = prime * result + ((status == null) ? 0 : status.hashCode());
result = prime * result + ((subject == null) ? 0 : subject.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if ( this == obj ) return true;
if ( obj == null ) return false;
if ( !(obj instanceof TaskSummary) ) return false;
TaskSummary other = (TaskSummary) obj;
if ( activationTime == null ) {
if ( other.activationTime != null ) return false;
} else if ( activationTime.getTime() != other.activationTime.getTime() ) return false;
if ( actualOwner == null ) {
if ( other.actualOwner != null ) return false;
} else if ( !actualOwner.equals( other.actualOwner ) ) return false;
if ( createdBy == null ) {
if ( other.createdBy != null ) return false;
} else if ( !createdBy.equals( other.createdBy ) ) return false;
if ( createdOn == null ) {
if ( other.createdOn != null ) return false;
} else if ( createdOn.getTime() != other.createdOn.getTime() ) return false;
if ( description == null ) {
if ( other.description != null ) return false;
} else if ( !description.equals( other.description ) ) return false;
if ( expirationTime == null ) {
if ( other.expirationTime != null ) return false;
} else if ( expirationTime.getTime() != other.expirationTime.getTime() ) return false;
if ( name == null ) {
if ( other.name != null ) return false;
} else if ( !name.equals( other.name ) ) return false;
if ( priority != other.priority ) return false;
if ( skipable != other.skipable ) return false;
if ( status == null ) {
if ( other.status != null ) return false;
} else if ( !status.equals( other.status ) ) return false;
if ( subject == null ) {
if ( other.subject != null ) return false;
} else if ( !subject.equals( other.subject ) ) return false;
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy