// Path: src/main/java/org/cleverframe/fastdfs/model/MateData.java
// public class MateData implements Serializable {
// 
//     private String name;
// 
//     private String value;
// 
//     public MateData() {
//     }
// 
//     public MateData(String name) {
//         this.name = name;
//     }
// 
//     public MateData(String name, String value) {
//         this.name = name;
//         this.value = value;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public String getValue() {
//         return this.value;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public void setValue(String value) {
//         this.value = value;
//     }
// 
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + ((name == null) ? 0 : name.hashCode());
//         result = prime * result + ((value == null) ? 0 : value.hashCode());
//         return result;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         MateData other = (MateData) obj;
//         if (name == null) {
//             if (other.name != null)
//                 return false;
//         } else if (!name.equals(other.name))
//             return false;
//         if (value == null) {
//             if (other.value != null)
//                 return false;
//         } else if (!value.equals(other.value))
//             return false;
//         return true;
//     }
// 
//     @Override
//     public String toString() {
//         return "NameValuePair [name=" + name + ", value=" + value + "]";
//     }
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/protocol/storage/request/GetMetadataRequest.java
// public class GetMetadataRequest extends BaseRequest {
//     /**
//      * 组名
//      */
//     @FastDFSColumn(index = 0, max = OtherConstants.FDFS_GROUP_NAME_MAX_LEN)
//     private String groupName;
// 
//     /**
//      * 路径名
//      */
//     @FastDFSColumn(index = 1, dynamicField = DynamicFieldType.allRestByte)
//     private String path;
// 
//     /**
//      * 删除文件命令
//      *
//      * @param groupName 组名
//      * @param path      文件路径
//      */
//     public GetMetadataRequest(String groupName, String path) {
//         super();
//         this.groupName = groupName;
//         this.path = path;
//         this.head = new ProtocolHead(CmdConstants.STORAGE_PROTO_CMD_GET_METADATA);
//     }
// 
//     public String getGroupName() {
//         return groupName;
//     }
// 
//     public void setGroupName(String groupName) {
//         this.groupName = groupName;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// 
//     public void setPath(String path) {
//         this.path = path;
//     }
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/protocol/storage/response/GetMetadataResponse.java
// public class GetMetadataResponse extends BaseResponse<Set<MateData>> {
// 
//     /**
//      * 解析反馈内容
//      */
//     @Override
//     public Set<MateData> decodeContent(InputStream in, Charset charset) throws IOException {
//         // 解析报文内容
//         byte[] bytes = new byte[(int) getContentLength()];
//         int contentSize = in.read(bytes);
//         if (contentSize != getContentLength()) {
//             throw new IOException("读取到的数据长度与协议长度不符");
//         }
//         return MetadataMapperUtils.fromByte(bytes, charset);
//     }
// }


import org.cleverframe.fastdfs.model.MateData;
import org.cleverframe.fastdfs.protocol.storage.request.GetMetadataRequest;
import org.cleverframe.fastdfs.protocol.storage.response.GetMetadataResponse;
import java.util.Set;
package org.cleverframe.fastdfs.protocol.storage;



/**
 * 作者：LiZW <br/>
 * 创建时间：2016/11/20 17:07 <br/>
 */
public class GetMetadataCommand extends StorageCommand<Set<MateData>> {

    /**
     * 设置文件标签(元数据)
     *
     * @param groupName 组名
     * @param path      文件路径
     */
    public GetMetadataCommand(String groupName, String path) {
        this.request = new GetMetadataRequest(groupName, path);
        // 输出响应
// Path: src/main/java/org/cleverframe/fastdfs/model/MateData.java
// public class MateData implements Serializable {
// 
//     private String name;
// 
//     private String value;
// 
//     public MateData() {
//     }
// 
//     public MateData(String name) {
//         this.name = name;
//     }
// 
//     public MateData(String name, String value) {
//         this.name = name;
//         this.value = value;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public String getValue() {
//         return this.value;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public void setValue(String value) {
//         this.value = value;
//     }
// 
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + ((name == null) ? 0 : name.hashCode());
//         result = prime * result + ((value == null) ? 0 : value.hashCode());
//         return result;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         MateData other = (MateData) obj;
//         if (name == null) {
//             if (other.name != null)
//                 return false;
//         } else if (!name.equals(other.name))
//             return false;
//         if (value == null) {
//             if (other.value != null)
//                 return false;
//         } else if (!value.equals(other.value))
//             return false;
//         return true;
//     }
// 
//     @Override
//     public String toString() {
//         return "NameValuePair [name=" + name + ", value=" + value + "]";
//     }
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/protocol/storage/request/GetMetadataRequest.java
// public class GetMetadataRequest extends BaseRequest {
//     /**
//      * 组名
//      */
//     @FastDFSColumn(index = 0, max = OtherConstants.FDFS_GROUP_NAME_MAX_LEN)
//     private String groupName;
// 
//     /**
//      * 路径名
//      */
//     @FastDFSColumn(index = 1, dynamicField = DynamicFieldType.allRestByte)
//     private String path;
// 
//     /**
//      * 删除文件命令
//      *
//      * @param groupName 组名
//      * @param path      文件路径
//      */
//     public GetMetadataRequest(String groupName, String path) {
//         super();
//         this.groupName = groupName;
//         this.path = path;
//         this.head = new ProtocolHead(CmdConstants.STORAGE_PROTO_CMD_GET_METADATA);
//     }
// 
//     public String getGroupName() {
//         return groupName;
//     }
// 
//     public void setGroupName(String groupName) {
//         this.groupName = groupName;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// 
//     public void setPath(String path) {
//         this.path = path;
//     }
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/protocol/storage/response/GetMetadataResponse.java
// public class GetMetadataResponse extends BaseResponse<Set<MateData>> {
// 
//     /**
//      * 解析反馈内容
//      */
//     @Override
//     public Set<MateData> decodeContent(InputStream in, Charset charset) throws IOException {
//         // 解析报文内容
//         byte[] bytes = new byte[(int) getContentLength()];
//         int contentSize = in.read(bytes);
//         if (contentSize != getContentLength()) {
//             throw new IOException("读取到的数据长度与协议长度不符");
//         }
//         return MetadataMapperUtils.fromByte(bytes, charset);
//     }
// }


// Path: src/main/java/org/cleverframe/fastdfs/protocol/storage/GetMetadataCommand.java
import org.cleverframe.fastdfs.model.MateData;
import org.cleverframe.fastdfs.protocol.storage.request.GetMetadataRequest;
import org.cleverframe.fastdfs.protocol.storage.response.GetMetadataResponse;
import java.util.Set;

package org.cleverframe.fastdfs.protocol.storage;



/**
 * 作者：LiZW <br/>
 * 创建时间：2016/11/20 17:07 <br/>
 */
public class GetMetadataCommand extends StorageCommand<Set<MateData>> {

    /**
     * 设置文件标签(元数据)
     *
     * @param groupName 组名
     * @param path      文件路径
     */
    public GetMetadataCommand(String groupName, String path) {
        this.request = new GetMetadataRequest(groupName, path);
        // 输出响应
        this.response = new GetMetadataResponse();