/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.instruction; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.util.Arrays; import org.apache.commons.lang.StringUtils; /** * Created by IntelliJ IDEA. * User: rmh * Date: Oct 28, 2010 * Time: 9:15:51 PM */ public class CreateContentUrlInstruction extends PostProcessInstruction { private String contentKey = ""; private String[] params = new String[0]; private boolean createAsPermalink = false; public CreateContentUrlInstruction() { super( PostProcessInstructionType.CREATE_CONTENTURL ); } public void writeExternal( ObjectOutput out ) throws IOException { writeString( out, contentKey ); writeBoolean( out, createAsPermalink ); writeStringArray( out, params ); } public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException { contentKey = readString( in ); createAsPermalink = readBoolean( in ); params = readStringArray( in ); } public String[] getParams() { return params; } public void setParams( String[] params ) { if ( params != null ) { this.params = params; } } public String getContentKey() { return contentKey; } public void setContentKey( String contentKey ) { if ( StringUtils.isNotEmpty( contentKey ) ) { this.contentKey = contentKey; } } public boolean isCreateAsPermalink() { return createAsPermalink; } public void setCreateAsPermalink( boolean createAsPermalink ) { this.createAsPermalink = createAsPermalink; } @Override public boolean equals( Object o ) { if ( this == o ) { return true; } if ( o == null || getClass() != o.getClass() ) { return false; } CreateContentUrlInstruction that = (CreateContentUrlInstruction) o; if ( createAsPermalink != that.createAsPermalink ) { return false; } if ( contentKey != null ? !contentKey.equals( that.contentKey ) : that.contentKey != null ) { return false; } if ( !Arrays.equals( params, that.params ) ) { return false; } return true; } @Override public int hashCode() { int result = contentKey != null ? contentKey.hashCode() : 0; result = 31 * result + ( params != null ? Arrays.hashCode( params ) : 0 ); result = 31 * result + ( createAsPermalink ? 1 : 0 ); return result; } }