Package com.logicaldoc.core.metadata

# Interface Extensible

All Known Implementing Classes:
  `AbstractAttributeSet`, `AbstractDocument`, `AttributeSet`, `Document`, `ExtensibleObject`, `Fillable`, `Folder`, `Generic`, `Hit`, `Template`, `Version`

public interface Extensible
Interface to be implemented by those `PersistentObject`s that have extensible attribtues

Since:
  9.2
Author:
  Giuseppe Desiato - LogicalDOC

## Method Summary

Modifier and Type
Method
Description
`Attribute`
`getAttribute(String name)`
`Attribute`
`getAttributeAtPosition(int position)`
`List<String>`
`getAttributeNames()`
`List<String>`
`getAttributeNames(long setId)`
`Map<String,Attribute>`
`getAttributes()`
`Template`
`getTemplate()`
`Long`
`getTemplateId()`
`String`
`getTemplateName()`
`Object`
`getValue(String name)`
`List<Attribute>`
`getValueAttributes(String name)`
`List<Object>`
`getValues(String name)`
`void`
`removeAttribute(String name)`
`void`
`setAttribute(String name, Attribute attribute)`
Puts a new attribute, if the attribute already exists his position and label are left untouched
`void`
`setAttributes(Map<String,Attribute> attributes)`
`void`
`setTemplate(Template template)`
`void`
`setTemplateId(Long templateId)`
`void`
`setTemplateName(String templateName)`
`Attribute`
`setValue(String name, Object value)`
`List<Attribute>`
`setValues(String name, List<Object> values)`

## Method Details

### getAttributes

Map<String,Attribute> getAttributes()

### setAttributes

void setAttributes(Map<String,Attribute> attributes)

### getTemplateId

Long getTemplateId()

### setTemplateId

void setTemplateId(Long templateId)

### getTemplateName

String getTemplateName()

### setTemplateName

void setTemplateName(String templateName)

### getTemplate

Template getTemplate()

### setTemplate

void setTemplate(Template template)

### getValueAttributes

List<Attribute> getValueAttributes(String name)

### getValues

List<Object> getValues(String name)

### getValue

Object getValue(String name)

### getAttribute

Attribute getAttribute(String name)

### getAttributeNames

List<String> getAttributeNames()

### getAttributeNames

List<String> getAttributeNames(long setId)

### removeAttribute

void removeAttribute(String name)

### getAttributeAtPosition

Attribute getAttributeAtPosition(int position)

### setValues

List<Attribute> setValues(String name, List<Object> values)

### setAttribute

void setAttribute(String name, Attribute attribute)
Puts a new attribute, if the attribute already exists his position and label are left untouched

Parameters:
  `name` - name of the attribute
  `attribute` - the attribute instance

### setValue

Attribute setValue(String name, Object value)