/*
* Copyright (c) 2004, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.jdbc2;
/**
* Implement this interface and register the its instance to ArrayAssistantRegistry, to let Postgres
* driver to support more array type
*
* @author Minglei Tu
*/
public interface ArrayAssistant {
/**
* get array base type
*
* @return array base type
*/
Class<?> baseType();
/**
* build a array element from its binary bytes
*
* @param bytes input bytes
* @param pos position in input array
* @param len length of the element
* @return array element from its binary bytes
*/
Object buildElement(byte[] bytes, int pos, int len);
/**
* build an array element from its literal string
*
* @param literal string representation of array element
* @return array element
*/
Object buildElement(String literal);
}