/** * {@inheritDoc} * * If you need both the table layout and a column name translator within a single short lived * operation, you should create the column name translator from this layout to ensure consistency. */ @Override public FijiTableLayout getLayout() { return mLayoutMonitor.getLayout(); }
/** {@inheritDoc} */ @Override public Registration registerLayoutConsumer(LayoutConsumer consumer) throws IOException { return mTableLayoutMonitor.registerLayoutConsumer(consumer); }
/** {@inheritDoc} */ @Override public Set<LayoutConsumer> getLayoutConsumers() { return mTableLayoutMonitor.getLayoutConsumers(); }
/** {@inheritDoc} */ @Override public void updateLayoutConsumers(FijiTableLayout layout) throws IOException { mTableLayoutMonitor.updateLayoutConsumers(layout); } }
/** {@inheritDoc} */ @Override public FijiTableLayout getLayout() { return mTableLayoutMonitor.getLayout(); }
/** * Register a layout consumer that must be updated before this table will report that it has * completed a table layout update. Sends the first update immediately before returning. * * @param consumer the LayoutConsumer to be registered. * @return a registration object which must be closed when layout updates are no longer needed. * @throws java.io.IOException in case of an error updating the LayoutConsumer. */ public Registration registerLayoutConsumer(LayoutConsumer consumer) throws IOException { final State state = mState.get(); Preconditions.checkState(state == State.OPEN, "Cannot register a new layout consumer to a FijiTable in state %s.", state); return mLayoutMonitor.registerLayoutConsumer(consumer); }
/** * {@inheritDoc} * If you need both the table layout and a column name translator within a single short lived * operation, you should create the column name translator directly from the returned layout. */ @Override public FijiTableLayout getLayout() { final State state = mState.get(); Preconditions.checkState(state == State.OPEN, "Cannot get the layout of a table in state %s.", state); return mLayoutMonitor.getLayout(); }
/** * Register a layout consumer that must be updated before this table will report that it has * completed a table layout update. Sends the first update immediately before returning. The * returned registration object must be closed when layout updates are no longer needed. * * @param consumer the LayoutConsumer to be registered. * @return a registration object which must be closed when layout updates are no longer needed. * @throws IOException in case of an error updating the LayoutConsumer. */ public Registration registerLayoutConsumer(LayoutConsumer consumer) throws IOException { final State state = mState.get(); Preconditions.checkState(state == State.OPEN, "Cannot register a new layout consumer to a FijiTable in state %s.", state); return mLayoutMonitor.registerLayoutConsumer(consumer); }
/** {@inheritDoc} */ @Override public String toString() { String layoutId = mState.get() == State.OPEN ? mLayoutMonitor.getLayout().getDesc().getLayoutId() : "unknown"; return Objects.toStringHelper(HBaseFijiTable.class) .add("id", System.identityHashCode(this)) .add("uri", mTableURI) .add("retain_counter", mRetainCount.get()) .add("layout_id", layoutId) .add("state", mState.get()) .toString(); }
mRowKeyFormat = (RowKeyFormat2) mLayoutMonitor.getLayout().getDesc().getKeysFormat(); mEntityIdFactory = EntityIdFactory.getFactory(mRowKeyFormat);
mEntityIdFactory = createEntityIdFactory(mLayoutMonitor.getLayout());